groundfloor-react-ui 1.0.2 → 1.0.3

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.
@@ -15,6 +15,7 @@ const StyledOutsideContainer = styled.div`
15
15
  padding:28px 30.5px 28px 30.5px;
16
16
  font-family: 'Averta', sans-serif;
17
17
  cursor: default;
18
+ width:inherit;
18
19
  ${({ footerWidth }) => {
19
20
  if (footerWidth < 650) {
20
21
  return css`
@@ -1,20 +1,16 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import styled from 'styled-components';
4
- import Select, { components } from 'react-select';
4
+ import Select, { components } from "react-select";
5
5
  import defaultThemeColor from '../constants/defaultThemeColor';
6
6
  import defaultStyles from '../constants/defaultStyle';
7
7
  import getDefaultStyles from '../constants/utils';
8
8
  import { Label } from '../Label';
9
- import { Icon } from '../Icon';
9
+ import { Icon } from "../Icon";
10
+ // import { LoadingIndicatorProps } from 'react-select';
10
11
 
11
12
  const Wrapper = styled.div`
12
13
 
13
-
14
-
15
-
16
-
17
-
18
14
  .master-dropdown,
19
15
  .new-select {
20
16
  .master-dropdown__menu,
@@ -60,10 +56,8 @@ const Wrapper = styled.div`
60
56
 
61
57
  .master-dropdown__control,
62
58
  .new-select__control {
63
- border:${({ isValid }) =>
64
- !isValid
65
- ? '0.5px solid ' + defaultThemeColor.ui['error']
66
- : '0.5px solid ' + defaultThemeColor.neutral['neutral-4']};
59
+ border:${({ isValid, }) => !isValid ? '0.5px solid ' + defaultThemeColor.ui['error'] :
60
+ '0.5px solid ' + defaultThemeColor.neutral['neutral-4']};
67
61
  }
68
62
 
69
63
  .master-dropdown__option,
@@ -89,10 +83,7 @@ const Wrapper = styled.div`
89
83
 
90
84
  .new-select__control:hover,
91
85
  .new-select__control--is-focused {
92
- border: ${({ isValid }) =>
93
- !isValid
94
- ? '0.5px solid ' + defaultThemeColor.ui['error']
95
- : '0.5px solid ' + defaultThemeColor.primary['primary-1']};
86
+ border: ${({ isValid, }) => !isValid ? '0.5px solid ' + defaultThemeColor.ui['error'] : '0.5px solid ' + defaultThemeColor.primary['primary-1']};
96
87
  box-shadow: none;
97
88
  }
98
89
 
@@ -155,70 +146,66 @@ const Wrapper = styled.div`
155
146
  .new-select__menu {
156
147
  z-Index: 2;
157
148
  }
158
- .css-1n10ic4-Input {
159
- margin: 0px;
160
- padding:0px
149
+
150
+ .new-select__input-container{
151
+ margin:0px;
152
+ padding:0px;
161
153
  }
162
-
163
- `;
154
+ .new-select__input{
155
+ margin:0px;
156
+ padding:0px;
157
+ }
158
+ `
159
+
164
160
 
165
161
  const LabelWrapper = styled.div`
166
- // Default style
167
- display: flex;
162
+
163
+ // Default style
164
+ display: flex;
165
+
168
166
 
169
167
  //Set the styles from the default styles object
170
- ${({ theme, labelWrapperStyle }) => {
168
+ ${({ theme, labelWrapperStyle }) => {
171
169
  return getDefaultStyles(theme, labelWrapperStyle);
172
170
  }}
173
- // custom styles
171
+ // custom styles
174
172
  ${({ customLabelStyles }) => customLabelStyles}
175
- `;
173
+ `
176
174
  const IconDiv = styled.div`
177
- margin-left: 6px;
178
- margin-top: -14px;
179
- cursor: pointer;
175
+ margin-left: 6px;
176
+ margin-top:-14px;
177
+ cursor:pointer;
180
178
  `;
181
179
 
182
- export const DropdownSelect = ({
183
- customWrapperStyles,
184
- customLabelStyles,
185
- labelStyle,
186
- label,
187
- isRequired,
188
- optionArr,
189
- selectedValue,
190
- setSelectedValue,
191
- placeHolder,
192
- dropdownType,
193
- isDisabled,
194
- isValid,
195
- clearSelected,
196
- isClearSelected,
197
- isLoading,
198
- height,
199
- placeholderSize,
200
- ...props
201
- }) => {
202
- const DropdownIndicator = (p) => {
180
+ export const DropdownSelect = ({ customWrapperStyles, customLabelStyles, labelStyle, label, isRequired, optionArr, selectedValue, setSelectedValue, placeHolder, dropdownType, isDisabled, isValid, clearSelected, isClearSelected, isLoading, height, placeholderSize, ...props }) => {
181
+ const DropdownIndicator = p => {
203
182
  return (
204
183
  <components.DropdownIndicator {...p}>
205
- {isClearSelected == true ? (
206
- <IconDiv
207
- onClick={() => {
208
- clearSelected();
209
- }}
210
- >
211
- <Icon icon='cross-icon' color={'black'} size={8} />
184
+ {isClearSelected == true ?
185
+ <IconDiv onClick={() => { clearSelected() }}>
186
+ <Icon icon='cross-icon'
187
+ color={'black'}
188
+ size={8} />
212
189
  </IconDiv>
213
- ) : null}
190
+ : null}
214
191
  <IconDiv>
215
- <Icon icon='triangle-down' color={'black'} size={8} />
192
+ <Icon icon='triangle-down'
193
+ color={'black'}
194
+ size={8} />
216
195
  </IconDiv>
217
196
  </components.DropdownIndicator>
218
197
  );
219
198
  };
220
199
 
221
- const Option = (p) => {
200
+ // const LoadingIndicator = (LoadingIndicatorProps) => {
201
+ // return (
202
+ // <div className='custom-loader'>
203
+ // <Icon icon='arrow-rotate' color='black' />
204
+ // </div>
205
+ // );
206
+ // };
207
+
208
+ const Option = p => {
222
209
  const checkboxStyle = {
223
210
  width: '15px',
224
211
  height: '15px',
@@ -228,28 +215,16 @@ export const DropdownSelect = ({
228
215
  lineHeight: '10px',
229
216
  };
230
217
  const checked = (
231
- <div
232
- style={{
233
- ...checkboxStyle,
234
- backgroundColor: p?.data?.color ?? '#2E56F4',
235
- }}
236
- >
218
+ <div style={{ ...checkboxStyle, backgroundColor: p?.data?.color ?? '#2E56F4' }}>
237
219
  <Icon icon='check-icon' color='white' />
238
220
  </div>
239
- );
221
+ )
240
222
  const unchecked = (
241
- <div style={{ ...checkboxStyle, backgroundColor: '#e0e7ff' }}></div>
242
- );
223
+ <div style={{ ...checkboxStyle, backgroundColor: '#e0e7ff' }} ></div>
224
+ )
243
225
  return (
244
226
  <components.Option {...p}>
245
- <div
246
- style={{
247
- display: 'flex',
248
- justifyContent: 'start',
249
- alignItems: 'center',
250
- width: '100%',
251
- }}
252
- >
227
+ <div style={{ display: 'flex', justifyContent: 'start', alignItems: 'center', width: '100%' }}>
253
228
  {p.isSelected ? checked : unchecked}
254
229
  <div className='text-main-alt' style={{ marginLeft: '10px' }}>
255
230
  {p.label}
@@ -259,52 +234,81 @@ export const DropdownSelect = ({
259
234
  );
260
235
  };
261
236
 
237
+ // const ValueContainer = p => {
238
+ // if (props.value.length < 1) {
239
+ // return (
240
+ // <components.ValueContainer {...p}>
241
+ // {p.children}
242
+ // </components.ValueContainer>
243
+ // );
244
+ // }
245
+ // let firstSelected = props.value[0].label;
246
+ // let moreComp = (
247
+ // <div className='ml-auto'>
248
+ // &amp; {props.value.length - 1} more
249
+ // </div>
250
+ // )
251
+ // return (
252
+ // <components.ValueContainer {...p}>
253
+ // <div className="d-flex w-100">
254
+ // <div>
255
+ // {firstSelected}
256
+ // </div>
257
+ // {props.value.length > 1 && moreComp}
258
+ // </div>
259
+ // </components.ValueContainer>
260
+ // );
261
+ // };
262
+
262
263
  const MultiValue = ({ getValue, index, ...p }) => {
263
264
  const firstSelected = p?.data?.label || 'Select';
264
- const len = getValue().length;
265
- return (
266
- !index && (
267
- <div className='multiValue-wrapper'>
268
- <div className='text-main-alt'>{firstSelected}</div>
269
- {len > 1 && (
270
- <div className={`text-more-alt`}>&amp; {len - 1} more</div>
271
- )}
265
+ const len = getValue().length
266
+ return !index && (
267
+ <div className='multiValue-wrapper'>
268
+ <div className='text-main-alt'>
269
+ {firstSelected}
272
270
  </div>
273
- )
274
- );
275
- };
271
+ {len > 1 && <div className={`text-more-alt`}>
272
+ &amp; {len - 1} more
273
+ </div>}
274
+ </div>
275
+ )
276
+ }
277
+
278
+
276
279
 
277
280
  const stylesComp = {
278
- control: (base) => ({
281
+
282
+ control: base => ({
279
283
  ...base,
280
284
  border: '1px solid #d4d7e3',
281
285
  height: `${height}px`,
282
286
  minHeight: `${height}px`,
283
287
  minWidth: '226px',
284
288
  }),
285
- placeholder: (base) => ({
289
+ placeholder: base => ({
286
290
  ...base,
287
291
  fontSize: placeholderSize + 'px',
288
- marginLeft: '0px',
292
+ marginLeft: '0px'
289
293
  }),
290
- dropdownIndicator: (base) => ({
294
+ dropdownIndicator: base => ({
291
295
  ...base,
292
296
  height: `${height}px`,
293
297
  display: 'flex',
294
298
  justifyContent: 'center',
295
299
  alignItems: 'center',
296
300
  }),
297
- valueContainer: (base) => ({
301
+ valueContainer: base => ({
298
302
  ...base,
299
303
  height: `${height}px`,
300
- padding: '7px 8px',
304
+ padding: '7px 8px'
301
305
  }),
302
- indicatorsContainer: (base) => ({
306
+ indicatorsContainer: base => ({
303
307
  ...base,
304
308
  padding: 0,
305
309
  height: `${height}px`,
306
310
  }),
307
- menu: (base) => ({
311
+ menu: base => ({
308
312
  ...base,
309
313
  border: 'none',
310
314
  marginTop: '1px',
@@ -313,92 +317,59 @@ export const DropdownSelect = ({
313
317
  outline: 'none',
314
318
  boxShadow: '0px 6px 20px rgba(56, 66, 100, 0.15)',
315
319
  borderRadius: '4.32px',
316
- fontSize: '14px',
320
+ fontSize: '14px'
321
+
317
322
  }),
318
- singleValue: (base) => ({
323
+ singleValue: base => ({
319
324
  ...base,
320
325
  fontSize: '14px',
321
- marginLeft: '0px',
326
+ marginLeft: '0px'
322
327
  }),
323
- input: (base) => ({
328
+ input: base => ({
324
329
  ...base,
325
330
  fontSize: '14px',
326
331
  }),
327
332
  option: (provided, state) => ({
328
333
  ...provided,
329
- backgroundColor:
330
- state.isSelected || state.isFocused ? '#F0F3F8' : 'white',
334
+ backgroundColor: state.isSelected || state.isFocused ? '#F0F3F8' : 'white',
331
335
  padding: '10px',
332
336
  cursor: 'pointer',
333
- color: '#081348',
337
+ color: '#081348'
334
338
  }),
335
339
  ...props.styles,
336
- };
340
+ }
337
341
  return (
338
- <Wrapper
339
- style={customWrapperStyles}
340
- isValid={isValid}
341
- placeholderSize={placeholderSize}
342
+ <Wrapper style={customWrapperStyles} isValid={isValid} placeholderSize={placeholderSize}
342
343
  >
343
- {label && (
344
- <LabelWrapper
345
- theme={defaultStyles}
346
- labelWrapperStyle={'selectComp-label-wrapper'}
347
- style={customLabelStyles}
348
- >
349
- <Label
350
- themeColor={defaultThemeColor}
351
- customStyles={labelStyle}
352
- type={'label-text'}
353
- text={label}
354
- style={{ marginBottom: '7px' }}
355
- />
356
- {isRequired && (
357
- <div
358
- style={{
359
- marginLeft: '4px',
360
- color: `${defaultThemeColor.ui['error']}`,
361
- }}
362
- >
363
- *
364
- </div>
365
- )}
366
- </LabelWrapper>
367
- )}
368
- {dropdownType === 'singleSelect' ? (
369
- <Select
370
- components={{
371
- DropdownIndicator,
372
- IndicatorSeparator: () => null,
373
- ClearIndicator: () => null,
374
- }}
375
- className='select-manage-page'
376
- classNamePrefix='new-select'
377
- name={'select-dropdown mb-1'}
378
- options={optionArr}
379
- placeholder={placeHolder}
380
- isDisabled={isDisabled}
381
- value={{
382
- value: selectedValue ? selectedValue.value : '',
383
- label: selectedValue ? selectedValue.label : '',
384
- }}
385
- styles={stylesComp}
386
- onChange={setSelectedValue}
387
- isLoading={isLoading}
388
- {...props}
344
+
345
+ {label && <LabelWrapper theme={defaultStyles}
346
+ labelWrapperStyle={'selectComp-label-wrapper'} style={customLabelStyles}>
347
+ <Label
348
+ themeColor={defaultThemeColor}
349
+ customStyles={labelStyle}
350
+ type={'label-text'}
351
+ text={label}
352
+ style={{ marginBottom: '7px' }}
389
353
  />
390
- ) : (
354
+ {isRequired && <div style={{
355
+ marginLeft: '4px',
356
+ color: `${defaultThemeColor.ui['error']}`
357
+ }} >*</div>}
358
+ </LabelWrapper>}
359
+ {dropdownType === 'multiSelect' ?
360
+
391
361
  <Select
392
362
  components={{
393
363
  DropdownIndicator,
394
364
  MultiValue,
395
365
  Option,
366
+ // LoadingIndicator: () => null,
396
367
  IndicatorSeparator: () => null,
397
- ClearIndicator: () => null,
368
+ ClearIndicator: () => null
398
369
  }}
399
- className='select-manage-page'
400
- classNamePrefix='new-select'
401
- name={'select-dropdown mb-1'}
370
+ className="select-manage-page"
371
+ classNamePrefix="new-select"
372
+ name={"select-dropdown mb-1"}
402
373
  onChange={setSelectedValue}
403
374
  placeholder={placeHolder}
404
375
  value={selectedValue}
@@ -412,12 +383,38 @@ export const DropdownSelect = ({
412
383
  onMenuClose={props.onMenuClose}
413
384
  isSearchable={false}
414
385
  isLoading={isLoading}
386
+
387
+ {...props}
388
+ /> :
389
+ <Select
390
+ components={{
391
+ DropdownIndicator,
392
+ // LoadingIndicator,
393
+ IndicatorSeparator: () => null,
394
+ ClearIndicator: () => null
395
+ }}
396
+ className="select-manage-page"
397
+ // className="new-select"
398
+ classNamePrefix="new-select"
399
+ name={"select-dropdown"}
400
+ options={optionArr}
401
+ placeholder={placeHolder}
402
+ isDisabled={isDisabled}
403
+ value={{
404
+ value: selectedValue ? selectedValue.value : '',
405
+ label: selectedValue ? selectedValue.label : ''
406
+ }}
407
+ styles={stylesComp}
408
+ onChange={setSelectedValue}
409
+ isLoading={isLoading}
415
410
  {...props}
416
411
  />
417
- )}
412
+
413
+
414
+ }
418
415
  </Wrapper>
419
- );
420
- };
416
+ )
417
+ }
421
418
 
422
419
  DropdownSelect.propTypes = {
423
420
  /**
@@ -433,12 +430,12 @@ DropdownSelect.propTypes = {
433
430
  */
434
431
  optionArr: PropTypes.array,
435
432
  /**
436
- * SelectBox Selected value. This is a array of object must be with this format:
437
- [{
438
- label:string,
439
- value:string
440
- }]
441
- */
433
+ * SelectBox Selected value. This is a array of object must be with this format:
434
+ [{
435
+ label:string,
436
+ value:string
437
+ }]
438
+ */
442
439
  selectedValue: PropTypes.object,
443
440
  /**
444
441
  * Function to set selected value
@@ -449,14 +446,14 @@ DropdownSelect.propTypes = {
449
446
  */
450
447
  placeHolder: PropTypes.string,
451
448
  /**
452
- * SelectBox Placeholder's font size
453
- */
449
+ * SelectBox Placeholder's font size
450
+ */
454
451
  placeholderSize: PropTypes.number,
455
452
  /**
456
- * This Function will be called if cross button pressed
457
- */
453
+ * This Function will be called if cross button pressed
454
+ */
458
455
  clearSelected: PropTypes.func,
459
- };
456
+ }
460
457
 
461
458
  DropdownSelect.defaultProps = {
462
459
  label: '',
@@ -468,5 +465,5 @@ DropdownSelect.defaultProps = {
468
465
  isValid: true,
469
466
  isClearSelected: false,
470
467
  height: 31,
471
- placeholderSize: 14,
472
- };
468
+ placeholderSize: 14
469
+ }
@@ -101,10 +101,8 @@ color: #494949;
101
101
  display: flex;
102
102
  justify-content: center;
103
103
  align-items: center;
104
- max-width: 514px;
105
104
  margin:20px 0px;
106
105
  font-size: 14px;
107
-
108
106
  `
109
107
 
110
108
  export const DropzoneInput = ({
@@ -306,8 +304,8 @@ export const DropzoneInput = ({
306
304
  )}
307
305
  </TextDiv>
308
306
  </ParentDiv>
309
- <AdditionalText>{additionalText}</AdditionalText>
310
- {fileArr?.map((item, i) => {
307
+ {additionalText.length > 0 && <AdditionalText>{additionalText}</AdditionalText>
308
+ } {fileArr?.map((item, i) => {
311
309
  return (
312
310
  <FileDiv
313
311
  theme={defaultStyles}
@@ -9,7 +9,8 @@ import defaultThemeColor from '../constants/defaultThemeColor';
9
9
 
10
10
  const customStyles = {
11
11
  overlay: {
12
- zIndex: '999',
12
+ zIndex: '999999',
13
+ backgroundColor: 'rgb(0 0 0 / 30%)'
13
14
  },
14
15
  content: {
15
16
  borderColor: defaultThemeColor.border,
@@ -20,7 +21,7 @@ const customStyles = {
20
21
  marginRight: '-50%',
21
22
  padding: '0px',
22
23
  transform: 'translate(-50%, -50%)',
23
- maxHeight: '75vh',
24
+ maxHeight: '75vh'
24
25
  },
25
26
  };
26
27
 
@@ -72,7 +73,7 @@ const ModalFooter = styled.div`
72
73
  `;
73
74
 
74
75
  const CommonDiv = styled.div`
75
- padding: 1rem 3rem 0rem 3rem;
76
+ padding: 2rem 3rem 0rem 3rem;
76
77
  `;
77
78
 
78
79
  Modal.setAppElement('#root');
@@ -188,4 +189,4 @@ ModalComp.defaultProps = {
188
189
  customModalHeaderStyle: {},
189
190
  customModalBodyStyle: {},
190
191
  customModalFooterStyle: {},
191
- };
192
+ };
@@ -396,8 +396,7 @@ const defaultStyles = {
396
396
  * Default Style of the dropZone component
397
397
  */
398
398
  'dropzone-parent': {
399
- 'width': 'inherit',
400
- 'max-width': '514px',
399
+ 'width': '100%',
401
400
  'height': '86px',
402
401
  'padding-left': '8px',
403
402
  'padding-right': '8px',
@@ -410,7 +409,6 @@ const defaultStyles = {
410
409
  },
411
410
  'dropzone-file-div': {
412
411
  'width': 'inherit',
413
- 'max-width': '532px',
414
412
  'height': '38px',
415
413
  'display': 'flex',
416
414
  'justify-content': 'center',
@@ -745,7 +743,7 @@ const defaultStyles = {
745
743
  cursor: 'pointer'
746
744
  },
747
745
  'modalComp-modal-body': {
748
- 'margin-top': '30px',
746
+ 'margin-top': '20px',
749
747
  'margin-bottom': '15px',
750
748
  },
751
749
  'modalComp-modal-footer': {