@woosmap/ui 3.49.0 → 3.54.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@woosmap/ui",
3
- "version": "3.49.0",
3
+ "version": "3.54.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/WebGeoServices/ui.git"
@@ -2,17 +2,17 @@
2
2
  import React, { Component } from 'react';
3
3
  import axios from 'axios';
4
4
  import cl from 'classnames';
5
- import GoogleMapReact from 'google-map-react';
6
5
  import Demo from './SkeletonDemo';
7
- import AddressAutocomplete from '../Woosmap/AddressAutocomplete';
8
- import Marker from '../Map/Marker';
9
6
  import Constants from '../../Constants';
10
- import { viewpoint } from '../Map/drawOnMap';
7
+ import { createWoosmapMap, WoosmapMapBoundingBox } from '../Map/drawOnMap';
11
8
  import Button from '../Button/Button';
12
9
  import ButtonGroup from '../Button/ButtonGroup';
13
10
  import CountrySelect from '../Select/CountrySelect';
14
11
  import { tr } from '../utils/locale';
15
12
  import Input from '../Input/Input';
13
+ import Script from '../utils/Script';
14
+ import markerIcon from '../../images/marker.png';
15
+ import AddressAutocomplete from '../Woosmap/AddressAutocomplete';
16
16
 
17
17
  const languages = [
18
18
  { value: 'fr', label: 'French' },
@@ -49,6 +49,11 @@ export default class AddressDemo extends Component {
49
49
  this.requestGeocodeUrl = 'https://api.woosmap.com/address/geocode/json';
50
50
  this.inputRef = React.createRef();
51
51
  this.addressAutocompleteRef = React.createRef();
52
+ this.demoRef = React.createRef();
53
+ }
54
+
55
+ componentDidMount() {
56
+ this.displayMap();
52
57
  }
53
58
 
54
59
  componentWillUnmount() {
@@ -80,9 +85,9 @@ export default class AddressDemo extends Component {
80
85
  };
81
86
  if (usecase === 'geocode') {
82
87
  // eslint-disable-next-line prefer-destructuring
83
- state.selectedLocality = response.data.results[0];
88
+ state.selectedAddress = response.data.results[0];
84
89
  }
85
- this.setState(state);
90
+ this.setState(state, this.displayOnMap);
86
91
  }
87
92
  })
88
93
  .catch((error) => {
@@ -107,12 +112,15 @@ export default class AddressDemo extends Component {
107
112
  })
108
113
  .then((response) => {
109
114
  if (this.mounted) {
110
- this.setState({
111
- error: null,
112
- showDetails: true,
113
- response: response.data.result,
114
- selectedLocality: response.data.result,
115
- });
115
+ this.setState(
116
+ {
117
+ error: null,
118
+ showDetails: true,
119
+ response: response.data.result,
120
+ selectedAddress: response.data.result,
121
+ },
122
+ this.displayOnMap
123
+ );
116
124
  }
117
125
  })
118
126
  .catch((error) => {
@@ -122,12 +130,10 @@ export default class AddressDemo extends Component {
122
130
  };
123
131
 
124
132
  getRequestparams = () => {
125
- const { input, geocodeInput, selectedLocality, language, countries, showDetails, usecase, geometry } =
126
- this.state;
133
+ const { input, geocodeInput, language, countries, showDetails, usecase, geometry } = this.state;
127
134
  if (showDetails) {
128
135
  const detailsParam = {
129
136
  key: Constants.woosmapKey,
130
- public_id: selectedLocality.public_id,
131
137
  };
132
138
  if (geometry) {
133
139
  detailsParam.fields = 'geometry';
@@ -154,14 +160,37 @@ export default class AddressDemo extends Component {
154
160
 
155
161
  displayOnMap = () => {
156
162
  const { selectedAddress } = this.state;
157
- if (this.viewport) {
158
- this.viewport.setMap(null);
159
- }
160
- if (this.map && selectedAddress) {
161
- if (selectedAddress.viewpoint) {
162
- this.viewport = viewpoint(this.map, selectedAddress.viewpoint);
163
- this.map.fitBounds(selectedAddress.viewpoint.bounds, 10);
163
+
164
+ if (this.map && selectedAddress?.geometry.location) {
165
+ if (this.marker) {
166
+ this.marker.setMap(null);
167
+ this.marker = null;
168
+ }
169
+
170
+ if (this.overlay) {
171
+ this.overlay.setMap(null);
172
+ this.overlay = null;
173
+ }
174
+
175
+ this.marker = new window.woosmap.map.Marker({
176
+ icon: { url: markerIcon, scaledSize: { height: 46, width: 30 } },
177
+ position: selectedAddress.geometry.location,
178
+ map: this.map,
179
+ });
180
+
181
+ if (selectedAddress.geometry.viewport) {
182
+ const { northeast, southwest } = selectedAddress.geometry.viewport;
183
+ const bounds = {
184
+ north: northeast.lat,
185
+ east: northeast.lng,
186
+ south: southwest.lat,
187
+ west: southwest.lng,
188
+ };
189
+ this.overlay = new WoosmapMapBoundingBox(bounds);
190
+ this.overlay.setMap(this.map);
191
+ this.map.fitBounds(bounds, { top: 70, bottom: 70, left: 70, right: 70 });
164
192
  } else {
193
+ this.map.setCenter(selectedAddress.geometry.location);
165
194
  this.map.setZoom(10);
166
195
  }
167
196
  }
@@ -171,7 +200,7 @@ export default class AddressDemo extends Component {
171
200
  this.setState(
172
201
  {
173
202
  error: null,
174
- selectedLocality: address,
203
+ selectedAddress: address,
175
204
  },
176
205
  this.requestAddress
177
206
  );
@@ -194,7 +223,7 @@ export default class AddressDemo extends Component {
194
223
  key="autocomplete"
195
224
  active={usecase === 'autocomplete'}
196
225
  onClick={() => {
197
- this.setState({ usecase: 'autocomplete', selectedLocality: null, showDetails: false });
226
+ this.setState({ usecase: 'autocomplete', selectedAddress: null, showDetails: false });
198
227
  }}
199
228
  label={tr('Autocomplete')}
200
229
  />
@@ -203,7 +232,7 @@ export default class AddressDemo extends Component {
203
232
  key="geocode"
204
233
  active={usecase === 'geocode'}
205
234
  onClick={() => {
206
- this.setState({ usecase: 'geocode', selectedLocality: null, showDetails: false });
235
+ this.setState({ usecase: 'geocode', selectedAddress: null, showDetails: false });
207
236
  }}
208
237
  label={tr('Geocode')}
209
238
  />
@@ -296,14 +325,14 @@ export default class AddressDemo extends Component {
296
325
  };
297
326
 
298
327
  renderAddress = () => {
299
- const { selectedLocality, geometry } = this.state;
328
+ const { selectedAddress, geometry } = this.state;
300
329
  if (geometry) {
301
330
  return null;
302
331
  }
303
332
  let addressComponents = [];
304
- const hasComponents = selectedLocality && selectedLocality.address_components;
333
+ const hasComponents = selectedAddress && selectedAddress.address_components;
305
334
  if (hasComponents) {
306
- addressComponents = selectedLocality.address_components;
335
+ addressComponents = selectedAddress.address_components;
307
336
  }
308
337
  let shippingAddress = '';
309
338
  let shippingAddress2 = '';
@@ -393,29 +422,17 @@ export default class AddressDemo extends Component {
393
422
  );
394
423
  };
395
424
 
396
- renderMap = () => {
397
- const { selectedLocality } = this.state;
425
+ displayMap = () => {
426
+ if (this.timeoutMap) {
427
+ clearTimeout(this.timeoutMap);
428
+ }
398
429
 
399
- const location =
400
- selectedLocality && selectedLocality.geometry
401
- ? selectedLocality.geometry.location
402
- : { lat: 48.863350992156306, lng: 2.3484066674237796 };
403
- const marker =
404
- selectedLocality && selectedLocality.geometry ? <Marker lat={location.lat} lng={location.lng} /> : null;
405
- return (
406
- <GoogleMapReact
407
- defaultZoom={10}
408
- center={[location.lat, location.lng]}
409
- bootstrapURLKeys={{ key: Constants.gmapKey, libraries: ['geometry', 'places'] }}
410
- yesIWantToUseGoogleMapApiInternals
411
- onGoogleApiLoaded={({ map }) => {
412
- this.map = map;
413
- this.displayOnMap();
414
- }}
415
- >
416
- {marker}
417
- </GoogleMapReact>
418
- );
430
+ if (window.woosmap && window.woosmap.map && this.demoRef.current) {
431
+ window.woosmap.map.config.setApiKey(Constants.woosmapKey);
432
+ this.map = createWoosmapMap(this.demoRef.current.getMap());
433
+ } else {
434
+ this.timeoutMap = setTimeout(this.displayMap, 300);
435
+ }
419
436
  };
420
437
 
421
438
  render() {
@@ -429,19 +446,23 @@ export default class AddressDemo extends Component {
429
446
  }
430
447
  }
431
448
  return (
432
- <Demo
433
- noheader
434
- id="address-demo"
435
- className="demo--address"
436
- footerFilters={this.renderFooterFilters()}
437
- headerFilters={this.renderHeaderFilters()}
438
- request={request}
439
- params={this.getRequestparams()}
440
- referer="http://localhost/"
441
- response={error || response}
442
- result={this.renderAddress()}
443
- map={this.renderMap()}
444
- />
449
+ <>
450
+ <Script url="https://sdk.woosmap.com/map/map.js" />
451
+ <Demo
452
+ noheader
453
+ id="address-demo"
454
+ className="demo--address"
455
+ footerFilters={this.renderFooterFilters()}
456
+ headerFilters={this.renderHeaderFilters()}
457
+ request={request}
458
+ params={this.getRequestparams()}
459
+ referer="http://localhost/"
460
+ response={error || response}
461
+ result={this.renderAddress()}
462
+ ref={this.demoRef}
463
+ withMap
464
+ />
465
+ </>
445
466
  );
446
467
  }
447
468
  }
@@ -68,18 +68,17 @@
68
68
  .merchant__mobile--details--dirty &
69
69
  opacity 1
70
70
  &__button
71
- &.btn
72
- sq(3)
73
- position absolute
74
- background-color transparent
75
- left -.6rem
76
- padding 0
77
- display flex
78
- align-items center
79
- justify-content center
80
- flex-shrink 0
81
- &:hover
82
- background-color $dark30
71
+ sq(3)
72
+ position absolute
73
+ background-color transparent
74
+ left -.6rem
75
+ padding 0
76
+ display flex
77
+ align-items center
78
+ justify-content center
79
+ flex-shrink 0
80
+ &:hover
81
+ background-color $dark30
83
82
 
84
83
  &__section
85
84
  padding 1.4rem 2rem
@@ -14,6 +14,7 @@ export default class Tooltip extends Component {
14
14
  noDelay && 'tooltipped-no-delay',
15
15
  wrap && 'tooltipped-multiline'
16
16
  );
17
+ delete rest.closeCb; // Avoid none DOM props
17
18
  return (
18
19
  <div aria-label={text} data-testid={testId} {...rest} className={classes}>
19
20
  {children}
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 70"><rect width="70" height="70" fill="none"/><path d="M56.094,6.994H13.906A6.919,6.919,0,0,0,7,13.905V56.1a6.919,6.919,0,0,0,6.911,6.911H56.094A6.919,6.919,0,0,0,63.005,56.1V13.905A6.919,6.919,0,0,0,56.094,6.994ZM54.948,29.311c0,.019-.011.036-.011.056v6.609H42.9V29.311Zm1.978,0h4.079v6.665H56.937V29.367C56.937,29.347,56.927,29.33,56.926,29.311Zm4.079-15.406V27.311H51.386V14.9a1,1,0,0,0-2,0V27.311H41.9a1,1,0,0,0-1,1v8.665a1,1,0,0,0,1,1h19.1v7.363H41.9a1,1,0,0,0-1,1V61.006H29.235V40.938a1,1,0,0,0-1-1H8.995V28.794H23.908a1,1,0,0,0,1-1V8.994H34v8.9a1,1,0,0,0,1,1h6.33a1,1,0,0,0,1-1v-8.9H56.094A4.916,4.916,0,0,1,61.005,13.905ZM42.9,55.172h6.485v5.834H42.9Zm6.485-2H42.9V47.339h6.485ZM18.817,41.938h8.418v9.57H18.817ZM8.995,20.031H22.908v6.763H8.995Zm31.335-11V16.9H36V9.026ZM13.906,8.994h9v9.037H8.995V13.905A4.916,4.916,0,0,1,13.906,8.994ZM8.995,56.1V41.938h7.822v10.57a1,1,0,0,0,1,1h9.418v7.5H13.906A4.916,4.916,0,0,1,8.995,56.1Zm47.1,4.911H51.386V47.339h9.619V56.1A4.916,4.916,0,0,1,56.094,61.006Z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 70 70"><path d="M56.094 6.994H13.906A6.919 6.919 0 0 0 7 13.905V56.1a6.919 6.919 0 0 0 6.911 6.911h42.183a6.919 6.919 0 0 0 6.911-6.911V13.905a6.919 6.919 0 0 0-6.911-6.911Zm-1.146 22.317c0 .019-.011.036-.011.056v6.609H42.9v-6.665Zm1.978 0h4.079v6.665h-4.068v-6.609c0-.02-.01-.037-.011-.056Zm4.079-15.406v13.406h-9.619V14.9a1 1 0 0 0-2 0v12.411H41.9a1 1 0 0 0-1 1v8.665a1 1 0 0 0 1 1H61v7.363H41.9a1 1 0 0 0-1 1v14.667H29.235V40.938a1 1 0 0 0-1-1H8.995V28.794h14.913a1 1 0 0 0 1-1v-18.8H34v8.9a1 1 0 0 0 1 1h6.33a1 1 0 0 0 1-1v-8.9h13.764a4.916 4.916 0 0 1 4.911 4.911ZM42.9 55.172h6.485v5.834H42.9Zm6.485-2H42.9v-5.833h6.485ZM18.817 41.938h8.418v9.57h-8.418ZM8.995 20.031h13.913v6.763H8.995Zm31.335-11V16.9H36V9.026Zm-26.424-.037h9v9.037H8.995v-4.126a4.916 4.916 0 0 1 4.911-4.911ZM8.995 56.1V41.938h7.822v10.57a1 1 0 0 0 1 1h9.418v7.5H13.906A4.916 4.916 0 0 1 8.995 56.1Zm47.1 4.911h-4.709V47.339h9.619V56.1a4.916 4.916 0 0 1-4.911 4.906Z"/></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.653 8.293c.688-.243.76-1.135.517-1.823s-1.136-.759-1.823-.516-.76 1.136-.517 1.823 1.136.759 1.823.516Zm0 4.877c.688-.244.76-1.136.517-1.823s-1.136-.76-1.823-.517-.76 1.136-.517 1.823 1.136.76 1.823.517Zm0 4.876c.688-.243.76-1.136.517-1.823s-1.136-.759-1.823-.516-.76 1.135-.517 1.823 1.136.759 1.823.516Z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12.653 8.293c.688-.243.76-1.135.517-1.823s-1.136-.759-1.823-.516-.76 1.136-.517 1.823 1.136.759 1.823.516ZM12.653 13.17c.688-.244.76-1.136.517-1.823s-1.136-.76-1.823-.517-.76 1.136-.517 1.823 1.136.76 1.823.517ZM12.653 18.046c.688-.243.76-1.136.517-1.823s-1.136-.759-1.823-.516-.76 1.135-.517 1.823 1.136.759 1.823.516Z"/></svg>
@@ -0,0 +1,210 @@
1
+ .merchant
2
+ &__mobilewrapper
3
+ position relative
4
+ height 58.2rem
5
+ overflow hidden
6
+ flex-grow 1
7
+ &__mobilecontainer
8
+ position relative
9
+ height 100%
10
+ width 28rem
11
+ margin auto
12
+ &__title
13
+ text-align center
14
+ color $light
15
+ font-size 1.7rem
16
+ font-weight 600
17
+ margin 1rem 0 2rem 0
18
+ &__mobile
19
+ width 100%
20
+ height 52.9rem
21
+ background-color $light
22
+ br(2)
23
+ overflow hidden
24
+ &--dirty
25
+ &--details--dirty
26
+ .merchant__mobile__header
27
+ background #666767
28
+ &--clean
29
+ &--details
30
+ .merchant__mobile__header
31
+ background #4F70FF
32
+ &--details
33
+ height 52.9rem
34
+ &__header
35
+ padding 1.6rem
36
+ color #fff
37
+ text-transform uppercase
38
+ font-size 1.7rem
39
+ font-weight 600
40
+ &__nav
41
+ &__icons
42
+ flexSpread()
43
+ &__icons
44
+ img
45
+ max-height 1.2rem
46
+ &__nav
47
+ margin-top 2rem
48
+ position relative
49
+ .merchant__mobile--details &
50
+ .merchant__mobile--details--dirty &
51
+ flexAxis()
52
+ &__avatar
53
+ max-width 3.2rem
54
+ &__back
55
+ max-width 1.4rem
56
+ opacity 0
57
+ .merchant__mobile--details &
58
+ .merchant__mobile--details--dirty &
59
+ opacity 1
60
+ &__button
61
+ position absolute
62
+ background-color transparent
63
+ left -1.2rem
64
+ &:hover
65
+ background-color $dark30
66
+
67
+ &__section
68
+ font-size 1.5rem
69
+ padding 1.4rem 2rem
70
+ height 100%
71
+ overflow auto
72
+ .merchant__mobile--details &
73
+ padding 0
74
+ .merchant__mobile--details--dirty &
75
+ border .1rem solid $dark20
76
+ background-color $dark3
77
+ margin 2rem
78
+ br(1)
79
+ height auto
80
+ overflow hidden
81
+ &__map
82
+ overflow hidden
83
+ height 20rem
84
+ &__no-map
85
+ height 6rem
86
+ &__date
87
+ color #C8C8C7
88
+ font-size 1.4rem
89
+ margin-bottom 1.6rem
90
+ .merchant__mobile--details &
91
+ .merchant__mobile--details--dirty &
92
+ text-align center
93
+ margin .4rem 0 0 0
94
+ .merchant__mobile--details--dirty &
95
+ margin 0 0 2rem 0
96
+ &__transaction
97
+ flexSpread()
98
+ br(1)
99
+ trans()
100
+ cursor pointer
101
+ height 6.2rem
102
+ padding .8rem
103
+ box-shadow 0 0 1rem $dark10
104
+ width 100%
105
+ margin-bottom 1.2rem
106
+ &:hover
107
+ background-color #666767
108
+ .merchant__mobile--clean &
109
+ background-color #4F70FF
110
+ .merchant__mobile__section__transaction
111
+ &__link
112
+ color $light
113
+ &__info
114
+ &__name
115
+ color $light
116
+ &__date
117
+ color $light50
118
+ &__price
119
+ color $light
120
+ &__link
121
+ color #999
122
+ margin 0 .6rem 0 1.4rem
123
+ img
124
+ max-width .7rem
125
+ &__info
126
+ width 100%
127
+ min-width 0
128
+ margin-right 1.2rem
129
+ .merchant__mobile--clean &
130
+ flexMiddle()
131
+ .merchant__mobile--details &
132
+ margin 0
133
+ &__address
134
+ padding 1rem 2rem
135
+ color#999
136
+ text-align center
137
+ &__logo
138
+ sq(4.6)
139
+ br(50)
140
+ position relative
141
+ margin-right 1.2rem
142
+ flex-shrink 0
143
+ .merchant__mobile--details &
144
+ width 100%
145
+ height 5rem
146
+ img
147
+ ellipsis()
148
+ br(50)
149
+ sq(4.6)
150
+ background #fff
151
+ border .1rem solid #f1f1f1
152
+ box-shadow 0 0 .6rem $dark10
153
+
154
+ .merchant__mobile--details &
155
+ sq(8)
156
+ position absolute
157
+ left calc(50% - 4rem)
158
+ top -4rem
159
+ box-shadow 0 0 1rem $dark25
160
+ border .3rem solid #fff
161
+ &__name
162
+ ellipsis()
163
+ font-weight 500
164
+ .merchant__mobile--details &
165
+ .merchant__mobile--details--dirty &
166
+ text-align center
167
+ font-size 2rem
168
+ &__date
169
+ color #7E7F7F
170
+ font-size 1.2rem
171
+ &__price
172
+ font-weight 600
173
+ .merchant__mobile--details &
174
+ .merchant__mobile--details--dirty &
175
+ margin-top 1rem
176
+ font-size 5rem
177
+ line-height 1
178
+ text-align center
179
+ font-weight 400
180
+ .merchant__mobile--details--dirty &
181
+ font-size 3.5rem
182
+ @media screen and (max-width 720px)
183
+ .merchant
184
+ &__mobile
185
+ &--dirty
186
+ border 1rem solid #666767
187
+ &--clean
188
+ border 1rem solid $primary
189
+
190
+ @media screen and (max-width 660px)
191
+ .merchant
192
+ &__mobilewrapper
193
+ margin-right 0 !important
194
+ @media screen and (max-width 370px)
195
+ .merchant
196
+ &__mobilewrapper
197
+ width 100%
198
+ &__mobilecontainer
199
+ width 100%
200
+ &__title
201
+ color #454545
202
+ &__mobile__section__transaction
203
+ font-size 85%
204
+ @media screen and (max-width 350px)
205
+ .merchant
206
+ &__mobile__section__transaction__info__logo
207
+ &__mobile__section__transaction__info__logo img
208
+ sq(3.6)
209
+
210
+
@@ -1 +1 @@
1
- @import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap')
1
+ @import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Roboto+Mono:wght@400;600&display=swap')
@@ -1,8 +1,8 @@
1
1
  // Common styles - Don't change order
2
+ @import "./website/fonts.styl"
2
3
  @import "./commons/reset.styl"
3
4
 
4
5
  // Specicif style - Do not change order
5
- @import "./website/fonts.styl"
6
6
  @import "./website/mixins.styl"
7
7
  @import "./website/variables.styl"
8
8
  @import "./website/colors.styl"
@@ -85,8 +85,89 @@
85
85
  &:disabled
86
86
  &:hover
87
87
  background-color $primary
88
+ &.btn--default
89
+ position inherit
90
+ &.btn--white
91
+ color $secondary
92
+ background-color $light
93
+ border .1rem solid $inputBorderColor
94
+ text-shadow unset
95
+ .icon
96
+ fill $secondary
97
+ &:disabled
98
+ &:hover
99
+ color $secondary
100
+ background-color $light
101
+ border .1rem solid $inputBorderColor
102
+ &:hover
103
+ textShadow()
104
+ color $light
105
+ border-color $linkColorHover
106
+ &.btn--color1
107
+ background-color $logo1
108
+ &:disabled
109
+ &:hover
110
+ background-color $logo1
111
+ &.btn--color2
112
+ background-color $logo2
113
+ &:disabled
114
+ &:hover
115
+ background-color $logo2
116
+
117
+ &.btn--color3
118
+ background-color $logo3
119
+ &:disabled
120
+ &:hover
121
+ background-color $logo3
122
+
123
+ &.btn--color4
124
+ background-color $logo4
125
+ &:disabled
126
+ &:hover
127
+ background-color $logo4
128
+
129
+ &.btn--color5
130
+ background-color $logo5
131
+ &:disabled
132
+ &:hover
133
+ background-color $logo5
134
+
135
+ &.btn--color6
136
+ background-color $logo6
137
+ &:disabled
138
+ &:hover
139
+ background-color $logo6
140
+
141
+ &.btn--color7
142
+ background-color $logo7
143
+ &:disabled
144
+ &:hover
145
+ background-color $logo7
146
+
147
+ &.btn--color8
148
+ background-color $logo8
149
+ &:disabled
150
+ &:hover
151
+ background-color $logo8
152
+ &:hover
153
+ background-color $success2
154
+ .section--dark .article &
155
+ .section--light .article &
156
+ .section--white .article &
157
+ .section--dark .for-colored-cta &
158
+ .section--light .for-colored-cta &
159
+ .section--white .for-colored-cta &
160
+ background-color $primary
161
+ border unset
162
+ color $light
163
+ &:disabled
164
+ &:hover
165
+ background-color $primary
166
+ &:hover
167
+ background-color $linkColorHover
88
168
  &:hover
89
169
  background-color $linkColorHover
170
+
90
171
  &--important
91
172
  background-color $error
92
173
  &:disabled
@@ -108,9 +189,107 @@
108
189
  flex-shrink 0
109
190
  .icon
110
191
  flex-shrink 0
192
+ &.btn--white
193
+ position inherit
194
+ &.btn--color1
195
+ textShadow()
196
+ color $light
197
+ background-color $logo1
198
+ border-color $logo1
199
+ &:disabled
200
+ &:hover
201
+ background-color $logo1
202
+ &.btn--color2
203
+ textShadow()
204
+ color $light
205
+ background-color $logo2
206
+ border-color $logo2
207
+ &:disabled
208
+ &:hover
209
+ background-color $logo2
210
+
211
+ &.btn--color3
212
+ textShadow()
213
+ color $light
214
+ background-color $logo3
215
+ border-color $logo3
216
+ &:disabled
217
+ &:hover
218
+ background-color $logo3
219
+
220
+ &.btn--color4
221
+ textShadow()
222
+ color $light
223
+ background-color $logo4
224
+ border-color $logo4
225
+ &:disabled
226
+ &:hover
227
+ background-color $logo4
228
+
229
+ &.btn--color5
230
+ textShadow()
231
+ color $light
232
+ background-color $logo5
233
+ border-color $logo5
234
+ &:disabled
235
+ &:hover
236
+ background-color $logo5
237
+
238
+ &.btn--color6
239
+ textShadow()
240
+ color $light
241
+ background-color $logo6
242
+ border-color $logo6
243
+ &:disabled
244
+ &:hover
245
+ background-color $logo6
246
+
247
+ &.btn--color7
248
+ textShadow()
249
+ color $light
250
+ background-color $logo7
251
+ border-color $logo7
252
+ &:disabled
253
+ &:hover
254
+ background-color $logo7
255
+
256
+ &.btn--color8
257
+ textShadow()
258
+ color $light
259
+ background-color $logo8
260
+ border-color $logo8
261
+ &:disabled
262
+ &:hover
263
+ background-color $logo8
264
+ &:hover
265
+ background-color $success2
266
+ .section--dark .article &
267
+ .section--light .article &
268
+ .section--white .article &
269
+ .section--dark .for-colored-cta &
270
+ .section--light .for-colored-cta &
271
+ .section--white .for-colored-cta &
272
+ color $secondary
273
+ background-color $light
274
+ border .1rem solid $inputBorderColor
275
+ text-shadow unset
276
+ .icon
277
+ fill $secondary
278
+ &:disabled
279
+ &:hover
280
+ color $secondary
281
+ background-color $light
282
+ border .1rem solid $inputBorderColor
283
+ &:hover
284
+ textShadow()
285
+ color $light
286
+ border-color $linkColorHover
287
+ background-color $linkColorHover
288
+
111
289
  &:hover
112
290
  border-color $linkColorHover
113
291
  background-color $linkColorHover
292
+
114
293
  &.btn--loading
115
294
  &:hover
116
295
  background-color transparent
@@ -122,14 +301,13 @@
122
301
  &:disabled
123
302
  opacity .4
124
303
  cursor default
125
- &:disabled
126
- &:hover
127
- opacity .4
128
- background-color transparent
129
- color $secondary
130
- border-color $inputBorderColor
131
- .icon
132
- fill $secondary
304
+ &:hover
305
+ opacity .4
306
+ background-color transparent
307
+ color $secondary
308
+ border-color $inputBorderColor
309
+ .icon
310
+ fill $secondary
133
311
  &--inverse
134
312
  btn()
135
313
  background-color transparent
@@ -231,7 +409,7 @@
231
409
  rigth -.3rem
232
410
  &--link-flex
233
411
  &--link-flex-info
234
- display flex
412
+ display inline-flex
235
413
  align-items center
236
414
  &.btn--no-label
237
415
  display flex
@@ -255,15 +433,110 @@
255
433
  fill $primary
256
434
  &--link
257
435
  &--link-flex
258
- &.btn--light-color
259
- color $secondary-medium40
436
+ .article &
437
+ .wcard &
438
+ .paragraph &
439
+ color $linkColor
440
+ .icon
441
+ fill $linkColor
442
+
443
+ &.btn--default
444
+ position inherit
445
+
446
+ &.btn--white
447
+ color $light
448
+ text-decoration underline
449
+ .icon
450
+ fill $light
451
+ &:disabled
452
+ &:hover
453
+ color $light
454
+
455
+ &.btn--color1
456
+ color $logo1
457
+ .icon
458
+ fill $logo1
459
+ &:disabled
460
+ &:hover
461
+ color $logo1
462
+
463
+ &.btn--color2
464
+ color $logo2
465
+ .icon
466
+ fill $logo2
467
+ &:disabled
468
+ &:hover
469
+ color $logo2
470
+
471
+ &.btn--color3
472
+ color $logo3
473
+ .icon
474
+ fill $logo3
475
+ &:disabled
476
+ &:hover
477
+ color $logo3
478
+
479
+ &.btn--color4
480
+ color $logo4
481
+ .icon
482
+ fill $logo4
483
+ &:disabled
484
+ &:hover
485
+ color $logo4
486
+
487
+ &.btn--color5
488
+ color $logo5
489
+ .icon
490
+ fill $logo5
491
+ &:disabled
492
+ &:hover
493
+ color $logo5
494
+
495
+ &.btn--color6
496
+ color $logo6
260
497
  .icon
261
- trans()
262
- fill $secondary-medium40
498
+ fill $logo6
499
+ &:disabled
500
+ &:hover
501
+ color $logo6
502
+
503
+ &.btn--color7
504
+ color $logo7
505
+ .icon
506
+ fill $logo7
507
+ &:disabled
508
+ &:hover
509
+ color $logo7
510
+
511
+ &.btn--color8
512
+ color $logo8
513
+ .icon
514
+ fill $logo8
515
+ &:disabled
516
+ &:hover
517
+ color $logo8
263
518
  &:hover
264
- color $primary
265
- .icon
266
- fill $primary
519
+ color $success2
520
+
521
+ .section--dark .article &
522
+ text-decoration none
523
+ color $linkColorLight
524
+ .icon
525
+ fill $linkColorLight
526
+
527
+ .section--light .article &
528
+ .section--white .article &
529
+ text-decoration none
530
+ color $linkColor
531
+ .icon
532
+ fill $linkColor
533
+
534
+ &:hover
535
+ text-decoration none
536
+ color $linkColorHover !important
537
+ .icon
538
+ fill $linkColorHover !important
539
+
267
540
  &--link-primary
268
541
  color $primary
269
542
  .icon
@@ -336,3 +336,7 @@ $mappingDark = #96503A
336
336
  $showcases = #68668E
337
337
  $showcases10 = rgba($showcases, .1)
338
338
  $showcasesDark = #444177
339
+
340
+ $indoor = #B7B38B
341
+ $indoor10 = rgba($indoor, .1)
342
+ $indoorDark = #77735A