@justfixnyc/component-library 0.54.7 → 0.56.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.
@@ -1,19 +1,21 @@
1
1
  import _extends from '@babel/runtime/helpers/extends';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
3
  import classNames from 'classnames';
3
4
  import React, { forwardRef, useId } from 'react';
4
- import { faBan, faXmark, faDownload as faDownload$1, faBuildingColumns, faAddressCard, faBuilding, faMapLocationDot, faMemoPad, faLocationDot, faHouse, faGlobe, faUser, faSpinner, faBars, faEnvelope as faEnvelope$1, faCommentSms, faCopy, faCirclePlus, faCircleInfo, faCircleExclamation as faCircleExclamation$1, faChevronRight, faChevronLeft, faChevronDown, faChevronUp, faCheckDouble, faCheck, faCaretDown, faCaretRight, faBookmark as faBookmark$1, faSquareArrowUpRight, faArrowsRotateReverse, faArrowDownWideShort, faArrowUpShortWide, faArrowUpArrowDown, faArrowDownLong, faArrowUpLong, faArrowDown, faArrowUpRight, faArrowUp, faArrowRight, faArrowLeft } from '@awesome.me/kit-dd32553919/icons/classic/solid';
5
- import { faPrint, faEyeSlash, faEye, faDownload, faEnvelope, faCircleExclamation, faBookmark } from '@awesome.me/kit-dd32553919/icons/classic/regular';
6
- import { faXTwitter, faTwitter, faFacebookF } from '@awesome.me/kit-dd32553919/icons/classic/brands';
5
+ import { faPlus, faBan, faXmark, faDownload as faDownload$1, faBuildingColumns, faAddressCard, faBuilding, faMapLocationDot, faMemoPad, faLocationDot, faHouse, faGlobe, faUser, faSpinner, faBars, faEnvelope as faEnvelope$1, faCommentSms, faCopy, faCirclePlus, faCircleInfo, faCircleExclamation as faCircleExclamation$1, faChevronRight, faChevronLeft, faChevronDown, faChevronUp, faCheckDouble, faCheck, faCaretDown, faCaretRight, faBookmark as faBookmark$1, faSquareArrowUpRight, faArrowsRotateReverse, faArrowDownWideShort, faArrowUpShortWide, faArrowUpArrowDown, faArrowDownLong, faArrowUpLong, faArrowDown, faArrowUpRight, faArrowUp, faArrowRight, faArrowLeft } from '@awesome.me/kit-6863e5a21e/icons/classic/solid';
6
+ import { faMailboxOpenLetter, faEnvelopeCircleCheck } from '@awesome.me/kit-6863e5a21e/icons/classic/light';
7
+ import { faPrint, faEyeSlash, faEye, faDownload, faEnvelope, faCircleExclamation, faBookmark } from '@awesome.me/kit-6863e5a21e/icons/classic/regular';
8
+ import { faXTwitter, faTwitter, faFacebookF } from '@awesome.me/kit-6863e5a21e/icons/classic/brands';
7
9
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
8
10
  import Select, { components } from 'react-select';
9
11
 
12
+ const _excluded$9 = ["className", "icon"];
10
13
  const Icon = _ref => {
11
14
  let {
12
- className,
13
- icon,
14
- type = 'solid',
15
- ...props
16
- } = _ref;
15
+ className,
16
+ icon
17
+ } = _ref,
18
+ props = _objectWithoutProperties(_ref, _excluded$9);
17
19
  let faIcon;
18
20
  switch (icon) {
19
21
  case 'arrowLeft':
@@ -53,7 +55,10 @@ const Icon = _ref => {
53
55
  faIcon = faSquareArrowUpRight;
54
56
  break;
55
57
  case 'bookmark':
56
- if (type === 'regular') faIcon = faBookmark;else faIcon = faBookmark$1;
58
+ faIcon = faBookmark$1;
59
+ break;
60
+ case 'bookmarkRegular':
61
+ faIcon = faBookmark;
57
62
  break;
58
63
  case 'caretRight':
59
64
  faIcon = faCaretRight;
@@ -80,7 +85,10 @@ const Icon = _ref => {
80
85
  faIcon = faChevronRight;
81
86
  break;
82
87
  case 'circleExclamation':
83
- if (type === 'regular') faIcon = faCircleExclamation;else faIcon = faCircleExclamation$1;
88
+ faIcon = faCircleExclamation$1;
89
+ break;
90
+ case 'circleExclamationRegular':
91
+ faIcon = faCircleExclamation;
84
92
  break;
85
93
  case 'circleInfo':
86
94
  faIcon = faCircleInfo;
@@ -104,7 +112,16 @@ const Icon = _ref => {
104
112
  faIcon = faCommentSms;
105
113
  break;
106
114
  case 'envelope':
107
- if (type === 'regular') faIcon = faEnvelope;else faIcon = faEnvelope$1;
115
+ faIcon = faEnvelope$1;
116
+ break;
117
+ case 'envelopeRegular':
118
+ faIcon = faEnvelope;
119
+ break;
120
+ case 'envelopeCircleCheck':
121
+ faIcon = faEnvelopeCircleCheck;
122
+ break;
123
+ case 'mailboxOpenLetter':
124
+ faIcon = faMailboxOpenLetter;
108
125
  break;
109
126
  case 'bars':
110
127
  faIcon = faBars;
@@ -140,7 +157,10 @@ const Icon = _ref => {
140
157
  faIcon = faBuildingColumns;
141
158
  break;
142
159
  case 'download':
143
- if (type === 'regular') faIcon = faDownload;else faIcon = faDownload$1;
160
+ faIcon = faDownload$1;
161
+ break;
162
+ case 'downloadRegular':
163
+ faIcon = faDownload;
144
164
  break;
145
165
  case 'xmark':
146
166
  faIcon = faXmark;
@@ -157,6 +177,9 @@ const Icon = _ref => {
157
177
  case 'print':
158
178
  faIcon = faPrint;
159
179
  break;
180
+ case 'plus':
181
+ faIcon = faPlus;
182
+ break;
160
183
  default:
161
184
  console.warn("".concat(icon, " is not a supported icon name."));
162
185
  return /*#__PURE__*/React.createElement(React.Fragment, null);
@@ -168,13 +191,14 @@ const Icon = _ref => {
168
191
  };
169
192
  Icon.displayName = 'Icon';
170
193
 
194
+ const _excluded$8 = ["icon", "children", "className"];
171
195
  const Link = /*#__PURE__*/forwardRef((_ref, ref) => {
172
196
  let {
173
- icon,
174
- children,
175
- className,
176
- ...props
177
- } = _ref;
197
+ icon,
198
+ children,
199
+ className
200
+ } = _ref,
201
+ props = _objectWithoutProperties(_ref, _excluded$8);
178
202
  const linkClassNames = classNames('jfcl-link', className);
179
203
  const opensInNewTab = props.target === '_blank';
180
204
  // When using this component within a react-router-dom <Link />, a navigate function is passed through the props us here.
@@ -200,17 +224,18 @@ const Link = /*#__PURE__*/forwardRef((_ref, ref) => {
200
224
  });
201
225
  Link.displayName = 'Link';
202
226
 
227
+ const _excluded$7 = ["type", "variant", "text", "action", "actionHref", "actionLabel", "className"];
203
228
  const Alert = /*#__PURE__*/forwardRef((_ref, ref) => {
204
229
  let {
205
- type = 'info',
206
- variant = 'primary',
207
- text,
208
- action,
209
- actionHref,
210
- actionLabel,
211
- className,
212
- ...props
213
- } = _ref;
230
+ type = 'info',
231
+ variant = 'primary',
232
+ text,
233
+ action,
234
+ actionHref,
235
+ actionLabel,
236
+ className
237
+ } = _ref,
238
+ props = _objectWithoutProperties(_ref, _excluded$7);
214
239
  const alertClassNames = classNames('jfcl-alert', "jfcl-variant-".concat(variant), "jfcl-type-".concat(type), className);
215
240
  const hasAction = !!action;
216
241
  const showButton = hasAction && !actionHref;
@@ -246,21 +271,22 @@ const Alert = /*#__PURE__*/forwardRef((_ref, ref) => {
246
271
  });
247
272
  Alert.displayName = 'Alert';
248
273
 
274
+ const _excluded$6 = ["labelText", "variant", "size", "loading", "labelIcon", "iconOnRight", "iconOnly", "className"];
249
275
  /**
250
276
  * Accepts all `ButtonHTMLAttributes`
251
277
  */
252
278
  const Button = /*#__PURE__*/React.forwardRef((_ref, ref) => {
253
279
  let {
254
- labelText,
255
- variant = 'primary',
256
- size = 'large',
257
- loading,
258
- labelIcon,
259
- iconOnRight,
260
- iconOnly,
261
- className,
262
- ...props
263
- } = _ref;
280
+ labelText,
281
+ variant = 'primary',
282
+ size = 'large',
283
+ loading,
284
+ labelIcon,
285
+ iconOnRight,
286
+ iconOnly,
287
+ className
288
+ } = _ref,
289
+ props = _objectWithoutProperties(_ref, _excluded$6);
264
290
  const buttonClassNames = classNames('jfcl-button', "jfcl-variant-".concat(variant), "jfcl-size-".concat(size), "".concat(loading ? 'jfcl-is-loading' : ''), "".concat(iconOnly ? 'jfcl-btn-icon-only' : ''), className);
265
291
  const iconClassNames = classNames('jfcl-button__icon', "".concat(iconOnRight ? 'jfcl-button__icon_right' : ''));
266
292
  const arias = {};
@@ -344,22 +370,23 @@ const InputHeader = _ref2 => {
344
370
  }), invalidText)));
345
371
  };
346
372
 
373
+ const _excluded$5 = ["className", "invalidText", "invalidRole", "invalid", "headerText", "helperText", "labelText", "disabled", "id"];
347
374
  /**
348
375
  * Accepts all `InputHTMLAttributes`
349
376
  */
350
377
  const Checkbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
351
378
  let {
352
- className,
353
- invalidText,
354
- invalidRole,
355
- invalid,
356
- headerText,
357
- helperText,
358
- labelText,
359
- disabled,
360
- id,
361
- ...props
362
- } = _ref;
379
+ className,
380
+ invalidText,
381
+ invalidRole,
382
+ invalid,
383
+ headerText,
384
+ helperText,
385
+ labelText,
386
+ disabled,
387
+ id
388
+ } = _ref,
389
+ props = _objectWithoutProperties(_ref, _excluded$5);
363
390
  const checkboxClassNames = classNames('jfcl-checkbox', {
364
391
  ['jfcl-checkbox--is-disabled']: disabled
365
392
  }, className);
@@ -398,6 +425,7 @@ const Checkbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
398
425
  });
399
426
  Checkbox.displayName = 'Checkbox';
400
427
 
428
+ const _excluded$4 = ["className", "helperText", "invalid", "invalidText", "invalidRole", "disabled", "labelText", "onChange", "options"];
401
429
  const DropdownIndicator = props => {
402
430
  return /*#__PURE__*/React.createElement(components.DropdownIndicator, props, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
403
431
  icon: faChevronDown
@@ -405,17 +433,17 @@ const DropdownIndicator = props => {
405
433
  };
406
434
  const Dropdown = _ref => {
407
435
  let {
408
- className,
409
- helperText,
410
- invalid,
411
- invalidText,
412
- invalidRole,
413
- disabled,
414
- labelText,
415
- onChange,
416
- options,
417
- ...props
418
- } = _ref;
436
+ className,
437
+ helperText,
438
+ invalid,
439
+ invalidText,
440
+ invalidRole,
441
+ disabled,
442
+ labelText,
443
+ onChange,
444
+ options
445
+ } = _ref,
446
+ props = _objectWithoutProperties(_ref, _excluded$4);
419
447
  const hasOnChange = !!onChange;
420
448
 
421
449
  // Randomly generated id
@@ -452,21 +480,22 @@ const Dropdown = _ref => {
452
480
  };
453
481
  Dropdown.displayName = 'Dropdown';
454
482
 
483
+ const _excluded$3 = ["className", "children", "invalidText", "invalidRole", "invalid", "helperText", "helperElement", "legendText"];
455
484
  /**
456
485
  * Accepts all `HTMLFieldSetElement`
457
486
  */
458
487
  const FormGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
459
488
  let {
460
- className,
461
- children,
462
- invalidText,
463
- invalidRole,
464
- invalid,
465
- helperText,
466
- helperElement,
467
- legendText,
468
- ...props
469
- } = _ref;
489
+ className,
490
+ children,
491
+ invalidText,
492
+ invalidRole,
493
+ invalid,
494
+ helperText,
495
+ helperElement,
496
+ legendText
497
+ } = _ref,
498
+ props = _objectWithoutProperties(_ref, _excluded$3);
470
499
  const fieldsetClassNames = classNames('jfcl-form-group', {
471
500
  ['jfcl-form-group-is-invalid']: invalid
472
501
  }, className);
@@ -486,22 +515,24 @@ const FormGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
486
515
  });
487
516
  FormGroup.displayName = 'FormGroup';
488
517
 
518
+ const _excluded$2 = ["className", "invalidText", "invalidRole", "invalid", "headerText", "helperText", "labelText", "labelElement", "disabled", "id"];
489
519
  /**
490
520
  * Accepts all `InputHTMLAttributes`
491
521
  */
492
522
  const RadioButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
493
523
  let {
494
- className,
495
- invalidText,
496
- invalidRole,
497
- invalid,
498
- headerText,
499
- helperText,
500
- labelText,
501
- disabled,
502
- id,
503
- ...props
504
- } = _ref;
524
+ className,
525
+ invalidText,
526
+ invalidRole,
527
+ invalid,
528
+ headerText,
529
+ helperText,
530
+ labelText,
531
+ labelElement,
532
+ disabled,
533
+ id
534
+ } = _ref,
535
+ props = _objectWithoutProperties(_ref, _excluded$2);
505
536
  const radioButtonClassNames = classNames('jfcl-radio-button', {
506
537
  ['jfcl-radio-button--is-invalid']: invalid,
507
538
  ['jfcl-radio-button--is-disabled']: disabled
@@ -533,21 +564,22 @@ const RadioButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
533
564
  "data-testid": "jfcl-radio-button__checkmark"
534
565
  }, /*#__PURE__*/React.createElement("span", {
535
566
  className: "jfcl-radio-button__checkmark-checked"
536
- })), labelText));
567
+ })), labelElement || labelText));
537
568
  });
538
569
  RadioButton.displayName = 'RadioButton';
539
570
 
571
+ const _excluded$1 = ["className", "labelText", "disabled", "id"];
540
572
  /**
541
573
  * Accepts all `InputHTMLAttributes`
542
574
  */
543
575
  const SelectButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
544
576
  let {
545
- className,
546
- labelText,
547
- disabled,
548
- id,
549
- ...props
550
- } = _ref;
577
+ className,
578
+ labelText,
579
+ disabled,
580
+ id
581
+ } = _ref,
582
+ props = _objectWithoutProperties(_ref, _excluded$1);
551
583
  const SelectButtonClassNames = classNames('jfcl-select-button', {
552
584
  ['jfcl-select-button--is-disabled']: disabled
553
585
  }, className);
@@ -569,23 +601,24 @@ const SelectButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
569
601
  });
570
602
  SelectButton.displayName = 'SelectButton';
571
603
 
604
+ const _excluded = ["className", "invalidText", "invalidRole", "invalid", "helperText", "helperElement", "labelText", "size", "id", "type"];
572
605
  /**
573
606
  * Accepts all `InputHTMLAttributes`
574
607
  */
575
608
  const TextInput = /*#__PURE__*/React.forwardRef((_ref, ref) => {
576
609
  let {
577
- className,
578
- invalidText,
579
- invalidRole,
580
- invalid,
581
- helperText,
582
- helperElement,
583
- labelText,
584
- size,
585
- id,
586
- type = 'text',
587
- ...props
588
- } = _ref;
610
+ className,
611
+ invalidText,
612
+ invalidRole,
613
+ invalid,
614
+ helperText,
615
+ helperElement,
616
+ labelText,
617
+ size,
618
+ id,
619
+ type = 'text'
620
+ } = _ref,
621
+ props = _objectWithoutProperties(_ref, _excluded);
589
622
  const inputIsMoney = type === 'money';
590
623
  const inputType = inputIsMoney ? 'number' : type;
591
624
  const textInputWrapperClassNames = classNames('jfcl-text-input', {
package/dist/src/index.js CHANGED
@@ -3,28 +3,31 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _extends = require('@babel/runtime/helpers/extends');
6
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
7
  var classNames = require('classnames');
7
8
  var React = require('react');
8
- var solid = require('@awesome.me/kit-dd32553919/icons/classic/solid');
9
- var regular = require('@awesome.me/kit-dd32553919/icons/classic/regular');
10
- var brands = require('@awesome.me/kit-dd32553919/icons/classic/brands');
9
+ var solid = require('@awesome.me/kit-6863e5a21e/icons/classic/solid');
10
+ var light = require('@awesome.me/kit-6863e5a21e/icons/classic/light');
11
+ var regular = require('@awesome.me/kit-6863e5a21e/icons/classic/regular');
12
+ var brands = require('@awesome.me/kit-6863e5a21e/icons/classic/brands');
11
13
  var reactFontawesome = require('@fortawesome/react-fontawesome');
12
14
  var Select = require('react-select');
13
15
 
14
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
17
 
16
18
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
19
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
17
20
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
18
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
22
  var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
20
23
 
24
+ const _excluded$9 = ["className", "icon"];
21
25
  const Icon = _ref => {
22
26
  let {
23
- className,
24
- icon,
25
- type = 'solid',
26
- ...props
27
- } = _ref;
27
+ className,
28
+ icon
29
+ } = _ref,
30
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$9);
28
31
  let faIcon;
29
32
  switch (icon) {
30
33
  case 'arrowLeft':
@@ -64,7 +67,10 @@ const Icon = _ref => {
64
67
  faIcon = solid.faSquareArrowUpRight;
65
68
  break;
66
69
  case 'bookmark':
67
- if (type === 'regular') faIcon = regular.faBookmark;else faIcon = solid.faBookmark;
70
+ faIcon = solid.faBookmark;
71
+ break;
72
+ case 'bookmarkRegular':
73
+ faIcon = regular.faBookmark;
68
74
  break;
69
75
  case 'caretRight':
70
76
  faIcon = solid.faCaretRight;
@@ -91,7 +97,10 @@ const Icon = _ref => {
91
97
  faIcon = solid.faChevronRight;
92
98
  break;
93
99
  case 'circleExclamation':
94
- if (type === 'regular') faIcon = regular.faCircleExclamation;else faIcon = solid.faCircleExclamation;
100
+ faIcon = solid.faCircleExclamation;
101
+ break;
102
+ case 'circleExclamationRegular':
103
+ faIcon = regular.faCircleExclamation;
95
104
  break;
96
105
  case 'circleInfo':
97
106
  faIcon = solid.faCircleInfo;
@@ -115,7 +124,16 @@ const Icon = _ref => {
115
124
  faIcon = solid.faCommentSms;
116
125
  break;
117
126
  case 'envelope':
118
- if (type === 'regular') faIcon = regular.faEnvelope;else faIcon = solid.faEnvelope;
127
+ faIcon = solid.faEnvelope;
128
+ break;
129
+ case 'envelopeRegular':
130
+ faIcon = regular.faEnvelope;
131
+ break;
132
+ case 'envelopeCircleCheck':
133
+ faIcon = light.faEnvelopeCircleCheck;
134
+ break;
135
+ case 'mailboxOpenLetter':
136
+ faIcon = light.faMailboxOpenLetter;
119
137
  break;
120
138
  case 'bars':
121
139
  faIcon = solid.faBars;
@@ -151,7 +169,10 @@ const Icon = _ref => {
151
169
  faIcon = solid.faBuildingColumns;
152
170
  break;
153
171
  case 'download':
154
- if (type === 'regular') faIcon = regular.faDownload;else faIcon = solid.faDownload;
172
+ faIcon = solid.faDownload;
173
+ break;
174
+ case 'downloadRegular':
175
+ faIcon = regular.faDownload;
155
176
  break;
156
177
  case 'xmark':
157
178
  faIcon = solid.faXmark;
@@ -168,6 +189,9 @@ const Icon = _ref => {
168
189
  case 'print':
169
190
  faIcon = regular.faPrint;
170
191
  break;
192
+ case 'plus':
193
+ faIcon = solid.faPlus;
194
+ break;
171
195
  default:
172
196
  console.warn("".concat(icon, " is not a supported icon name."));
173
197
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
@@ -179,13 +203,14 @@ const Icon = _ref => {
179
203
  };
180
204
  Icon.displayName = 'Icon';
181
205
 
206
+ const _excluded$8 = ["icon", "children", "className"];
182
207
  const Link = /*#__PURE__*/React.forwardRef((_ref, ref) => {
183
208
  let {
184
- icon,
185
- children,
186
- className,
187
- ...props
188
- } = _ref;
209
+ icon,
210
+ children,
211
+ className
212
+ } = _ref,
213
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$8);
189
214
  const linkClassNames = classNames__default["default"]('jfcl-link', className);
190
215
  const opensInNewTab = props.target === '_blank';
191
216
  // When using this component within a react-router-dom <Link />, a navigate function is passed through the props us here.
@@ -211,17 +236,18 @@ const Link = /*#__PURE__*/React.forwardRef((_ref, ref) => {
211
236
  });
212
237
  Link.displayName = 'Link';
213
238
 
239
+ const _excluded$7 = ["type", "variant", "text", "action", "actionHref", "actionLabel", "className"];
214
240
  const Alert = /*#__PURE__*/React.forwardRef((_ref, ref) => {
215
241
  let {
216
- type = 'info',
217
- variant = 'primary',
218
- text,
219
- action,
220
- actionHref,
221
- actionLabel,
222
- className,
223
- ...props
224
- } = _ref;
242
+ type = 'info',
243
+ variant = 'primary',
244
+ text,
245
+ action,
246
+ actionHref,
247
+ actionLabel,
248
+ className
249
+ } = _ref,
250
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$7);
225
251
  const alertClassNames = classNames__default["default"]('jfcl-alert', "jfcl-variant-".concat(variant), "jfcl-type-".concat(type), className);
226
252
  const hasAction = !!action;
227
253
  const showButton = hasAction && !actionHref;
@@ -257,21 +283,22 @@ const Alert = /*#__PURE__*/React.forwardRef((_ref, ref) => {
257
283
  });
258
284
  Alert.displayName = 'Alert';
259
285
 
286
+ const _excluded$6 = ["labelText", "variant", "size", "loading", "labelIcon", "iconOnRight", "iconOnly", "className"];
260
287
  /**
261
288
  * Accepts all `ButtonHTMLAttributes`
262
289
  */
263
290
  const Button = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
264
291
  let {
265
- labelText,
266
- variant = 'primary',
267
- size = 'large',
268
- loading,
269
- labelIcon,
270
- iconOnRight,
271
- iconOnly,
272
- className,
273
- ...props
274
- } = _ref;
292
+ labelText,
293
+ variant = 'primary',
294
+ size = 'large',
295
+ loading,
296
+ labelIcon,
297
+ iconOnRight,
298
+ iconOnly,
299
+ className
300
+ } = _ref,
301
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$6);
275
302
  const buttonClassNames = classNames__default["default"]('jfcl-button', "jfcl-variant-".concat(variant), "jfcl-size-".concat(size), "".concat(loading ? 'jfcl-is-loading' : ''), "".concat(iconOnly ? 'jfcl-btn-icon-only' : ''), className);
276
303
  const iconClassNames = classNames__default["default"]('jfcl-button__icon', "".concat(iconOnRight ? 'jfcl-button__icon_right' : ''));
277
304
  const arias = {};
@@ -355,22 +382,23 @@ const InputHeader = _ref2 => {
355
382
  }), invalidText)));
356
383
  };
357
384
 
385
+ const _excluded$5 = ["className", "invalidText", "invalidRole", "invalid", "headerText", "helperText", "labelText", "disabled", "id"];
358
386
  /**
359
387
  * Accepts all `InputHTMLAttributes`
360
388
  */
361
389
  const Checkbox = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
362
390
  let {
363
- className,
364
- invalidText,
365
- invalidRole,
366
- invalid,
367
- headerText,
368
- helperText,
369
- labelText,
370
- disabled,
371
- id,
372
- ...props
373
- } = _ref;
391
+ className,
392
+ invalidText,
393
+ invalidRole,
394
+ invalid,
395
+ headerText,
396
+ helperText,
397
+ labelText,
398
+ disabled,
399
+ id
400
+ } = _ref,
401
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$5);
374
402
  const checkboxClassNames = classNames__default["default"]('jfcl-checkbox', {
375
403
  ['jfcl-checkbox--is-disabled']: disabled
376
404
  }, className);
@@ -409,6 +437,7 @@ const Checkbox = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) =
409
437
  });
410
438
  Checkbox.displayName = 'Checkbox';
411
439
 
440
+ const _excluded$4 = ["className", "helperText", "invalid", "invalidText", "invalidRole", "disabled", "labelText", "onChange", "options"];
412
441
  const DropdownIndicator = props => {
413
442
  return /*#__PURE__*/React__default["default"].createElement(Select.components.DropdownIndicator, props, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
414
443
  icon: solid.faChevronDown
@@ -416,17 +445,17 @@ const DropdownIndicator = props => {
416
445
  };
417
446
  const Dropdown = _ref => {
418
447
  let {
419
- className,
420
- helperText,
421
- invalid,
422
- invalidText,
423
- invalidRole,
424
- disabled,
425
- labelText,
426
- onChange,
427
- options,
428
- ...props
429
- } = _ref;
448
+ className,
449
+ helperText,
450
+ invalid,
451
+ invalidText,
452
+ invalidRole,
453
+ disabled,
454
+ labelText,
455
+ onChange,
456
+ options
457
+ } = _ref,
458
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$4);
430
459
  const hasOnChange = !!onChange;
431
460
 
432
461
  // Randomly generated id
@@ -463,21 +492,22 @@ const Dropdown = _ref => {
463
492
  };
464
493
  Dropdown.displayName = 'Dropdown';
465
494
 
495
+ const _excluded$3 = ["className", "children", "invalidText", "invalidRole", "invalid", "helperText", "helperElement", "legendText"];
466
496
  /**
467
497
  * Accepts all `HTMLFieldSetElement`
468
498
  */
469
499
  const FormGroup = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
470
500
  let {
471
- className,
472
- children,
473
- invalidText,
474
- invalidRole,
475
- invalid,
476
- helperText,
477
- helperElement,
478
- legendText,
479
- ...props
480
- } = _ref;
501
+ className,
502
+ children,
503
+ invalidText,
504
+ invalidRole,
505
+ invalid,
506
+ helperText,
507
+ helperElement,
508
+ legendText
509
+ } = _ref,
510
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$3);
481
511
  const fieldsetClassNames = classNames__default["default"]('jfcl-form-group', {
482
512
  ['jfcl-form-group-is-invalid']: invalid
483
513
  }, className);
@@ -497,22 +527,24 @@ const FormGroup = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref)
497
527
  });
498
528
  FormGroup.displayName = 'FormGroup';
499
529
 
530
+ const _excluded$2 = ["className", "invalidText", "invalidRole", "invalid", "headerText", "helperText", "labelText", "labelElement", "disabled", "id"];
500
531
  /**
501
532
  * Accepts all `InputHTMLAttributes`
502
533
  */
503
534
  const RadioButton = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
504
535
  let {
505
- className,
506
- invalidText,
507
- invalidRole,
508
- invalid,
509
- headerText,
510
- helperText,
511
- labelText,
512
- disabled,
513
- id,
514
- ...props
515
- } = _ref;
536
+ className,
537
+ invalidText,
538
+ invalidRole,
539
+ invalid,
540
+ headerText,
541
+ helperText,
542
+ labelText,
543
+ labelElement,
544
+ disabled,
545
+ id
546
+ } = _ref,
547
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$2);
516
548
  const radioButtonClassNames = classNames__default["default"]('jfcl-radio-button', {
517
549
  ['jfcl-radio-button--is-invalid']: invalid,
518
550
  ['jfcl-radio-button--is-disabled']: disabled
@@ -544,21 +576,22 @@ const RadioButton = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref
544
576
  "data-testid": "jfcl-radio-button__checkmark"
545
577
  }, /*#__PURE__*/React__default["default"].createElement("span", {
546
578
  className: "jfcl-radio-button__checkmark-checked"
547
- })), labelText));
579
+ })), labelElement || labelText));
548
580
  });
549
581
  RadioButton.displayName = 'RadioButton';
550
582
 
583
+ const _excluded$1 = ["className", "labelText", "disabled", "id"];
551
584
  /**
552
585
  * Accepts all `InputHTMLAttributes`
553
586
  */
554
587
  const SelectButton = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
555
588
  let {
556
- className,
557
- labelText,
558
- disabled,
559
- id,
560
- ...props
561
- } = _ref;
589
+ className,
590
+ labelText,
591
+ disabled,
592
+ id
593
+ } = _ref,
594
+ props = _objectWithoutProperties__default["default"](_ref, _excluded$1);
562
595
  const SelectButtonClassNames = classNames__default["default"]('jfcl-select-button', {
563
596
  ['jfcl-select-button--is-disabled']: disabled
564
597
  }, className);
@@ -580,23 +613,24 @@ const SelectButton = /*#__PURE__*/React__default["default"].forwardRef((_ref, re
580
613
  });
581
614
  SelectButton.displayName = 'SelectButton';
582
615
 
616
+ const _excluded = ["className", "invalidText", "invalidRole", "invalid", "helperText", "helperElement", "labelText", "size", "id", "type"];
583
617
  /**
584
618
  * Accepts all `InputHTMLAttributes`
585
619
  */
586
620
  const TextInput = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
587
621
  let {
588
- className,
589
- invalidText,
590
- invalidRole,
591
- invalid,
592
- helperText,
593
- helperElement,
594
- labelText,
595
- size,
596
- id,
597
- type = 'text',
598
- ...props
599
- } = _ref;
622
+ className,
623
+ invalidText,
624
+ invalidRole,
625
+ invalid,
626
+ helperText,
627
+ helperElement,
628
+ labelText,
629
+ size,
630
+ id,
631
+ type = 'text'
632
+ } = _ref,
633
+ props = _objectWithoutProperties__default["default"](_ref, _excluded);
600
634
  const inputIsMoney = type === 'money';
601
635
  const inputType = inputIsMoney ? 'number' : type;
602
636
  const textInputWrapperClassNames = classNames__default["default"]('jfcl-text-input', {
@@ -2,6 +2,9 @@ import React from 'react';
2
2
  import './styles.scss';
3
3
  import { IconNames } from '../Icon/Icon';
4
4
  export interface ButtonProps extends React.ComponentPropsWithoutRef<'button'> {
5
+ /**
6
+ * Text to label button, or provide to aria-label when iconOnly
7
+ */
5
8
  labelText: string;
6
9
  labelIcon?: IconNames;
7
10
  variant?: 'primary' | 'secondary' | 'tertiary';
@@ -1,9 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FontAwesomeIconProps } from '@fortawesome/react-fontawesome';
3
- export type IconNames = 'arrowLeft' | 'arrowRight' | 'arrowUp' | 'arrowUpRight' | 'arrowDown' | 'arrowUpLong' | 'arrowDownLong' | 'arrowUpArrowDown' | 'arrowUpShortWide' | 'arrowDownWideShort' | 'arrowsRotateReverse' | 'squareArrowUpRight' | 'bookmark' | 'caretRight' | 'caretDown' | 'check' | 'checkDouble' | 'chevronUp' | 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'circleExclamation' | 'circleInfo' | 'circlePlus' | 'copy' | 'facebook' | 'twitter' | 'xTwitter' | 'sms' | 'envelope' | 'bars' | 'spinner' | 'user' | 'globe' | 'house' | 'locationDot' | 'memoPad' | 'mapLocationDot' | 'building' | 'addressCard' | 'buildingColumns' | 'download' | 'downloadRegular' | 'xmark' | 'ban' | 'eye' | 'eyeSlash' | 'print';
3
+ export type IconNames = 'arrowLeft' | 'arrowRight' | 'arrowUp' | 'arrowUpRight' | 'arrowDown' | 'arrowUpLong' | 'arrowDownLong' | 'arrowUpArrowDown' | 'arrowUpShortWide' | 'arrowDownWideShort' | 'arrowsRotateReverse' | 'squareArrowUpRight' | 'bookmark' | 'bookmarkRegular' | 'caretRight' | 'caretDown' | 'check' | 'checkDouble' | 'chevronUp' | 'chevronDown' | 'chevronLeft' | 'chevronRight' | 'circleExclamation' | 'circleExclamationRegular' | 'circleInfo' | 'circlePlus' | 'copy' | 'facebook' | 'twitter' | 'xTwitter' | 'sms' | 'envelope' | 'envelopeRegular' | 'envelopeCircleCheck' | 'bars' | 'spinner' | 'user' | 'globe' | 'house' | 'locationDot' | 'memoPad' | 'mapLocationDot' | 'building' | 'addressCard' | 'buildingColumns' | 'download' | 'downloadRegular' | 'xmark' | 'ban' | 'eye' | 'eyeSlash' | 'print' | 'plus' | 'mailboxOpenLetter';
4
4
  export interface IconProps extends Omit<FontAwesomeIconProps, 'icon'> {
5
5
  className?: string;
6
6
  icon?: IconNames;
7
- type?: 'solid' | 'regular';
8
7
  }
9
8
  export declare const Icon: React.FC<IconProps>;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import './styles.scss';
3
- export interface RadioButtonProps extends React.InputHTMLAttributes<HTMLInputElement> {
3
+ interface RadioButtonPropsLabelText extends React.InputHTMLAttributes<HTMLInputElement> {
4
4
  labelText: string;
5
+ labelElement?: React.ReactNode;
5
6
  headerText?: string;
6
7
  helperText?: string;
7
8
  invalid?: boolean;
@@ -11,7 +12,13 @@ export interface RadioButtonProps extends React.InputHTMLAttributes<HTMLInputEle
11
12
  disabled?: boolean;
12
13
  id: string;
13
14
  }
15
+ interface RadioButtonPropsLabelElement extends Omit<RadioButtonPropsLabelText, 'labelText'> {
16
+ labelText?: string;
17
+ labelElement: React.ReactNode;
18
+ }
19
+ export type RadioButtonProps = RadioButtonPropsLabelText | RadioButtonPropsLabelElement;
14
20
  /**
15
21
  * Accepts all `InputHTMLAttributes`
16
22
  */
17
23
  export declare const RadioButton: React.ForwardRefExoticComponent<RadioButtonProps & React.RefAttributes<HTMLInputElement>>;
24
+ export {};
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@justfixnyc/component-library",
3
3
  "description": "JustFix Component Library",
4
4
  "license": "MIT",
5
- "version": "0.54.7",
5
+ "version": "0.56.0",
6
6
  "main": "dist/src/index.js",
7
7
  "module": "dist/src/index.es.js",
8
8
  "files": [
@@ -24,23 +24,14 @@
24
24
  "deploy-storybook": "storybook-to-ghpages"
25
25
  },
26
26
  "types": "dist/typings/index.d.ts",
27
- "resolutions": {
28
- "jackspeak": "2.1.1"
29
- },
30
27
  "dependencies": {
31
- "@awesome.me/kit-dd32553919": "^1.0.13",
28
+ "@awesome.me/kit-6863e5a21e": "^1.0.3",
32
29
  "@babel/runtime": "^7.12.5",
33
- "@fortawesome/fontawesome-svg-core": "^6.5.2",
34
- "@fortawesome/react-fontawesome": "0.2.2",
30
+ "@fortawesome/fontawesome-svg-core": "^7.1.0",
31
+ "@fortawesome/react-fontawesome": "^3.1.0",
35
32
  "react-select": "^5.7.2"
36
33
  },
37
34
  "peerDependencies": {
38
- "@lingui/cli": ">=2.9.1",
39
- "@lingui/macro": ">=2.9.1",
40
- "@lingui/react": ">=2.9.1",
41
- "@types/lingui__core": ">=2.7.0",
42
- "@types/lingui__macro": ">=2.7.3",
43
- "@types/lingui__react": ">=2.8.1",
44
35
  "react": ">=16.12.0",
45
36
  "react-dom": ">=16.12.0"
46
37
  },
@@ -50,10 +41,7 @@
50
41
  "@babel/preset-env": "^7.17.10",
51
42
  "@babel/preset-react": "^7.16.7",
52
43
  "@babel/preset-typescript": "^7.16.7",
53
- "@lingui/cli": "^2.9.1",
54
- "@lingui/macro": "^2.9.1",
55
- "@lingui/react": "^2.9.1",
56
- "@mdx-js/react": "^1.6.22",
44
+ "@mdx-js/react": "^2.3.0",
57
45
  "@rollup/plugin-babel": "^5.2.3",
58
46
  "@rollup/plugin-commonjs": "^17.1.0",
59
47
  "@rollup/plugin-node-resolve": "^11.1.1",
@@ -71,13 +59,10 @@
71
59
  "@testing-library/jest-dom": "^5.16.4",
72
60
  "@testing-library/react": "^13.3.0",
73
61
  "@types/jest": "^26.0.20",
74
- "@types/lingui__core": "^2.7.0",
75
- "@types/lingui__macro": "^2.7.3",
76
- "@types/lingui__react": "^2.8.1",
77
62
  "@types/react": "^18.0.14",
78
63
  "@types/react-dom": "^18.0.5",
79
- "@typescript-eslint/eslint-plugin": "^4.14.2",
80
- "@typescript-eslint/parser": "^4.14.2",
64
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
65
+ "@typescript-eslint/parser": "^5.0.0",
81
66
  "babel-loader": "^8.2.2",
82
67
  "babel-plugin-inline-react-svg": "^2.0.1",
83
68
  "bootstrap": "^4.6.0",
@@ -105,7 +90,7 @@
105
90
  "storybook": "^7.6.10",
106
91
  "style-loader": "^3.3.4",
107
92
  "ts-jest": "^26.5.0",
108
- "typescript": "^4.1.3"
93
+ "typescript": "^5.5.3"
109
94
  },
110
95
  "eslintConfig": {
111
96
  "extends": [