@justfixnyc/component-library 0.35.0 → 0.37.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 (32) hide show
  1. package/dist/src/assets/index.css +403 -60
  2. package/dist/src/assets/index.es.css +403 -60
  3. package/dist/src/index.es.js +410 -322
  4. package/dist/src/index.js +416 -336
  5. package/dist/typings/{buttons → Components/Button}/Button.d.ts +2 -1
  6. package/dist/typings/Components/Icon/Icon.d.ts +8 -0
  7. package/dist/typings/index.d.ts +9 -4
  8. package/package.json +4 -3
  9. package/dist/typings/icons/Check.d.ts +0 -3
  10. package/dist/typings/icons/Check2.d.ts +0 -3
  11. package/dist/typings/icons/Chevron.d.ts +0 -3
  12. package/dist/typings/icons/Close.d.ts +0 -3
  13. package/dist/typings/icons/Error.d.ts +0 -3
  14. package/dist/typings/icons/Facebook.d.ts +0 -3
  15. package/dist/typings/icons/Globe.d.ts +0 -3
  16. package/dist/typings/icons/Hamburger.d.ts +0 -3
  17. package/dist/typings/icons/Icons.d.ts +0 -16
  18. package/dist/typings/icons/Internet.d.ts +0 -3
  19. package/dist/typings/icons/LinkExternal.d.ts +0 -3
  20. package/dist/typings/icons/LinkInternal.d.ts +0 -3
  21. package/dist/typings/icons/Loading.d.ts +0 -3
  22. package/dist/typings/icons/Mail.d.ts +0 -3
  23. package/dist/typings/icons/Person.d.ts +0 -3
  24. package/dist/typings/icons/Twitter.d.ts +0 -3
  25. /package/dist/typings/{alerts → Components/Alert}/Alert.d.ts +0 -0
  26. /package/dist/typings/{Checkbox → Components/Checkbox}/Checkbox.d.ts +0 -0
  27. /package/dist/typings/{Dropdown → Components/Dropdown}/Dropdown.d.ts +0 -0
  28. /package/dist/typings/{FormGroup → Components/FormGroup}/FormGroup.d.ts +0 -0
  29. /package/dist/typings/{InputHeader → Components/InputHeader}/InputHeader.d.ts +0 -0
  30. /package/dist/typings/{link → Components/Link}/Link.d.ts +0 -0
  31. /package/dist/typings/{RadioButton → Components/RadioButton}/RadioButton.d.ts +0 -0
  32. /package/dist/typings/{textInput → Components/TextInput}/TextInput.d.ts +0 -0
package/dist/src/index.js CHANGED
@@ -3,331 +3,100 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _extends = require('@babel/runtime/helpers/extends');
6
- var React = require('react');
7
6
  var classNames = require('classnames');
7
+ var React = require('react');
8
8
  var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
9
+ var freeBrandsSvgIcons = require('@fortawesome/free-brands-svg-icons');
9
10
  var reactFontawesome = require('@fortawesome/react-fontawesome');
11
+ var Select = require('react-select');
10
12
 
11
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
14
 
13
15
  var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
16
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
17
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
+ var Select__default = /*#__PURE__*/_interopDefaultLegacy(Select);
16
19
 
17
- /**
18
- * Accepts all `ButtonHTMLAttributes`
19
- */
20
- const Button = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
20
+ const Icon = _ref => {
21
21
  let {
22
- labelText,
23
- variant = 'primary',
24
- size = 'large',
25
- loading,
26
- labelIcon: ButtonIcon,
27
- iconOnRight,
28
- iconOnly,
29
22
  className,
30
- ...props
23
+ icon
31
24
  } = _ref;
32
- 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);
33
- const iconClassNames = classNames__default["default"]('jfcl-button__icon', "".concat(iconOnRight ? 'jfcl-button__icon_right' : ''));
34
- const arias = {};
35
- if (iconOnly) {
36
- arias['aria-label'] = labelText;
25
+ let faIcon;
26
+ switch (icon) {
27
+ case 'arrowLeft':
28
+ faIcon = freeSolidSvgIcons.faArrowLeft;
29
+ break;
30
+ case 'arrowRight':
31
+ faIcon = freeSolidSvgIcons.faArrowRight;
32
+ break;
33
+ case 'squareArrowUpRight':
34
+ faIcon = freeSolidSvgIcons.faSquareArrowUpRight;
35
+ break;
36
+ case 'check':
37
+ faIcon = freeSolidSvgIcons.faCheck;
38
+ break;
39
+ case 'chevronUp':
40
+ faIcon = freeSolidSvgIcons.faChevronUp;
41
+ break;
42
+ case 'chevronDown':
43
+ faIcon = freeSolidSvgIcons.faChevronDown;
44
+ break;
45
+ case 'chevronLeft':
46
+ faIcon = freeSolidSvgIcons.faChevronLeft;
47
+ break;
48
+ case 'chevronRight':
49
+ faIcon = freeSolidSvgIcons.faChevronRight;
50
+ break;
51
+ case 'circleExclamation':
52
+ faIcon = freeSolidSvgIcons.faCircleExclamation;
53
+ break;
54
+ case 'circlePlus':
55
+ faIcon = freeSolidSvgIcons.faCirclePlus;
56
+ break;
57
+ case 'facebook':
58
+ faIcon = freeBrandsSvgIcons.faFacebookF;
59
+ break;
60
+ case 'twitter':
61
+ faIcon = freeBrandsSvgIcons.faTwitter;
62
+ break;
63
+ case 'xTwitter':
64
+ faIcon = freeBrandsSvgIcons.faXTwitter;
65
+ break;
66
+ case 'sms':
67
+ faIcon = freeSolidSvgIcons.faCommentSms;
68
+ break;
69
+ case 'envelope':
70
+ faIcon = freeSolidSvgIcons.faEnvelope;
71
+ break;
72
+ case 'bars':
73
+ faIcon = freeSolidSvgIcons.faBars;
74
+ break;
75
+ case 'spinner':
76
+ faIcon = freeSolidSvgIcons.faSpinner;
77
+ break;
78
+ case 'user':
79
+ faIcon = freeSolidSvgIcons.faUser;
80
+ break;
81
+ case 'globe':
82
+ faIcon = freeSolidSvgIcons.faGlobe;
83
+ break;
84
+ case 'download':
85
+ faIcon = freeSolidSvgIcons.faDownload;
86
+ break;
87
+ case 'xmark':
88
+ faIcon = freeSolidSvgIcons.faXmark;
89
+ break;
90
+ default:
91
+ console.warn("".concat(icon, " is not a supported icon name."));
92
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null);
37
93
  }
38
- return /*#__PURE__*/React__default["default"].createElement("button", _extends__default["default"]({
39
- ref: ref,
40
- type: "button",
41
- className: buttonClassNames,
42
- "data-testid": "jfcl-button"
43
- }, arias, props), /*#__PURE__*/React__default["default"].createElement("div", {
44
- className: "jfcl-button__label"
45
- }, loading && /*#__PURE__*/React__default["default"].createElement("span", {
46
- className: iconClassNames
47
- }), !loading && ButtonIcon ? /*#__PURE__*/React__default["default"].createElement("span", {
48
- className: iconClassNames
49
- }, /*#__PURE__*/React__default["default"].createElement(ButtonIcon, {
50
- "aria-hidden": "true"
51
- })) : null, !iconOnly && /*#__PURE__*/React__default["default"].createElement("span", {
52
- className: "jfcl-button__text"
53
- }, labelText)));
54
- });
55
- Button.displayName = 'Button';
56
-
57
- const IconLoading = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
58
- ref: ref
59
- }, props, {
60
- width: "16",
61
- height: "16",
62
- viewBox: "0 0 16 16",
63
- fill: "none",
64
- xmlns: "http://www.w3.org/2000/svg"
65
- }), /*#__PURE__*/React__default["default"].createElement("path", {
66
- fill: "currentcolor",
67
- fillRule: "evenodd",
68
- clipRule: "evenodd",
69
- d: "M8.04665 0.42435V1.72792C8.04665 2.29372 7.19133 2.29372 7.19133 1.72792V0.42435C7.19133 -0.14145 8.04665 -0.14145 8.04665 0.42435ZM9.26952 1.94354L9.71551 0.718589C9.90902 0.186994 10.7127 0.479531 10.5192 1.01113L10.0734 2.23608C9.87992 2.76768 9.0762 2.47514 9.26952 1.94354ZM11.1489 2.85706L11.9868 1.8585C12.3504 1.42499 13.0056 1.97491 12.642 2.40824L11.8041 3.4068C11.4405 3.84031 10.7851 3.29039 11.1489 2.85706ZM12.6023 4.35811L13.7313 3.70633C14.2213 3.42343 14.649 4.16422 14.1589 4.44712L13.03 5.09891C12.54 5.38181 12.1123 4.64101 12.6023 4.35811ZM13.4548 6.26585L14.7385 6.03945C15.2956 5.94118 15.4442 6.78365 14.8871 6.88191L13.6034 7.10812C13.0461 7.20639 12.8975 6.36412 13.4548 6.26585ZM13.6034 8.35008L14.8871 8.57629C15.4442 8.67456 15.2956 9.51702 14.7385 9.41875L13.4548 9.19236C12.8975 9.09409 13.0461 8.25182 13.6034 8.35008ZM13.03 10.3593L14.1589 11.0111C14.649 11.294 14.2213 12.0348 13.7313 11.7519L12.6023 11.1001C12.1123 10.8172 12.54 10.0764 13.03 10.3593ZM11.8041 12.0514L12.642 13.05C13.0056 13.4833 12.3504 14.0332 11.9868 13.5997L11.1489 12.6011C10.7851 12.1678 11.4405 11.6179 11.8041 12.0514ZM10.0734 13.2221L10.5192 14.4471C10.7127 14.9787 9.90902 15.2712 9.71551 14.7396L9.26952 13.5147C9.0762 12.9831 9.87992 12.6905 10.0734 13.2221ZM8.04665 13.7303V15.0339C8.04665 15.5997 7.19133 15.5997 7.19133 15.0339V13.7303C7.19133 13.1645 8.04665 13.1645 8.04665 13.7303ZM4.71875 14.4471L5.16455 13.2221C5.35806 12.6905 6.16178 12.9831 5.96846 13.5147L5.52247 14.7396C5.32896 15.2712 4.52523 14.9787 4.71875 14.4471ZM0.350902 8.57629L1.63463 8.35008C2.19192 8.25182 2.34046 9.09409 1.78316 9.19236L0.499438 9.41875C-0.0576685 9.51702 -0.206205 8.67456 0.350902 8.57629ZM0.499438 6.03945L1.78316 6.26585C2.34046 6.36412 2.19192 7.20639 1.63463 7.10812L0.350902 6.88191C-0.206205 6.78365 -0.0576685 5.94118 0.499438 6.03945ZM1.50669 3.70633L2.63564 4.35811C3.12566 4.64101 2.69801 5.38181 2.20799 5.09891L1.07903 4.44712C0.589014 4.16422 1.01667 3.42343 1.50669 3.70633ZM3.25114 1.8585L4.08907 2.85706C4.45285 3.29039 3.79748 3.84031 3.43389 3.4068L2.59596 2.40824C2.23236 1.97491 2.88755 1.42499 3.25114 1.8585ZM5.52247 0.718589L5.96846 1.94354C6.16178 2.47514 5.35806 2.76768 5.16455 2.23608L4.71875 1.01113C4.52523 0.479531 5.32896 0.186994 5.52247 0.718589Z"
70
- })));
71
- IconLoading.displayName = 'IconLoading';
72
- var IconLoading$1 = IconLoading;
73
-
74
- const IconHamburger$2 = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
75
- ref: ref
76
- }, props, {
77
- width: "17",
78
- height: "16",
79
- viewBox: "0 0 17 16",
80
- fill: "none",
81
- xmlns: "http://www.w3.org/2000/svg"
82
- }), /*#__PURE__*/React__default["default"].createElement("g", {
83
- clipPath: "url(#clip0_1296_533)"
84
- }, /*#__PURE__*/React__default["default"].createElement("path", {
85
- d: "M13.3105 0.993011C14.4136 0.993011 15.3105 1.88989 15.3105 2.99301V12.993C15.3105 14.0961 14.4136 14.993 13.3105 14.993H3.31046C2.20733 14.993 1.31046 14.0961 1.31046 12.993V2.99301C1.31046 1.88989 2.20733 0.993011 3.31046 0.993011H13.3105ZM6.31046 4.49301C5.89483 4.49301 5.56046 4.82739 5.56046 5.24301C5.56046 5.65864 5.89483 5.99301 6.31046 5.99301H9.25108L5.02921 10.2118C4.73546 10.5055 4.73546 10.9805 5.02921 11.2711C5.32296 11.5618 5.79796 11.5649 6.08858 11.2711L10.3073 7.05239V10.243C10.3073 10.6586 10.6417 10.993 11.0573 10.993C11.473 10.993 11.8073 10.6586 11.8073 10.243V5.24301C11.8073 4.82739 11.473 4.49301 11.0573 4.49301H6.31046Z",
86
- fill: "#242323"
87
- })), /*#__PURE__*/React__default["default"].createElement("defs", null, /*#__PURE__*/React__default["default"].createElement("clipPath", {
88
- id: "clip0_1296_533"
89
- }, /*#__PURE__*/React__default["default"].createElement("rect", {
90
- width: "14",
91
- height: "16",
92
- fill: "white",
93
- transform: "translate(1.31046 -0.00698853)"
94
- })))));
95
- IconHamburger$2.displayName = 'IconHamburger';
96
- var IconHamburger$3 = IconHamburger$2;
97
-
98
- const IconLinkInternal = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
99
- ref: ref
100
- }, props, {
101
- width: "17",
102
- height: "17",
103
- viewBox: "0 0 17 17",
104
- fill: "none",
105
- xmlns: "http://www.w3.org/2000/svg"
106
- }), /*#__PURE__*/React__default["default"].createElement("g", {
107
- clipPath: "url(#clip0_2628_44)"
108
- }, /*#__PURE__*/React__default["default"].createElement("path", {
109
- d: "M14.9253 9.17158C15.3159 8.78095 15.3159 8.14658 14.9253 7.75595L9.92527 2.75595C9.53465 2.36533 8.90027 2.36533 8.50965 2.75595C8.11902 3.14658 8.11902 3.78095 8.50965 4.17158L11.8065 7.46533H2.21902C1.6659 7.46533 1.21902 7.9122 1.21902 8.46533C1.21902 9.01845 1.6659 9.46533 2.21902 9.46533H11.8034L8.51277 12.7591C8.12215 13.1497 8.12215 13.7841 8.51277 14.1747C8.9034 14.5653 9.53778 14.5653 9.9284 14.1747L14.9284 9.1747L14.9253 9.17158Z",
110
- fill: "#242323"
111
- })), /*#__PURE__*/React__default["default"].createElement("defs", null, /*#__PURE__*/React__default["default"].createElement("clipPath", {
112
- id: "clip0_2628_44"
113
- }, /*#__PURE__*/React__default["default"].createElement("rect", {
114
- width: "14",
115
- height: "16",
116
- fill: "white",
117
- transform: "translate(1.21902 0.465332)"
118
- })))));
119
- IconLinkInternal.displayName = 'IconLinkInternal';
120
- var IconLinkInternal$1 = IconLinkInternal;
121
-
122
- const IconCheck = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
123
- ref: ref
124
- }, props, {
125
- width: "18",
126
- height: "12",
127
- viewBox: "0 0 18 12",
128
- fill: "none",
129
- xmlns: "http://www.w3.org/2000/svg"
130
- }), /*#__PURE__*/React__default["default"].createElement("path", {
131
- d: "M1.66666 6.33333L6.33332 11L16.3333 1",
132
- stroke: "currentcolor",
133
- strokeWidth: "2",
134
- strokeLinecap: "round",
135
- strokeLinejoin: "round"
136
- })));
137
- IconCheck.displayName = 'IconCheck';
138
- var IconCheck$1 = IconCheck;
139
-
140
- const IconCheck2 = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
141
- ref: ref
142
- }, props, {
143
- width: "18",
144
- height: "13",
145
- viewBox: "0 0 18 13",
146
- fill: "none",
147
- xmlns: "http://www.w3.org/2000/svg"
148
- }), /*#__PURE__*/React__default["default"].createElement("path", {
149
- d: "M1.66663 6.66671L6.33329 11.3334L16.3333 1.33337",
150
- stroke: "#F4F8F4",
151
- strokeWidth: "2"
152
- })));
153
- IconCheck2.displayName = 'IconCheck';
154
- var IconCheck2$1 = IconCheck2;
155
-
156
- const IconError = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
157
- ref: ref
158
- }, props, {
159
- width: "20",
160
- height: "20",
161
- viewBox: "0 0 20 20",
162
- fill: "none",
163
- xmlns: "http://www.w3.org/2000/svg"
164
- }), /*#__PURE__*/React__default["default"].createElement("path", {
165
- d: "M10 18C5.58857 18 2 14.4113 2 10C2 5.58865 5.58865 2 10 2C14.4113 2 18 5.58865 18 10C18 14.3886 14.4113 18 10 18ZM10 3.34857C6.34278 3.34857 3.37143 6.32004 3.37143 9.97714C3.37143 13.6344 6.3429 16.6057 10 16.6057C13.6572 16.6057 16.6286 13.6342 16.6286 9.97714C16.6286 6.32004 13.6573 3.34857 10 3.34857Z",
166
- fill: "currentcolor"
167
- }), /*#__PURE__*/React__default["default"].createElement("path", {
168
- d: "M9.99996 11.1657C9.61141 11.1657 9.31421 10.8685 9.31421 10.48V6.98281C9.31421 6.59426 9.6114 6.29706 9.99996 6.29706C10.3885 6.29706 10.6857 6.59425 10.6857 6.98281V10.48C10.6857 10.8687 10.3885 11.1657 9.99996 11.1657Z",
169
- fill: "currentcolor"
170
- }), /*#__PURE__*/React__default["default"].createElement("path", {
171
- d: "M9.99997 13.68C9.81709 13.68 9.63422 13.6114 9.51989 13.4743C9.38277 13.3372 9.31421 13.1771 9.31421 12.9942C9.31421 12.9485 9.31421 12.9029 9.33701 12.8571C9.33701 12.8114 9.35981 12.7658 9.38277 12.72C9.40557 12.6743 9.42853 12.6514 9.45133 12.6057C9.47413 12.5599 9.49709 12.5371 9.54269 12.4914C9.79412 12.2399 10.2512 12.2399 10.5027 12.4914C10.5255 12.5142 10.5712 12.5599 10.594 12.6057C10.6168 12.6514 10.6398 12.6743 10.6626 12.72C10.6854 12.7658 10.6854 12.8114 10.7084 12.8571C10.7084 12.9029 10.7312 12.9485 10.7312 12.9942C10.7312 13.1771 10.6626 13.36 10.5255 13.4743C10.3657 13.6114 10.1829 13.68 9.99998 13.68H9.99997Z",
172
- fill: "currentcolor"
173
- })));
174
- IconError.displayName = 'IconError';
175
- var IconError$1 = IconError;
176
-
177
- const IconChevron = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
178
- ref: ref
179
- }, props, {
180
- width: "14",
181
- height: "8",
182
- viewBox: "0 0 14 8",
183
- fill: "none",
184
- xmlns: "http://www.w3.org/2000/svg"
185
- }), /*#__PURE__*/React__default["default"].createElement("path", {
186
- d: "M1 1L7 7L13 1",
187
- stroke: "currentcolor"
188
- })));
189
- IconChevron.displayName = 'IconChevron';
190
- var IconChevron$1 = IconChevron;
191
-
192
- const IconClose = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
193
- ref: ref
194
- }, props, {
195
- width: "16",
196
- height: "16",
197
- viewBox: "0 0 16 16",
198
- fill: "none",
199
- xmlns: "http://www.w3.org/2000/svg"
200
- }), /*#__PURE__*/React__default["default"].createElement("path", {
201
- d: "M2 2L14 14",
202
- stroke: "currentcolor",
203
- strokeWidth: "2",
204
- strokeLinecap: "square"
205
- }), /*#__PURE__*/React__default["default"].createElement("path", {
206
- d: "M14 2L2 14",
207
- stroke: "currentcolor",
208
- strokeWidth: "2",
209
- strokeLinecap: "square"
210
- })));
211
- IconClose.displayName = 'IconClose';
212
- var IconClose$1 = IconClose;
213
-
214
- const IconGlobe = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
215
- ref: ref
216
- }, props, {
217
- width: "20",
218
- height: "20",
219
- viewBox: "0 0 20 20",
220
- fill: "none",
221
- xmlns: "http://www.w3.org/2000/svg"
222
- }), /*#__PURE__*/React__default["default"].createElement("path", {
223
- d: "M10 1.2C14.8553 1.2 18.8 5.14466 18.8 10C18.8 14.8553 14.8553 18.8 10 18.8C5.14468 18.8 1.20001 14.8553 1.20001 10C1.20001 5.14466 5.14468 1.2 10 1.2ZM10.4 2.05V5.8H13.2313C13.0625 5.22735 12.8606 4.69966 12.6313 4.2375C12.013 2.99081 11.2278 2.23616 10.4 2.05ZM9.60001 2.05C8.77235 2.23613 7.98706 2.99081 7.36868 4.2375C7.13945 4.69966 6.9375 5.22735 6.76868 5.8H9.60001V2.05ZM12.3125 2.34375C12.7029 2.76725 13.0488 3.28658 13.3438 3.88125C13.6274 4.45318 13.869 5.09973 14.0625 5.79991H16.8125C15.7974 4.15565 14.2027 2.91225 12.3125 2.34358V2.34375ZM7.68751 2.34375C5.79735 2.9123 4.20268 4.15575 3.18751 5.80008H5.93751C6.131 5.09981 6.3726 4.45326 6.65626 3.88141C6.95118 3.28675 7.29708 2.76741 7.68751 2.34391V2.34375ZM17.2438 6.60008H14.2563C14.4535 7.52996 14.57 8.54175 14.5938 9.60008H17.9875C17.935 8.52996 17.6753 7.51858 17.2438 6.60008H17.2438ZM13.4375 6.60008H10.4V9.60008H13.7937C13.7683 8.53171 13.6431 7.51708 13.4374 6.60008H13.4375ZM9.60001 6.60008H6.56251C6.35685 7.51701 6.23165 8.53175 6.20626 9.60008H9.59993L9.60001 6.60008ZM5.74368 6.60008H2.75618C2.3246 7.51863 2.0649 8.52991 2.01243 9.60008H5.4061C5.42992 8.54181 5.54646 7.52991 5.7436 6.60008H5.74368ZM17.9873 10.4001H14.5937C14.5702 11.4601 14.4536 12.4699 14.2562 13.4001H17.2437C17.6738 12.4829 17.935 11.4682 17.9874 10.4001H17.9873ZM13.7937 10.4001H10.4V13.4001H13.4375C13.6432 12.4821 13.7687 11.4696 13.7938 10.4001H13.7937ZM9.60001 10.4001H6.20635C6.23141 11.4696 6.35693 12.4821 6.5626 13.4001H9.6001L9.60001 10.4001ZM5.40635 10.4001H2.01268C2.06509 11.4682 2.32628 12.4829 2.75643 13.4001H5.74393C5.5464 12.4699 5.42993 11.4601 5.40643 10.4001H5.40635ZM16.8127 14.2001H14.0627C13.8692 14.8993 13.6276 15.5406 13.3439 16.1126C13.0489 16.7072 12.7031 17.238 12.3127 17.6626C14.2028 17.094 15.7975 15.8444 16.8127 14.2001ZM13.2313 14.2001H10.4V17.9564C11.2277 17.7703 12.013 17.0093 12.6313 15.7627C12.8614 15.299 13.0621 14.7751 13.2313 14.2002V14.2001ZM9.60001 14.2001H6.76868C6.93788 14.7749 7.13866 15.2988 7.36868 15.7626C7.98698 17.0093 8.77226 17.7702 9.60001 17.9562V14.2001ZM5.93751 14.2001H3.18751C4.20261 15.8443 5.79735 17.0941 7.68751 17.6626C7.29708 17.238 6.95118 16.7072 6.65626 16.1126C6.3726 15.5406 6.13106 14.8993 5.93751 14.2001Z",
224
- fill: "currentcolor"
225
- })));
226
- IconGlobe.displayName = 'IconGlobe';
227
- var IconGlobe$1 = IconGlobe;
228
-
229
- const IconHamburger = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
230
- ref: ref
231
- }, props, {
232
- width: "16",
233
- height: "14",
234
- viewBox: "0 0 16 14",
235
- fill: "none",
236
- xmlns: "http://www.w3.org/2000/svg"
237
- }), /*#__PURE__*/React__default["default"].createElement("path", {
238
- d: "M0 1H16",
239
- stroke: "currentcolor",
240
- strokeWidth: "2"
241
- }), /*#__PURE__*/React__default["default"].createElement("path", {
242
- d: "M0 7H16",
243
- stroke: "currentcolor",
244
- strokeWidth: "2"
245
- }), /*#__PURE__*/React__default["default"].createElement("path", {
246
- d: "M0 13H16",
247
- stroke: "currentcolor",
248
- strokeWidth: "2"
249
- })));
250
- IconHamburger.displayName = 'IconHamburger';
251
- var IconHamburger$1 = IconHamburger;
252
-
253
- const IconInternet = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
254
- ref: ref
255
- }, props, {
256
- width: "20",
257
- height: "20",
258
- viewBox: "0 0 20 20",
259
- fill: "none",
260
- xmlns: "http://www.w3.org/2000/svg"
261
- }), /*#__PURE__*/React__default["default"].createElement("path", {
262
- fillRule: "evenodd",
263
- clipRule: "evenodd",
264
- d: "M10 20C15.5228 20 20 15.5228 20 10C20 4.47715 15.5228 0 10 0C4.47715 0 0 4.47715 0 10C0 15.5228 4.47715 20 10 20ZM5.19705 8.25847H6.46474L7.44936 12.7631L8.11397 5.53847H9.2832L8.38474 14.4615H6.87089L5.83705 9.80924L4.8032 14.4615H3.27705L2.39089 5.53847H3.56013L4.21243 12.7631L5.19705 8.25847ZM13.523 8.25847H14.7907L15.7753 12.7631L16.4399 5.53847H17.6092L16.7107 14.4615H15.1969L14.163 9.80924L13.1292 14.4615H11.603L10.7169 5.53847H11.8861L12.5384 12.7631L13.523 8.25847Z",
265
- fill: "currentcolor"
266
- })));
267
- IconInternet.displayName = 'IconInternet';
268
- var IconInternet$1 = IconInternet;
269
-
270
- const IconPerson = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
271
- ref: ref
272
- }, props, {
273
- width: "18",
274
- height: "20",
275
- viewBox: "0 0 18 20",
276
- fill: "none",
277
- xmlns: "http://www.w3.org/2000/svg"
278
- }), /*#__PURE__*/React__default["default"].createElement("path", {
279
- d: "M17.1395 18.8372C17.1395 19.476 16.6212 20 15.98 20H2.0199C1.38172 20 0.860443 19.4778 0.860443 18.8372C0.860443 14.3419 4.50463 10.6977 8.99999 10.6977C13.4953 10.6977 17.1395 14.3419 17.1395 18.8372ZM8.99991 12.093C5.35301 12.093 2.38246 14.9876 2.25959 18.6047H15.7402C15.6176 14.9876 12.6469 12.093 8.99991 12.093ZM8.99991 9.76744C6.30277 9.76744 4.11618 7.58085 4.11618 4.88372C4.11618 2.18659 6.30277 0 8.99991 0C11.697 0 13.8836 2.18659 13.8836 4.88372C13.8836 7.58085 11.697 9.76744 8.99991 9.76744ZM8.99991 8.37209C10.9265 8.37209 12.4883 6.81035 12.4883 4.88372C12.4883 2.95709 10.9265 1.39535 8.99991 1.39535C7.07328 1.39535 5.51153 2.95709 5.51153 4.88372C5.51153 6.81035 7.07328 8.37209 8.99991 8.37209Z",
280
- fill: "currentcolor"
281
- })));
282
- IconPerson.displayName = 'IconPerson';
283
- var IconPerson$1 = IconPerson;
284
-
285
- const IconTwitter = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
286
- ref: ref
287
- }, props, {
288
- xmlns: "http://www.w3.org/2000/svg",
289
- width: "17",
290
- height: "16",
291
- viewBox: "0 0 17 16",
292
- fill: "none"
293
- }), /*#__PURE__*/React__default["default"].createElement("path", {
294
- d: "M16.3219 2.63826C15.7321 2.92194 15.0999 3.11242 14.4352 3.19888C15.1136 2.75849 15.6348 2.06142 15.8793 1.23198C15.2458 1.63859 14.5412 1.93444 13.7943 2.09385C13.1958 1.40219 12.3428 0.971252 11.3989 0.971252C9.58574 0.971252 8.11555 2.56261 8.11555 4.52681C8.11555 4.80509 8.14548 5.07662 8.2016 5.33735C5.4732 5.18875 3.05531 3.77301 1.43548 1.62103C1.15242 2.14788 0.991558 2.75849 0.991558 3.40962C0.991558 4.64298 1.57016 5.73181 2.45177 6.37078C1.91308 6.35187 1.4068 6.19111 0.964125 5.92498C0.964125 5.93984 0.964125 5.9547 0.964125 5.96956C0.964125 7.69331 2.09638 9.12931 3.5965 9.45757C3.32216 9.53863 3.03162 9.58186 2.73234 9.58186C2.52036 9.58186 2.3146 9.56024 2.11384 9.51701C2.53283 10.9287 3.74489 11.9594 5.18016 11.9878C4.05788 12.9415 2.64256 13.5089 1.10379 13.5089C0.83818 13.5089 0.577561 13.4927 0.32193 13.4589C1.77341 14.4694 3.49923 15.057 5.35349 15.057C11.3914 15.057 14.6934 9.6386 14.6934 4.94018C14.6934 4.78618 14.6896 4.63083 14.6846 4.47953C15.3256 3.97834 15.8817 3.35153 16.3219 2.63826Z",
295
- fill: "currentColor"
296
- })));
297
- IconTwitter.displayName = 'IconTwitter';
298
- var IconTwitter$1 = IconTwitter;
299
-
300
- const IconMail = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
301
- ref: ref
302
- }, props, {
303
- xmlns: "http://www.w3.org/2000/svg",
304
- width: "17",
305
- height: "12",
306
- viewBox: "0 0 17 12",
307
- fill: "none"
308
- }), /*#__PURE__*/React__default["default"].createElement("path", {
309
- fillRule: "evenodd",
310
- clipRule: "evenodd",
311
- d: "M16.3219 0.206634V0.0570068H0.32193V0.147015L8.33971 6.46405L16.3219 0.206634ZM0.32193 2.69319V11.6751H16.3219V2.74792L8.9551 8.52292L8.3366 9.00778L7.71928 8.52141L0.32193 2.69319Z",
312
- fill: "currentColor"
313
- })));
314
- IconMail.displayName = 'IconMail';
315
- var IconMail$1 = IconMail;
316
-
317
- const IconFacebook = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React__default["default"].createElement("svg", _extends__default["default"]({
318
- ref: ref
319
- }, props, {
320
- xmlns: "http://www.w3.org/2000/svg",
321
- width: "21",
322
- height: "20",
323
- viewBox: "0 0 21 20",
324
- fill: "none"
325
- }), /*#__PURE__*/React__default["default"].createElement("path", {
326
- d: "M14.5765 7.66901H11.8795V5.90018C11.8795 5.2359 12.3198 5.08103 12.6299 5.08103C12.9393 5.08103 14.5331 5.08103 14.5331 5.08103V2.16074L11.912 2.15051C9.00226 2.15051 8.3401 4.32856 8.3401 5.72238V7.66901H6.65735V10.6782H8.3401C8.3401 14.54 8.3401 19.1932 8.3401 19.1932H11.8795C11.8795 19.1932 11.8795 14.4942 11.8795 10.6782H14.2678L14.5765 7.66901Z",
327
- fill: "currentColor"
328
- })));
329
- IconFacebook.displayName = 'IconFacebook';
330
- var IconFacebook$1 = IconFacebook;
94
+ return /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
95
+ className: className,
96
+ icon: faIcon
97
+ });
98
+ };
99
+ Icon.displayName = 'Icon';
331
100
 
332
101
  const Link = /*#__PURE__*/React.forwardRef((_ref, ref) => {
333
102
  let {
@@ -350,11 +119,11 @@ const Link = /*#__PURE__*/React.forwardRef((_ref, ref) => {
350
119
  return /*#__PURE__*/React__default["default"].createElement("a", _extends__default["default"]({}, props, {
351
120
  ref: ref,
352
121
  className: linkClassNames
353
- }), children, icon === 'internal' && /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
354
- icon: freeSolidSvgIcons.faArrowRight,
122
+ }), children, icon === 'internal' && /*#__PURE__*/React__default["default"].createElement(Icon, {
123
+ icon: "arrowRight",
355
124
  className: "jfcl-link__icon"
356
- }), icon === 'external' && /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
357
- icon: freeSolidSvgIcons.faSquareArrowUpRight,
125
+ }), icon === 'external' && /*#__PURE__*/React__default["default"].createElement(Icon, {
126
+ icon: "squareArrowUpRight",
358
127
  className: "jfcl-link__icon"
359
128
  }), opensInNewTab && /*#__PURE__*/React__default["default"].createElement("span", {
360
129
  className: "jfcl-sr-only"
@@ -383,17 +152,20 @@ const Alert = /*#__PURE__*/React.forwardRef((_ref, ref) => {
383
152
  className: alertClassNames
384
153
  }, props), /*#__PURE__*/React__default["default"].createElement("div", {
385
154
  className: "jfcl-alert__content"
386
- }, type === 'error' && /*#__PURE__*/React__default["default"].createElement("div", {
387
- className: "jfcl-alert__icon",
155
+ }, type === 'error' && /*#__PURE__*/React__default["default"].createElement(Icon, {
156
+ icon: "circleExclamation",
157
+ className: "jfcl-alert__icon jfcl-alert__icon-error",
388
158
  "data-testid": "jfcl-alert__icon"
389
- }, /*#__PURE__*/React__default["default"].createElement(IconError$1, null)), type === 'success' && /*#__PURE__*/React__default["default"].createElement("div", {
159
+ }), type === 'success' && /*#__PURE__*/React__default["default"].createElement(Icon, {
160
+ icon: "check",
390
161
  className: "jfcl-alert__icon",
391
162
  "data-testid": "jfcl-alert__icon"
392
- }, /*#__PURE__*/React__default["default"].createElement(IconCheck$1, null)), text), showButton && /*#__PURE__*/React__default["default"].createElement("button", {
163
+ }), text), showButton && /*#__PURE__*/React__default["default"].createElement("button", {
393
164
  className: actionLabel ? 'jfcl-alert__btn jfcl-alert__btn_text' : 'jfcl-alert__btn',
394
165
  "data-testid": "jfcl-alert__btn",
395
166
  onClick: action
396
- }, actionLabel || /*#__PURE__*/React__default["default"].createElement(IconClose$1, {
167
+ }, actionLabel || /*#__PURE__*/React__default["default"].createElement(Icon, {
168
+ icon: "xmark",
397
169
  "aria-label": "Dismiss"
398
170
  })), showLink && /*#__PURE__*/React__default["default"].createElement(Link, _extends__default["default"]({
399
171
  href: actionHref,
@@ -405,21 +177,329 @@ const Alert = /*#__PURE__*/React.forwardRef((_ref, ref) => {
405
177
  });
406
178
  Alert.displayName = 'Alert';
407
179
 
180
+ /**
181
+ * Accepts all `ButtonHTMLAttributes`
182
+ */
183
+ const Button = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
184
+ let {
185
+ labelText,
186
+ variant = 'primary',
187
+ size = 'large',
188
+ loading,
189
+ labelIcon,
190
+ iconOnRight,
191
+ iconOnly,
192
+ className,
193
+ ...props
194
+ } = _ref;
195
+ 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);
196
+ const iconClassNames = classNames__default["default"]('jfcl-button__icon', "".concat(iconOnRight ? 'jfcl-button__icon_right' : ''));
197
+ const arias = {};
198
+ if (iconOnly) {
199
+ arias['aria-label'] = labelText;
200
+ }
201
+ return /*#__PURE__*/React__default["default"].createElement("button", _extends__default["default"]({
202
+ ref: ref,
203
+ type: "button",
204
+ className: buttonClassNames,
205
+ "data-testid": "jfcl-button"
206
+ }, arias, props), /*#__PURE__*/React__default["default"].createElement("div", {
207
+ className: "jfcl-button__label"
208
+ }, loading && /*#__PURE__*/React__default["default"].createElement("span", {
209
+ className: iconClassNames
210
+ }), !loading && labelIcon ? /*#__PURE__*/React__default["default"].createElement("span", {
211
+ className: iconClassNames
212
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
213
+ icon: labelIcon
214
+ })) : null, !iconOnly && /*#__PURE__*/React__default["default"].createElement("span", {
215
+ className: "jfcl-button__text"
216
+ }, labelText)));
217
+ });
218
+ Button.displayName = 'Button';
219
+
220
+ const HeaderLabel = _ref => {
221
+ let {
222
+ labelFor,
223
+ isLegend,
224
+ hasHelperText,
225
+ headerText
226
+ } = _ref;
227
+ const headerLabelClassName = classNames__default["default"]('jfcl-input-header__label', {
228
+ ['jfcl-input-header__label--has-helper']: hasHelperText
229
+ });
230
+ if (labelFor) {
231
+ return /*#__PURE__*/React__default["default"].createElement("label", {
232
+ htmlFor: labelFor,
233
+ className: headerLabelClassName,
234
+ "data-testid": "header-label"
235
+ }, headerText);
236
+ } else if (isLegend) {
237
+ return /*#__PURE__*/React__default["default"].createElement("legend", {
238
+ className: headerLabelClassName,
239
+ "data-testid": "header-legend"
240
+ }, headerText);
241
+ } else {
242
+ return /*#__PURE__*/React__default["default"].createElement("div", {
243
+ className: headerLabelClassName,
244
+ "data-testid": "header-div"
245
+ }, headerText);
246
+ }
247
+ };
248
+ const InputHeader = _ref2 => {
249
+ let {
250
+ labelFor,
251
+ isLegend,
252
+ headerText,
253
+ helperText,
254
+ invalid,
255
+ invalidText
256
+ } = _ref2;
257
+ const showHeader = headerText || helperText || invalid && invalidText;
258
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, showHeader && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(HeaderLabel, {
259
+ labelFor: labelFor,
260
+ isLegend: isLegend,
261
+ headerText: headerText,
262
+ hasHelperText: !!helperText
263
+ }), helperText && /*#__PURE__*/React__default["default"].createElement("div", {
264
+ className: "jfcl-input-header__helper_text",
265
+ "data-testid": "helper-text"
266
+ }, helperText), invalid && invalidText && /*#__PURE__*/React__default["default"].createElement("div", {
267
+ className: "jfcl-input-header__invalid_text",
268
+ "data-testid": "error"
269
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
270
+ icon: "circleExclamation",
271
+ className: "jfcl-input-header__invalid_icon"
272
+ }), invalidText)));
273
+ };
274
+
275
+ /**
276
+ * Accepts all `InputHTMLAttributes`
277
+ */
278
+ const Checkbox = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
279
+ let {
280
+ className,
281
+ invalidText,
282
+ invalid,
283
+ headerText,
284
+ helperText,
285
+ labelText,
286
+ disabled,
287
+ id,
288
+ ...props
289
+ } = _ref;
290
+ const checkboxClassNames = classNames__default["default"]('jfcl-checkbox', {
291
+ ['jfcl-checkbox--is-disabled']: disabled
292
+ }, className);
293
+ const checkmarkClassNames = classNames__default["default"]('jfcl-checkbox__checkmark', {
294
+ ['jfcl-checkbox__checkmark--is-invalid']: invalid
295
+ }, className);
296
+ return /*#__PURE__*/React__default["default"].createElement("div", {
297
+ className: checkboxClassNames,
298
+ "data-testid": "jfcl-checkbox"
299
+ }, /*#__PURE__*/React__default["default"].createElement(InputHeader, {
300
+ headerText: headerText,
301
+ helperText: helperText,
302
+ invalid: invalid,
303
+ invalidText: invalidText
304
+ }), /*#__PURE__*/React__default["default"].createElement("div", {
305
+ className: "jfcl-checkbox__checkmark-label-wrapper"
306
+ }, /*#__PURE__*/React__default["default"].createElement("input", _extends__default["default"]({
307
+ ref: ref
308
+ }, props, {
309
+ id: id,
310
+ className: "jfcl-checkbox__input",
311
+ type: "checkbox"
312
+ })), /*#__PURE__*/React__default["default"].createElement("label", {
313
+ htmlFor: id,
314
+ className: "jfcl-checkbox__label",
315
+ "data-testid": "jfcl-checkbox__label"
316
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
317
+ className: checkmarkClassNames,
318
+ "data-testid": "jfcl-checkbox__checkmark",
319
+ "aria-hidden": true
320
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
321
+ icon: "check",
322
+ className: "jfcl-checkbox__check_icon"
323
+ })), labelText)));
324
+ });
325
+ Checkbox.displayName = 'Checkbox';
326
+
327
+ const DropdownIndicator = props => {
328
+ return /*#__PURE__*/React__default["default"].createElement(Select.components.DropdownIndicator, props, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
329
+ icon: freeSolidSvgIcons.faChevronDown
330
+ }));
331
+ };
332
+ const Dropdown = _ref => {
333
+ let {
334
+ className,
335
+ helperText,
336
+ invalid,
337
+ invalidText,
338
+ disabled,
339
+ labelText,
340
+ onChange,
341
+ options,
342
+ ...props
343
+ } = _ref;
344
+ const hasOnChange = !!onChange;
345
+
346
+ // Randomly generated id
347
+ const instanceId = React.useId();
348
+
349
+ // format of the id on the actual <input /> element created by react-select
350
+ // using the instanceID prop
351
+ const inputId = "react-select-".concat(instanceId, "-input");
352
+ const dropdownClassNames = classNames__default["default"]('jfcl-dropdown', {
353
+ ['jfcl-dropdown--is-invalid']: invalid
354
+ }, className);
355
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(InputHeader, {
356
+ headerText: labelText,
357
+ labelFor: inputId,
358
+ helperText: helperText,
359
+ invalid: invalid,
360
+ invalidText: invalidText
361
+ }), /*#__PURE__*/React__default["default"].createElement(Select__default["default"], _extends__default["default"]({}, props, {
362
+ instanceId: instanceId,
363
+ className: dropdownClassNames,
364
+ classNamePrefix: "jfcl-dropdown",
365
+ placeholder: null,
366
+ isDisabled: disabled,
367
+ options: options
368
+ }, hasOnChange && {
369
+ onChange: onChange
370
+ }, {
371
+ components: {
372
+ DropdownIndicator
373
+ }
374
+ })));
375
+ };
376
+ Dropdown.displayName = 'Dropdown';
377
+
378
+ /**
379
+ * Accepts all `HTMLFieldSetElement`
380
+ */
381
+ const FormGroup = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
382
+ let {
383
+ className,
384
+ children,
385
+ invalidText,
386
+ invalid,
387
+ helperText,
388
+ legendText,
389
+ ...props
390
+ } = _ref;
391
+ const fieldsetClassNames = classNames__default["default"]('jfcl-form-group', {
392
+ ['jfcl-form-group-is-invalid']: invalid
393
+ }, className);
394
+ return /*#__PURE__*/React__default["default"].createElement("fieldset", _extends__default["default"]({
395
+ ref: ref
396
+ }, props, {
397
+ className: fieldsetClassNames
398
+ }), /*#__PURE__*/React__default["default"].createElement(InputHeader, {
399
+ headerText: legendText,
400
+ helperText: helperText,
401
+ invalid: invalid,
402
+ invalidText: invalidText,
403
+ isLegend: true
404
+ }), children);
405
+ });
406
+ FormGroup.displayName = 'FormGroup';
407
+
408
+ /**
409
+ * Accepts all `InputHTMLAttributes`
410
+ */
411
+ const RadioButton = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
412
+ let {
413
+ className,
414
+ invalidText,
415
+ invalid,
416
+ headerText,
417
+ helperText,
418
+ labelText,
419
+ disabled,
420
+ id,
421
+ ...props
422
+ } = _ref;
423
+ const radioButtonClassNames = classNames__default["default"]('jfcl-radio-button', {
424
+ ['jfcl-radio-button--is-invalid']: invalid,
425
+ ['jfcl-radio-button--is-disabled']: disabled
426
+ }, className);
427
+ const checkmarkClassNames = classNames__default["default"]('jfcl-radio-button__checkmark', {
428
+ ['jfcl-radio-button__checkmark--is-invalid']: invalid
429
+ }, className);
430
+ return /*#__PURE__*/React__default["default"].createElement("div", {
431
+ className: radioButtonClassNames,
432
+ "data-testid": "jfcl-radio-button"
433
+ }, /*#__PURE__*/React__default["default"].createElement(InputHeader, {
434
+ headerText: headerText,
435
+ helperText: helperText,
436
+ invalid: invalid,
437
+ invalidText: invalidText
438
+ }), /*#__PURE__*/React__default["default"].createElement("input", _extends__default["default"]({
439
+ ref: ref
440
+ }, props, {
441
+ id: id,
442
+ className: "jfcl-radio-button__input",
443
+ type: "radio"
444
+ })), /*#__PURE__*/React__default["default"].createElement("label", {
445
+ htmlFor: id,
446
+ className: "jfcl-radio-button__label",
447
+ "data-testid": "jfcl-radio-button__label"
448
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
449
+ className: checkmarkClassNames,
450
+ "data-testid": "jfcl-radio-button__checkmark"
451
+ }, /*#__PURE__*/React__default["default"].createElement("span", {
452
+ className: "jfcl-radio-button__checkmark-checked"
453
+ })), labelText));
454
+ });
455
+ RadioButton.displayName = 'RadioButton';
456
+
457
+ /**
458
+ * Accepts all `InputHTMLAttributes`
459
+ */
460
+ const TextInput = /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
461
+ let {
462
+ className,
463
+ invalidText,
464
+ invalid,
465
+ helperText,
466
+ labelText,
467
+ size,
468
+ id,
469
+ type = 'text',
470
+ ...props
471
+ } = _ref;
472
+ const textInputWrapperClassNames = classNames__default["default"]('jfcl-text-input', {
473
+ ['jfcl-text-input--is-invalid']: invalid
474
+ }, className);
475
+ const textInputClassNames = classNames__default["default"]('jfcl-text-input__input', {
476
+ ["jfcl-text-input--size-".concat(size)]: size
477
+ });
478
+ return /*#__PURE__*/React__default["default"].createElement("div", {
479
+ className: textInputWrapperClassNames,
480
+ "data-testid": "jfcl-text-input"
481
+ }, /*#__PURE__*/React__default["default"].createElement(InputHeader, {
482
+ headerText: labelText,
483
+ helperText: helperText,
484
+ invalidText: invalidText,
485
+ invalid: invalid,
486
+ labelFor: id
487
+ }), /*#__PURE__*/React__default["default"].createElement("input", _extends__default["default"]({
488
+ ref: ref
489
+ }, props, {
490
+ id: id,
491
+ className: textInputClassNames,
492
+ type: type
493
+ })));
494
+ });
495
+ TextInput.displayName = 'TextInput';
496
+
408
497
  exports.Alert = Alert;
409
498
  exports.Button = Button;
410
- exports.IconCheck = IconCheck$1;
411
- exports.IconCheck2 = IconCheck2$1;
412
- exports.IconChevron = IconChevron$1;
413
- exports.IconClose = IconClose$1;
414
- exports.IconError = IconError$1;
415
- exports.IconFacebook = IconFacebook$1;
416
- exports.IconGlobe = IconGlobe$1;
417
- exports.IconHamburger = IconHamburger$1;
418
- exports.IconInternet = IconInternet$1;
419
- exports.IconLinkExternal = IconHamburger$3;
420
- exports.IconLinkInternal = IconLinkInternal$1;
421
- exports.IconLoading = IconLoading$1;
422
- exports.IconMail = IconMail$1;
423
- exports.IconPerson = IconPerson$1;
424
- exports.IconTwitter = IconTwitter$1;
499
+ exports.Checkbox = Checkbox;
500
+ exports.Dropdown = Dropdown;
501
+ exports.FormGroup = FormGroup;
502
+ exports.Icon = Icon;
425
503
  exports.Link = Link;
504
+ exports.RadioButton = RadioButton;
505
+ exports.TextInput = TextInput;