@laerdal/life-react-components 1.9.9-dev.2 → 1.9.9-dev.5

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 (83) hide show
  1. package/dist/Breadcrumb/Breadcrumb.cjs +10 -46
  2. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  3. package/dist/Breadcrumb/Breadcrumb.js +8 -43
  4. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  5. package/dist/Breadcrumb/styles.cjs +55 -0
  6. package/dist/Breadcrumb/styles.cjs.map +1 -0
  7. package/dist/Breadcrumb/styles.d.ts +7 -0
  8. package/dist/Breadcrumb/styles.js +39 -0
  9. package/dist/Breadcrumb/styles.js.map +1 -0
  10. package/dist/Button/DualFunctionButton.cjs +1 -0
  11. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  12. package/dist/Button/DualFunctionButton.js +1 -0
  13. package/dist/Button/DualFunctionButton.js.map +1 -1
  14. package/dist/Card/HorizontalCard/HorizontalCard.cjs +1 -1
  15. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  16. package/dist/Card/HorizontalCard/HorizontalCard.js +1 -1
  17. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  18. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +8 -2
  19. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  20. package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
  21. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  22. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +1 -1
  23. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  24. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +1 -1
  25. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  26. package/dist/ChipsInput/ChipInputField.cjs +2 -0
  27. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  28. package/dist/ChipsInput/ChipInputField.js +2 -0
  29. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  30. package/dist/Dropdown/BasicDropdown.cjs +57 -67
  31. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  32. package/dist/Dropdown/BasicDropdown.d.ts +7 -14
  33. package/dist/Dropdown/BasicDropdown.js +58 -67
  34. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  35. package/dist/Dropdown/DropdownFilter.cjs +1 -1
  36. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  37. package/dist/Dropdown/DropdownFilter.js +1 -1
  38. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  39. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +8 -2
  40. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  41. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  42. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  43. package/dist/InputFields/DatepickerField.cjs +38 -44
  44. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  45. package/dist/InputFields/DatepickerField.d.ts +20 -17
  46. package/dist/InputFields/DatepickerField.js +20 -33
  47. package/dist/InputFields/DatepickerField.js.map +1 -1
  48. package/dist/InputFields/NumberField.cjs +52 -63
  49. package/dist/InputFields/NumberField.cjs.map +1 -1
  50. package/dist/InputFields/NumberField.d.ts +19 -14
  51. package/dist/InputFields/NumberField.js +53 -60
  52. package/dist/InputFields/NumberField.js.map +1 -1
  53. package/dist/InputFields/RadioButton.cjs +1 -1
  54. package/dist/InputFields/RadioButton.cjs.map +1 -1
  55. package/dist/InputFields/RadioButton.d.ts +1 -1
  56. package/dist/InputFields/RadioButton.js +1 -1
  57. package/dist/InputFields/RadioButton.js.map +1 -1
  58. package/dist/InputFields/TextField.cjs +3 -5
  59. package/dist/InputFields/TextField.cjs.map +1 -1
  60. package/dist/InputFields/TextField.d.ts +1 -2
  61. package/dist/InputFields/TextField.js +4 -5
  62. package/dist/InputFields/TextField.js.map +1 -1
  63. package/dist/InputFields/index.cjs +0 -26
  64. package/dist/InputFields/index.cjs.map +1 -1
  65. package/dist/InputFields/index.d.ts +0 -1
  66. package/dist/InputFields/index.js +0 -1
  67. package/dist/InputFields/index.js.map +1 -1
  68. package/dist/Popover/Popover.cjs +2 -2
  69. package/dist/Popover/Popover.cjs.map +1 -1
  70. package/dist/Popover/Popover.js +2 -2
  71. package/dist/Popover/Popover.js.map +1 -1
  72. package/dist/Toggles/ToggleButton.cjs +2 -0
  73. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  74. package/dist/Toggles/ToggleButton.d.ts +1 -0
  75. package/dist/Toggles/ToggleButton.js +2 -0
  76. package/dist/Toggles/ToggleButton.js.map +1 -1
  77. package/dist/Toggles/ToggleSwitch.cjs +18 -24
  78. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  79. package/dist/Toggles/ToggleSwitch.d.ts +1 -5
  80. package/dist/Toggles/ToggleSwitch.js +13 -21
  81. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  82. package/dist/Toggles/TogglerTypes.d.ts +1 -1
  83. package/package.json +1 -1
@@ -1,16 +1,9 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
2
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
5
3
  import _pt from "prop-types";
6
- var _excluded = ["size", "label", "note", "noteIcon", "required", "prefix", "interval", "minValue", "maxValue", "allowNegative", "decimalPrecision", "disabled", "readOnly", "state", "value", "placeholder", "type", "onChange", "className"];
7
4
 
8
5
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
9
6
 
10
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
11
-
12
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
-
14
7
  import * as React from 'react';
15
8
  import styled from 'styled-components';
16
9
  import { IconButton } from '../Button';
@@ -23,14 +16,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
23
16
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
17
  import { Fragment as _Fragment } from "react/jsx-runtime";
25
18
  var Container = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral([""])));
26
- var LabelContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: 4px;\n color: ", ";\n display: flex;\n ", "\n"])), COLORS.neutral_500, function (props) {
19
+ var LabelContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n margin-bottom: 4px;\n color: ", ";\n display: flex;\n ", "\n"])), COLORS.neutral_500, function (props) {
27
20
  return props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null);
28
21
  });
29
22
  var LabelText = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([""])));
30
- var LabelIcon = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: ", ";\n\n svg {\n height: 9px;\n width: 9px;\n }\n"])), function (props) {
23
+ var LabelIcon = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: ", ";\n svg {\n height: 9px;\n width: 9px;\n }\n"])), function (props) {
31
24
  return props.size === Size.Small ? '6px' : '8px';
32
25
  });
33
- var PrefixContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: ", ";\n height: ", ";\n color: ", ";\n ", "\n position: absolute;\n padding: ", ";\n"])), function (props) {
26
+ var PrefixContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: ", ";\n height: ", ";\n color: ", ";\n ", "\n position: absolute;\n padding: ", ";\n"])), function (props) {
34
27
  return props.size === Size.Small ? '10px' : '11px';
35
28
  }, function (props) {
36
29
  return props.size === Size.Small ? '20px' : '24px';
@@ -41,10 +34,10 @@ var PrefixContainer = styled.div(_templateObject5 || (_templateObject5 = _tagged
41
34
  }, function (props) {
42
35
  return props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px';
43
36
  });
44
- var OperatorWrapper = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n margin: ", ";\n\n svg {\n height: 14px;\n width: 14px;\n }\n\n .divider {\n margin: 16px 0;\n background: ", ";\n width: 1px;\n }\n"])), function (props) {
37
+ var OperatorWrapper = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right:0;\n display: flex;\n margin:", ";\n svg {\n height: 14px;\n width: 14px;\n }\n .divider {\n margin: 16px 0;\n background: ", ";\n width: 1px;\n }\n"])), function (props) {
45
38
  return props.size === Size.Medium ? '4px 0' : '';
46
39
  }, COLORS.neutral_200);
47
- var NumberInput = styled.input(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 100%;\n border: none;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ", ";\n outline: none;\n color: ", ";\n\n ", "\n ", "\n ", "\n &::placeholder {\n ", "\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.focus-visible {\n ", "\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n color: ", ";\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &.readOnly {\n background: ", ";\n box-shadow: inset 0 0 0 1px ", ";\n cursor: not-allowed;\n background: ", ";\n cursor: not-allowed;\n pointer-events: none;\n color: ", ";\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ", ";\n }\n"])), COLORS.neutral_400, COLORS.neutral_500, function (props) {
40
+ var NumberInput = styled.input(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 100%; \n border: none;\n border-radius: 4px;\n box-shadow: inset 0px 0px 0px 1px ", ";\n outline: none;\n color: ", ";\n ", "\n\n ", "\n\n ", "\n\n &::placeholder {\n ", "\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n \n &.focus-visible {\n ", "\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &.disabled {\n box-shadow: inset 0px 0px 0px 1px ", ";\n cursor: not-allowed;\n color: ", ";\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &.readOnly {\n background: ", ";\n box-shadow: inset 0px 0px 0px 1px ", ";\n cursor: not-allowed;\n background: ", ";\n cursor: not-allowed;\n pointer-events: none;\n color: ", ";\n }\n\n &.valid {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n\n &.invalid {\n box-shadow: inset 0px 0px 0px 2px ", ";\n }\n"])), COLORS.neutral_400, COLORS.neutral_500, function (props) {
48
41
  return props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.black) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.black);
49
42
  }, function (props) {
50
43
  return props.type === 'NumberField' ? "\n padding: ".concat(props.fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px', ";\n padding-left: ").concat(props.hasPrefix ? '30px' : '', ";\n ") : '';
@@ -53,55 +46,54 @@ var NumberInput = styled.input(_templateObject7 || (_templateObject7 = _taggedTe
53
46
  }, function (props) {
54
47
  return props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Italic, null) : ComponentMStyling(ComponentTextStyle.Italic, null);
55
48
  }, COLORS.primary_800, focusStyles, COLORS.primary_700, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_300, COLORS.neutral_100, COLORS.neutral_300, COLORS.neutral_100, COLORS.neutral_500, COLORS.correct_400, COLORS.critical_400);
56
- var NoteLabel = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n color: ", ";\n ", "\n"])), COLORS.neutral_500, function (props) {
49
+ var NoteLabel = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n color: ", ";\n ", " \n"])), COLORS.neutral_500, function (props) {
57
50
  return props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null);
58
51
  });
59
- var NoteIcon = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n svg {\n height: 16px;\n }\n"])));
60
- var NoteContainer = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n\n &.invalid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n"])), NoteLabel, COLORS.correct_500, NoteIcon, COLORS.correct_500, NoteLabel, COLORS.critical_500, NoteIcon, COLORS.critical_500);
61
- var InputContainer = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n min-width: ", ";\n height: ", ";\n display: flex;\n position: relative;\n\n input.focus-visible ~ div.operator {\n z-index: ", ";\n }\n"])), function (props) {
52
+ var NoteIcon = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n svg {\n height: 16px;\n }\n"])));
53
+ var NoteContainer = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n\n &.invalid {\n ", " {\n color: ", ";\n }\n\n ", " {\n svg path {\n fill: ", ";\n }\n }\n }\n"])), NoteLabel, COLORS.correct_500, NoteIcon, COLORS.correct_500, NoteLabel, COLORS.critical_500, NoteIcon, COLORS.critical_500);
54
+ var InputContainer = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n min-width: ", ";\n height: ", ";\n display: flex;\n position: relative;\n\n input.focus-visible ~ div.operator {\n z-index: ", ";\n }\n"])), function (props) {
62
55
  return props.type === 'NumberField' ? '160px' : '144px';
63
56
  }, function (props) {
64
57
  return props.size === Size.Small ? '48px' : '56px';
65
58
  }, Z_INDEXES.focus);
66
- var LeftOperator = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n left: 0;\n"])), function (props) {
59
+ var LeftOperator = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n left: 0;\n"])), function (props) {
67
60
  return props.size === Size.Small ? '0' : '4px';
68
61
  });
69
- var RightOperator = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n right: 0;\n"])), function (props) {
62
+ var RightOperator = styled.div(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n position: absolute;\n top: ", ";\n right: 0;\n"])), function (props) {
70
63
  return props.size === Size.Small ? '0' : '4px';
71
64
  });
72
- var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
73
- var _props$size = props.size,
74
- size = _props$size === void 0 ? Size.Small : _props$size,
75
- label = props.label,
76
- note = props.note,
77
- noteIcon = props.noteIcon,
78
- required = props.required,
79
- prefix = props.prefix,
80
- _props$interval = props.interval,
81
- interval = _props$interval === void 0 ? 1 : _props$interval,
82
- minValue = props.minValue,
83
- maxValue = props.maxValue,
84
- allowNegative = props.allowNegative,
85
- decimalPrecision = props.decimalPrecision,
86
- disabled = props.disabled,
87
- readOnly = props.readOnly,
88
- state = props.state,
89
- value = props.value,
90
- placeholder = props.placeholder,
91
- type = props.type,
92
- onChange = props.onChange,
93
- className = props.className,
94
- rest = _objectWithoutProperties(props, _excluded);
65
+
66
+ var NumberField = function NumberField(_ref) {
67
+ var _ref$size = _ref.size,
68
+ size = _ref$size === void 0 ? Size.Small : _ref$size,
69
+ label = _ref.label,
70
+ note = _ref.note,
71
+ noteIcon = _ref.noteIcon,
72
+ required = _ref.required,
73
+ prefix = _ref.prefix,
74
+ _ref$interval = _ref.interval,
75
+ interval = _ref$interval === void 0 ? 1 : _ref$interval,
76
+ minValue = _ref.minValue,
77
+ maxValue = _ref.maxValue,
78
+ allowNegative = _ref.allowNegative,
79
+ decimalPrecision = _ref.decimalPrecision,
80
+ _ref$disabled = _ref.disabled,
81
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
82
+ _ref$readOnly = _ref.readOnly,
83
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
84
+ valid = _ref.valid,
85
+ value = _ref.value,
86
+ placeholder = _ref.placeholder,
87
+ type = _ref.type,
88
+ onChange = _ref.onChange;
95
89
 
96
90
  var _React$useState = React.useState(value ? value.toString() : ''),
97
91
  _React$useState2 = _slicedToArray(_React$useState, 2),
98
92
  userInput = _React$useState2[0],
99
93
  setUserInput = _React$useState2[1];
100
94
 
95
+ var fieldState = valid !== undefined ? valid ? 'valid' : 'invalid' : undefined;
101
96
  var elementRef = useFocusVisibleRef();
102
- React.useImperativeHandle(ref, function () {
103
- return elementRef.current;
104
- }, [elementRef]);
105
97
 
106
98
  var setVal = function setVal(e) {
107
99
  setUserInput(e);
@@ -171,12 +163,7 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
171
163
 
172
164
  if (!isNaN(val)) {
173
165
  if (decimalPrecision) val = Math.round((val - interval) * Math.pow(10, decimalPrecision)) / Math.pow(10, decimalPrecision);else val -= 1;
174
-
175
- if (minValue && minValue <= val || !minValue) {
176
- if (allowNegative || val >= 0) {
177
- setVal(val.toString());
178
- }
179
- }
166
+ if (minValue && minValue <= val) allowNegative ? setVal(val.toString()) : val >= 0 ? setVal(val.toString()) : undefined;else if (!minValue) allowNegative ? setVal(val.toString()) : val >= 0 ? setVal(val.toString()) : undefined;
180
167
  }
181
168
  };
182
169
 
@@ -184,9 +171,9 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
184
171
  var val = decimalPrecision ? parseFloat(input) : parseInt(input);
185
172
  val = isNaN(val) && userInput === '' ? 0 : val;
186
173
  var operatorState = false;
187
- if (operator === 'add' && maxValue) operatorState = val >= maxValue;
188
- if (operator === 'subtract' && minValue) operatorState = val <= minValue;
189
- if (operator === 'subtract' && !minValue && !allowNegative) operatorState = val <= 0;
174
+ if (operator === 'add' && maxValue) operatorState = val < maxValue ? false : true;
175
+ if (operator === 'subtract' && minValue) operatorState = val > minValue ? false : true;
176
+ if (operator === 'subtract' && !minValue && !allowNegative) operatorState = val > 0 ? false : true;
190
177
  return operatorState;
191
178
  };
192
179
 
@@ -194,7 +181,7 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
194
181
  return /*#__PURE__*/_jsxs(_Fragment, {
195
182
  children: [prefix && /*#__PURE__*/_jsx(PrefixContainer, {
196
183
  size: size,
197
- disabled: !!disabled,
184
+ disabled: disabled,
198
185
  className: "operator",
199
186
  children: prefix
200
187
  }), /*#__PURE__*/_jsxs(OperatorWrapper, {
@@ -288,7 +275,7 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
288
275
  type: type,
289
276
  size: size,
290
277
  tabIndex: -1,
291
- children: [/*#__PURE__*/_jsx(NumberInput, _objectSpread({
278
+ children: [/*#__PURE__*/_jsx(NumberInput, {
292
279
  type: type,
293
280
  "data-testid": 'numberInput',
294
281
  fieldSize: size,
@@ -303,10 +290,10 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
303
290
  onKeyDown: function onKeyDown(e) {
304
291
  return handleKeyPress(e);
305
292
  },
306
- className: 'numberField'.concat(disabled ? ' disabled' : '').concat(readOnly ? ' readOnly' : '').concat(state ? " ".concat(state) : '').concat(className ? " ".concat(className) : '')
307
- }, rest)), type === 'NumberField' && renderNumberFieldElements(), type === 'NumberInput' && renderNumberInputElements()]
293
+ className: 'numberField'.concat(disabled ? ' disabled' : '').concat(readOnly ? ' readOnly' : '').concat(fieldState ? " ".concat(fieldState) : '')
294
+ }), type === 'NumberField' && renderNumberFieldElements(), type === 'NumberInput' && renderNumberInputElements()]
308
295
  }), note && /*#__PURE__*/_jsxs(NoteContainer, {
309
- className: 'noteField'.concat(state ? " ".concat(state) : ''),
296
+ className: 'noteField'.concat(fieldState ? " ".concat(fieldState) : ''),
310
297
  children: [/*#__PURE__*/_jsx(NoteIcon, {
311
298
  children: noteIcon
312
299
  }), /*#__PURE__*/_jsx(NoteLabel, {
@@ -315,19 +302,25 @@ var NumberField = /*#__PURE__*/React.forwardRef(function (props, ref) {
315
302
  })]
316
303
  })]
317
304
  });
318
- });
305
+ };
306
+
319
307
  NumberField.propTypes = {
320
308
  prefix: _pt.string,
321
309
  interval: _pt.number,
322
310
  label: _pt.string.isRequired,
323
311
  note: _pt.string,
324
312
  noteIcon: _pt.node,
313
+ required: _pt.bool,
325
314
  minValue: _pt.number,
326
315
  maxValue: _pt.number,
327
316
  allowNegative: _pt.bool,
328
317
  decimalPrecision: _pt.number,
329
- type: _pt.oneOf(['NumberField', 'NumberInput']).isRequired,
318
+ disabled: _pt.bool,
319
+ readOnly: _pt.bool,
320
+ valid: _pt.bool,
330
321
  value: _pt.number,
322
+ placeholder: _pt.string,
323
+ type: _pt.oneOf(['NumberField', 'NumberInput']).isRequired,
331
324
  onChange: _pt.func
332
325
  };
333
326
  export default NumberField;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/NumberField.tsx"],"names":["React","styled","IconButton","useFocusVisibleRef","SystemIcons","COLORS","focusStyles","Z_INDEXES","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXXSStyling","ComponentXSStyling","Size","Container","div","LabelContainer","neutral_500","props","size","Small","Regular","LabelText","LabelIcon","PrefixContainer","disabled","neutral_300","OperatorWrapper","Medium","neutral_200","NumberInput","input","neutral_400","fieldSize","black","type","hasPrefix","Italic","primary_800","primary_700","neutral_100","correct_400","critical_400","NoteLabel","NoteIcon","NoteContainer","correct_500","critical_500","InputContainer","focus","LeftOperator","RightOperator","NumberField","forwardRef","ref","label","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","readOnly","state","value","placeholder","onChange","className","rest","useState","toString","userInput","setUserInput","elementRef","useImperativeHandle","current","setVal","e","handleKeyPress","key","addInterval","subtractInterval","handleInput","preventDefault","simpleRegex","RegExp","decimalFormationRegEx","negativeDecimalFormationRegEx","allowNegativeRegex","decimalPrecisionRegex","undefined","negativeAndDecimalRegex","val","target","length","charAt","test","isInRange","replace","indexOf","lastIndexOf","includes","isDecimal","x","parseFloat","toFixed","parseInt","isNaN","Math","round","pow","isLocked","operator","operatorState","renderNumberFieldElements","renderNumberInputElements","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {IconButton} from '../Button';\nimport {useFocusVisibleRef} from '../common';\nimport {SystemIcons} from '../icons';\nimport {COLORS, focusStyles, Z_INDEXES} from '../styles';\nimport {\n ComponentMStyling,\n ComponentSStyling,\n ComponentTextStyle,\n ComponentXXSStyling,\n ComponentXSStyling\n} from '../styles/typography';\nimport {Size, States} from '../types';\n\nconst Container = styled.div``;\n\nconst LabelContainer = styled.div<{ size: Size }>`\n margin-bottom: 4px;\n color: ${COLORS.neutral_500};\n display: flex;\n ${props => props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null)}\n`;\n\nconst LabelText = styled.div``;\n\nconst LabelIcon = styled.div<{ size: Size }>`\n margin-right: ${props => props.size === Size.Small ? '6px' : '8px'};\n\n svg {\n height: 9px;\n width: 9px;\n }\n`;\n\nconst PrefixContainer = styled.div<{ size: Size, disabled: boolean }>`\n width: ${props => props.size === Size.Small ? '10px' : '11px'};\n height: ${props => props.size === Size.Small ? '20px' : '24px'};\n color: ${props => props.disabled ? COLORS.neutral_300 : COLORS.neutral_500};\n ${props => props.size === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, null) : ComponentMStyling(ComponentTextStyle.Regular, null)}\n position: absolute;\n padding: ${props => props.size === Size.Small ? '14px 0 14px 16px' : '16px 0 16px 16px'};\n`;\n\nconst OperatorWrapper = styled.div<{ size: Size }>`\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n margin: ${props => props.size === Size.Medium ? '4px 0' : ''};\n\n svg {\n height: 14px;\n width: 14px;\n }\n\n .divider {\n margin: 16px 0;\n background: ${COLORS.neutral_200};\n width: 1px;\n }\n`;\n\nconst NumberInput = styled.input<{ fieldSize: Size, hasPrefix: boolean, type: string }>`\n width: 100%;\n border: none;\n border-radius: 4px;\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_400};\n outline: none;\n color: ${COLORS.neutral_500};\n\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Regular, COLORS.black) : ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n ${props => props.type === 'NumberField' ? `\n padding: ${props.fieldSize === Size.Small ? '14px 97px 14px 16px' : '16px 97px 16px 16px'};\n padding-left: ${props.hasPrefix ? '30px' : ''};\n ` : ''}\n ${props => props.type === 'NumberInput' ? `\n padding: ${props.fieldSize === Size.Small ? '14px 48px' : '16px 48px'};\n ` : ''}\n &::placeholder {\n ${props => props.fieldSize === Size.Small ? ComponentSStyling(ComponentTextStyle.Italic, null) : ComponentMStyling(ComponentTextStyle.Italic, null)}\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_800};\n }\n\n &.focus-visible {\n ${focusStyles}\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0 0 0 2px ${COLORS.primary_700};\n }\n\n &.disabled {\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_100};\n cursor: not-allowed;\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.readOnly {\n background: ${COLORS.neutral_100};\n box-shadow: inset 0 0 0 1px ${COLORS.neutral_300};\n cursor: not-allowed;\n background: ${COLORS.neutral_100};\n cursor: not-allowed;\n pointer-events: none;\n color: ${COLORS.neutral_500};\n }\n\n &.valid {\n box-shadow: inset 0 0 0 2px ${COLORS.correct_400};\n }\n\n &.invalid {\n box-shadow: inset 0 0 0 2px ${COLORS.critical_400};\n }\n`;\n\nconst NoteLabel = styled.div<{ size: Size }>`\n color: ${COLORS.neutral_500};\n ${props => props.size === Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular, null) : ComponentXSStyling(ComponentTextStyle.Regular, null)}\n`;\n\nconst NoteIcon = styled.div`\n svg {\n height: 16px;\n }\n`;\n\nconst NoteContainer = styled.div`\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ${NoteLabel} {\n color: ${COLORS.correct_500};\n }\n\n ${NoteIcon} {\n svg path {\n fill: ${COLORS.correct_500};\n }\n }\n }\n\n &.invalid {\n ${NoteLabel} {\n color: ${COLORS.critical_500};\n }\n\n ${NoteIcon} {\n svg path {\n fill: ${COLORS.critical_500};\n }\n }\n }\n`;\n\nconst InputContainer = styled.div<{ size: Size, type: string }>`\n min-width: ${props => props.type === 'NumberField' ? '160px' : '144px'};\n height: ${props => props.size === Size.Small ? '48px' : '56px'};\n display: flex;\n position: relative;\n\n input.focus-visible ~ div.operator {\n z-index: ${Z_INDEXES.focus};\n }\n`;\n\nconst LeftOperator = styled.div<{ size: Size }>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n left: 0;\n`;\n\nconst RightOperator = styled.div<{ size: Size }>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n right: 0;\n`;\n\ntype NumberFieldProps =\n Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'onKeyDown' | 'onClick' | 'tabIndex' | 'size' | 'value' | 'prefix' | 'min' | 'max'>\n & {\n size?: Size.Small | Size.Medium;\n prefix?: string;\n interval?: number;\n label: string;\n note?: string;\n noteIcon?: React.ReactNode;\n\n minValue?: number;\n maxValue?: number;\n allowNegative?: boolean;\n decimalPrecision?: number;\n\n state?: States.Valid | States.Invalid;\n\n type: 'NumberField' | 'NumberInput';\n value?: number;\n onChange?: (e: string) => void;\n}\n\nconst NumberField = React.forwardRef<HTMLInputElement, NumberFieldProps>((props, ref) => {\n const {\n size = Size.Small,\n label,\n note,\n noteIcon,\n required,\n prefix,\n interval = 1,\n minValue,\n maxValue,\n allowNegative,\n decimalPrecision,\n disabled,\n readOnly,\n state,\n value,\n placeholder,\n type,\n onChange,\n className,\n ...rest\n } = props;\n\n const [userInput, setUserInput] = React.useState(value ? value.toString() : '');\n\n const elementRef = useFocusVisibleRef();\n\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\n\n const setVal = (e: string) => {\n setUserInput(e);\n onChange && onChange(e);\n }\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n switch (e.key) {\n case 'ArrowUp':\n addInterval();\n break;\n case 'ArrowDown':\n subtractInterval();\n break;\n default:\n break;\n }\n }\n\n const handleInput = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.preventDefault();\n let simpleRegex = new RegExp(/^[0-9]\\d*$/);\n let decimalFormationRegEx = new RegExp(/^[0-9]\\d*\\.$/);\n let negativeDecimalFormationRegEx = new RegExp(/^[-][0-9]\\d*\\.$/);\n\n let allowNegativeRegex = new RegExp(/^[-][0-9]\\d*$/);\n let decimalPrecisionRegex = decimalPrecision ? new RegExp(`^[0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n let negativeAndDecimalRegex = (decimalPrecision && allowNegative) ? new RegExp(`^[-][0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n\n let val = e.target.value;\n if (val !== '') {\n if (allowNegative && decimalPrecision) {\n if (val.length === 1 && val.charAt(0) === '-')\n setVal(val);\n else {\n if ((negativeAndDecimalRegex!.test(val) || decimalPrecisionRegex!.test(val)) && isInRange(val, true))\n setVal(val);\n\n else if ((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.', ''), true))\n setVal(val);\n\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, true))\n setVal(val);\n }\n } else if (allowNegative) {\n if (val.length === 1 && val.charAt(0) === '-')\n setVal(val);\n else if ((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val, false))\n setVal(val);\n } else if (decimalPrecision && (val.indexOf('.') === val.lastIndexOf('.')) && isInRange(val, true)) {\n if (decimalPrecisionRegex!.test(val))\n setVal(val);\n else if (decimalFormationRegEx.test(val))\n setVal(val);\n else if (!val.includes('.') && simpleRegex.test(val))\n setVal(val);\n } else if (simpleRegex.test(val) && isInRange(val, false)) {\n setVal(val);\n }\n }\n\n if (val === '')\n setVal('');\n }\n\n const isInRange = (value: string, isDecimal: boolean): boolean => {\n let x = isDecimal ? parseFloat(value).toFixed(decimalPrecision) : parseInt(value);\n if (minValue && minValue > x)\n return false;\n else if (maxValue && maxValue < x)\n return false;\n else\n return true;\n }\n\n const addInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (minValue ? minValue - 1 : 0) : val;\n if (!isNaN(val)) {\n if (decimalPrecision)\n val = Math.round((val + interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\n else\n val += 1;\n\n if (maxValue && maxValue >= val)\n setVal(val.toString());\n else if (!maxValue)\n setVal(val.toString());\n }\n }\n\n const subtractInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (maxValue ? maxValue + 1 : 0) : val;\n if (!isNaN(val)) {\n if (decimalPrecision)\n val = Math.round((val - interval) * Math.pow(10, decimalPrecision!)) / Math.pow(10, decimalPrecision!);\n else\n val -= 1;\n\n if ((minValue && minValue <= val) || !minValue) {\n if (allowNegative || val >= 0) {\n setVal(val.toString());\n }\n }\n }\n }\n\n const isLocked = (input: string, operator: string): boolean => {\n let val = decimalPrecision ? parseFloat(input) : parseInt(input);\n val = isNaN(val) && userInput === '' ? 0 : val;\n let operatorState = false;\n if (operator === 'add' && maxValue)\n operatorState = val >= maxValue;\n\n if (operator === 'subtract' && minValue)\n operatorState = val <= minValue;\n\n if (operator === 'subtract' && !minValue && !allowNegative)\n operatorState = val <= 0;\n\n return operatorState;\n }\n\n const renderNumberFieldElements = () => {\n return (\n <>\n {prefix && <PrefixContainer size={size} disabled={!!disabled} className=\"operator\">\n {prefix}\n </PrefixContainer>}\n\n <OperatorWrapper data-testid={'operators'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\n <SystemIcons.Minus size=\"14px\"/>\n </IconButton>\n <div className=\"divider\"></div>\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\n <SystemIcons.Plus size=\"14px\"/>\n </IconButton>\n </OperatorWrapper>\n </>)\n }\n\n const renderNumberInputElements = () => {\n return (\n <>\n <LeftOperator data-testid={'leftOperator'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => subtractInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'subtract')}>\n <SystemIcons.Minus size=\"14px\"/>\n </IconButton>\n </LeftOperator>\n <RightOperator data-testid={'rightOperator'} size={size} className=\"operator\">\n <IconButton tabIndex={0} variant=\"secondary\" shape=\"square\" action={() => addInterval()}\n useTransparentBackground disabled={disabled || readOnly || isLocked(userInput, 'add')}>\n <SystemIcons.Plus size=\"14px\"/>\n </IconButton>\n </RightOperator>\n </>)\n }\n\n return (\n <Container>\n <LabelContainer size={size}>\n {required && <LabelIcon size={size} data-testid={'labelIcon'}>\n <SystemIcons.Asterisk color={COLORS.critical_500}/>\n </LabelIcon>\n }\n <LabelText>\n {label}\n </LabelText>\n </LabelContainer>\n\n <InputContainer type={type} size={size} tabIndex={-1}>\n <NumberInput type={type}\n data-testid={'numberInput'}\n fieldSize={size}\n hasPrefix={!!prefix}\n placeholder={placeholder ? placeholder : 'Enter number'}\n value={userInput}\n ref={elementRef}\n tabIndex={(disabled || readOnly) ? -1 : 0}\n onChange={e => handleInput(e)}\n onKeyDown={e => handleKeyPress(e)}\n className={'numberField'.concat(disabled ? ' disabled' : '')\n .concat(readOnly ? ' readOnly' : '')\n .concat(state ? ` ${state}` : '')\n .concat(className ? ` ${className}` : '')}\n {...rest}/>\n\n {type === 'NumberField' && renderNumberFieldElements()}\n {type === 'NumberInput' && renderNumberInputElements()}\n </InputContainer>\n\n {note && <NoteContainer className={'noteField'.concat(state ? ` ${state}` : '')}>\n <NoteIcon>\n {noteIcon}\n </NoteIcon>\n <NoteLabel size={size}>\n {note}\n </NoteLabel>\n </NoteContainer>\n }\n </Container>\n );\n }\n )\n;\n\nexport default NumberField;\n"],"file":"NumberField.js"}
1
+ {"version":3,"sources":["../../src/InputFields/NumberField.tsx"],"names":["React","styled","IconButton","useFocusVisibleRef","SystemIcons","COLORS","focusStyles","Z_INDEXES","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXXSStyling","ComponentXSStyling","Size","Container","div","LabelContainer","neutral_500","props","size","Small","Regular","LabelText","LabelIcon","PrefixContainer","disabled","neutral_300","OperatorWrapper","Medium","neutral_200","NumberInput","input","neutral_400","fieldSize","black","type","hasPrefix","Italic","primary_800","primary_700","neutral_100","correct_400","critical_400","NoteLabel","NoteIcon","NoteContainer","correct_500","critical_500","InputContainer","focus","LeftOperator","RightOperator","NumberField","label","note","noteIcon","required","prefix","interval","minValue","maxValue","allowNegative","decimalPrecision","readOnly","valid","value","placeholder","onChange","useState","toString","userInput","setUserInput","fieldState","undefined","elementRef","setVal","e","handleKeyPress","key","addInterval","subtractInterval","handleInput","preventDefault","simpleRegex","RegExp","decimalFormationRegEx","negativeDecimalFormationRegEx","allowNegativeRegex","decimalPrecisionRegex","negativeAndDecimalRegex","val","target","length","charAt","test","isInRange","replace","indexOf","lastIndexOf","includes","isDecimal","x","parseFloat","toFixed","parseInt","isNaN","Math","round","pow","isLocked","operator","operatorState","renderNumberFieldElements","renderNumberInputElements","concat"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { IconButton } from '../Button';\nimport { useFocusVisibleRef } from '../common';\nimport { SystemIcons } from '../icons';\nimport { COLORS, focusStyles, Z_INDEXES } from '../styles';\nimport { ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXXSStyling, ComponentXSStyling } from '../styles/typography';\nimport { Size } from '../types';\n\nconst Container = styled.div``;\n\nconst LabelContainer = styled.div<{size: Size}>`\n margin-bottom: 4px;\n color: ${COLORS.neutral_500};\n display: flex;\n ${props=>props.size===Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular,null) : ComponentXSStyling(ComponentTextStyle.Regular,null)}\n`;\n\nconst LabelText = styled.div``;\n\nconst LabelIcon = styled.div<{size: Size}>`\n margin-right: ${props => props.size === Size.Small?'6px':'8px'};\n svg {\n height: 9px;\n width: 9px;\n }\n`;\n\nconst PrefixContainer = styled.div<{size: Size, disabled: boolean}>`\n width: ${props => props.size === Size.Small?'10px':'11px'};\n height: ${props => props.size === Size.Small?'20px':'24px'};\n color: ${props => props.disabled ? COLORS.neutral_300 : COLORS.neutral_500};\n ${props=>props.size===Size.Small?ComponentSStyling(ComponentTextStyle.Regular,null):ComponentMStyling(ComponentTextStyle.Regular,null)}\n position: absolute;\n padding: ${props => props.size === Size.Small?'14px 0 14px 16px':'16px 0 16px 16px'};\n`;\n\nconst OperatorWrapper = styled.div<{size: Size}>`\n position: absolute;\n top: 0;\n right:0;\n display: flex;\n margin:${props => props.size === Size.Medium?'4px 0':''};\n svg {\n height: 14px;\n width: 14px;\n }\n .divider {\n margin: 16px 0;\n background: ${COLORS.neutral_200};\n width: 1px;\n }\n`;\n\nconst NumberInput = styled.input<{fieldSize: Size, hasPrefix: boolean, type: string}>`\n width: 100%; \n border: none;\n border-radius: 4px;\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_400};\n outline: none;\n color: ${COLORS.neutral_500};\n ${props => props.fieldSize === Size.Small?ComponentSStyling(ComponentTextStyle.Regular, COLORS.black):ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n\n ${props => props.type === 'NumberField' ? `\n padding: ${props.fieldSize === Size.Small?'14px 97px 14px 16px':'16px 97px 16px 16px'};\n padding-left: ${props.hasPrefix ? '30px':''};\n ` : ''}\n\n ${props => props.type === 'NumberInput' ? `\n padding: ${props.fieldSize === Size.Small?'14px 48px':'16px 48px'};\n ` : ''}\n\n &::placeholder {\n ${props => props.fieldSize === Size.Small?ComponentSStyling(ComponentTextStyle.Italic, null):ComponentMStyling(ComponentTextStyle.Italic, null)}\n }\n\n &:focus:not(.focus-visible):not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_800};\n }\n \n &.focus-visible {\n ${focusStyles}\n }\n\n &:hover:not(.disabled):not(.readOnly):not(.valid):not(.invalid) {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.primary_700};\n }\n\n &.disabled {\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_100};\n cursor: not-allowed;\n color: ${COLORS.neutral_300};\n cursor: not-allowed;\n pointer-events: none;\n\n &::placeholder {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.readOnly {\n background: ${COLORS.neutral_100};\n box-shadow: inset 0px 0px 0px 1px ${COLORS.neutral_300};\n cursor: not-allowed;\n background: ${COLORS.neutral_100};\n cursor: not-allowed;\n pointer-events: none;\n color: ${COLORS.neutral_500};\n }\n\n &.valid {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.correct_400};\n }\n\n &.invalid {\n box-shadow: inset 0px 0px 0px 2px ${COLORS.critical_400};\n }\n`;\n\nconst NoteLabel = styled.div<{size: Size}>`\n color: ${COLORS.neutral_500};\n ${props=>props.size===Size.Small ? ComponentXXSStyling(ComponentTextStyle.Regular,null) : ComponentXSStyling(ComponentTextStyle.Regular,null)} \n`;\n\nconst NoteIcon = styled.div`\n svg {\n height: 16px;\n }\n`;\n\nconst NoteContainer = styled.div`\n display: flex;\n margin-top: 5px;\n\n &.valid {\n ${NoteLabel} {\n color: ${COLORS.correct_500};\n }\n\n ${NoteIcon} {\n svg path {\n fill: ${COLORS.correct_500};\n }\n }\n }\n\n &.invalid {\n ${NoteLabel} {\n color: ${COLORS.critical_500};\n }\n\n ${NoteIcon} {\n svg path {\n fill: ${COLORS.critical_500};\n }\n }\n }\n`;\n\nconst InputContainer = styled.div<{size: Size, type:string}>`\n min-width: ${props => props.type === 'NumberField' ? '160px' : '144px'};\n height: ${props => props.size === Size.Small?'48px':'56px'};\n display: flex;\n position: relative;\n\n input.focus-visible ~ div.operator {\n z-index: ${Z_INDEXES.focus};\n }\n`;\n\nconst LeftOperator = styled.div<{size: Size}>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n left: 0;\n`;\n\nconst RightOperator = styled.div<{size: Size}>`\n position: absolute;\n top: ${props => props.size === Size.Small ? '0' : '4px'};\n right: 0;\n`;\n\ntype NumberFieldProps = {\n size: Size.Small | Size.Medium;\n prefix?: string;\n interval?: number;\n label: string;\n note?: string;\n noteIcon?: React.ReactNode;\n required?: boolean;\n minValue?: number;\n maxValue?: number;\n allowNegative?: boolean;\n decimalPrecision?: number;\n disabled?: boolean;\n readOnly?: boolean;\n valid?: boolean;\n value?: number;\n placeholder?: string;\n type: 'NumberField' | 'NumberInput';\n onChange?: (e: string) => void;\n}\n\nconst NumberField: React.FunctionComponent<NumberFieldProps> = (\n {size=Size.Small, \n label,\n note, \n noteIcon, \n required, \n prefix,\n interval=1, \n minValue, \n maxValue, \n allowNegative, \n decimalPrecision, \n disabled=false, \n readOnly=false, \n valid,\n value,\n placeholder,\n type,\n onChange}) => {\n const [userInput, setUserInput] = React.useState(value?value.toString():'');\n let fieldState = (valid!==undefined) ? (valid?'valid':'invalid') : undefined;\n\n const elementRef = useFocusVisibleRef();\n\n const setVal = (e: string) => {\n setUserInput(e);\n onChange && onChange(e);\n }\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLInputElement>) => {\n switch(e.key){\n case 'ArrowUp': addInterval();\n break;\n case 'ArrowDown': subtractInterval();\n break;\n default: break;\n }\n }\n\n const handleInput = (e: React.ChangeEvent<HTMLInputElement>) => {\n e.preventDefault();\n let simpleRegex = new RegExp(/^[0-9]\\d*$/);\n let decimalFormationRegEx = new RegExp(/^[0-9]\\d*\\.$/); \n let negativeDecimalFormationRegEx = new RegExp(/^[-][0-9]\\d*\\.$/);\n \n let allowNegativeRegex = new RegExp(/^[-][0-9]\\d*$/); \n let decimalPrecisionRegex = decimalPrecision ? new RegExp(`^[0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`) : undefined;\n let negativeAndDecimalRegex = (decimalPrecision && allowNegative) ? new RegExp(`^[-][0-9]\\\\d*\\\\.[0-9]\\\\d{0,${decimalPrecision-1}}$`): undefined;\n \n let val = e.target.value; \n if(val!==''){\n if(allowNegative && decimalPrecision){\n if(val.length===1 && val.charAt(0)==='-')\n setVal(val);\n else{\n if((negativeAndDecimalRegex!.test(val) || decimalPrecisionRegex!.test(val)) && isInRange(val,true))\n setVal(val);\n\n else if((negativeDecimalFormationRegEx.test(val) || decimalFormationRegEx.test(val)) && isInRange(val.replace('.',''),true))\n setVal(val);\n \n else if((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val,true))\n setVal(val);\n }\n }\n\n else if(allowNegative){\n if(val.length===1 && val.charAt(0)==='-')\n setVal(val);\n else if((allowNegativeRegex.test(val) || simpleRegex.test(val)) && isInRange(val,false))\n setVal(val);\n }\n\n else if(decimalPrecision && (val.indexOf('.')===val.lastIndexOf('.')) && isInRange(val,true)){\n if(decimalPrecisionRegex!.test(val))\n setVal(val);\n else if(decimalFormationRegEx.test(val))\n setVal(val);\n else if(!val.includes('.') && simpleRegex.test(val))\n setVal(val);\n }\n\n else if(simpleRegex.test(val) && isInRange(val, false)){\n setVal(val);\n }\n }\n\n if(val==='')\n setVal('');\n }\n\n const isInRange = (value: string, isDecimal: boolean): boolean => {\n let x = isDecimal ? parseFloat(value).toFixed(decimalPrecision) : parseInt(value);\n if(minValue && minValue>x)\n return false;\n else if(maxValue && maxValue<x)\n return false;\n else\n return true;\n }\n\n const addInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (minValue ? minValue-1 : 0) : val;\n if(!isNaN(val)){\n if(decimalPrecision)\n val = Math.round((val+interval)*Math.pow(10,decimalPrecision!))/Math.pow(10,decimalPrecision!);\n else\n val +=1;\n\n if(maxValue && maxValue>=val)\n setVal(val.toString());\n else if(!maxValue)\n setVal(val.toString());\n }\n }\n\n const subtractInterval = () => {\n let val = decimalPrecision ? parseFloat(userInput) : parseInt(userInput);\n val = isNaN(val) && userInput === '' ? (maxValue ? maxValue+1 : 0) : val;\n if(!isNaN(val)){\n if(decimalPrecision)\n val = Math.round((val-interval)*Math.pow(10,decimalPrecision!))/Math.pow(10,decimalPrecision!);\n else\n val -=1;\n \n if(minValue && minValue<=val)\n allowNegative ? setVal(val.toString()) : (val>=0 ? setVal(val.toString()) : undefined);\n else if(!minValue)\n allowNegative ? setVal(val.toString()) : (val>=0 ? setVal(val.toString()) : undefined);\n }\n }\n\n const isLocked = (input: string, operator: string): boolean => {\n let val = decimalPrecision ? parseFloat(input) : parseInt(input);\n val = isNaN(val) && userInput === '' ? 0 : val;\n let operatorState = false;\n if(operator === 'add' && maxValue)\n operatorState = val < maxValue ? false : true;\n \n if(operator === 'subtract' && minValue)\n operatorState = val > minValue ? false : true;\n\n if(operator === 'subtract' && !minValue && !allowNegative)\n operatorState = val > 0 ? false : true;\n\n return operatorState;\n }\n\n const renderNumberFieldElements = () => {\n return(\n <>\n {prefix && <PrefixContainer size={size} disabled={disabled} className='operator'>\n {prefix}\n </PrefixContainer>}\n\n <OperatorWrapper data-testid={'operators'} size={size} className='operator'>\n <IconButton tabIndex={0} variant='secondary' shape='square' action={()=>subtractInterval()} useTransparentBackground disabled={disabled || readOnly || isLocked(userInput,'subtract')}>\n <SystemIcons.Minus size='14px'/>\n </IconButton> \n <div className='divider'></div>\n <IconButton tabIndex={0} variant='secondary' shape='square' action={()=>addInterval()} useTransparentBackground disabled={disabled || readOnly || isLocked(userInput,'add')}>\n <SystemIcons.Plus size='14px'/>\n </IconButton>\n </OperatorWrapper>\n </>)\n }\n\n const renderNumberInputElements = () => {\n return(\n <>\n <LeftOperator data-testid={'leftOperator'} size={size} className='operator'>\n <IconButton tabIndex={0} variant='secondary' shape='square' action={()=>subtractInterval()} useTransparentBackground disabled={disabled || readOnly || isLocked(userInput,'subtract')}>\n <SystemIcons.Minus size='14px'/>\n </IconButton>\n </LeftOperator>\n <RightOperator data-testid={'rightOperator'} size={size} className='operator'>\n <IconButton tabIndex={0} variant='secondary' shape='square' action={()=>addInterval()} useTransparentBackground disabled={disabled || readOnly || isLocked(userInput,'add')}>\n <SystemIcons.Plus size='14px'/>\n </IconButton>\n </RightOperator>\n </>)\n }\n\n return (\n <Container>\n <LabelContainer size={size}>\n {required && <LabelIcon size={size} data-testid={'labelIcon'}>\n <SystemIcons.Asterisk color={COLORS.critical_500}/>\n </LabelIcon>\n }\n <LabelText>\n {label}\n </LabelText>\n </LabelContainer>\n\n <InputContainer type={type} size={size} tabIndex={-1}>\n <NumberInput type={type} data-testid={'numberInput'} fieldSize={size} hasPrefix={!!prefix} placeholder={placeholder ? placeholder : 'Enter number'}\n value={userInput} ref={elementRef}\n tabIndex={(disabled || readOnly) ? -1 : 0} onChange={e=>handleInput(e)} onKeyDown={e=>handleKeyPress(e)}\n className={'numberField'.concat(disabled?' disabled':'')\n .concat(readOnly?' readOnly':'')\n .concat(fieldState?` ${fieldState}`:'')}/>\n \n {type === 'NumberField' && renderNumberFieldElements()}\n {type === 'NumberInput' && renderNumberInputElements()}\n </InputContainer>\n\n {note && <NoteContainer className={'noteField'.concat(fieldState?` ${fieldState}`:'')}>\n <NoteIcon>\n {noteIcon}\n </NoteIcon>\n <NoteLabel size={size}>\n {note}\n </NoteLabel> \n </NoteContainer>\n }\n </Container>\n ); \n}\n\nexport default NumberField;\n"],"file":"NumberField.js"}
@@ -98,7 +98,7 @@ var RadioButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
98
98
  }, id);
99
99
  });
100
100
  RadioButton.propTypes = {
101
- id: _propTypes.default.string,
101
+ id: _propTypes.default.string.isRequired,
102
102
  selected: _propTypes.default.bool.isRequired,
103
103
  select: _propTypes.default.func.isRequired,
104
104
  label: _propTypes.default.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/RadioButton.tsx"],"names":["StyledRadioButton","styled","div","props","margin","COLORS","black","selected","primary_500","invalid","critical_400","neutral_600","ComponentTextStyle","Regular","focusStyles","primary_20","primary_700","primary_100","primary_800","neutral_300","white","RadioButton","React","forwardRef","ref","id","label","additionalLabel","select","disabled","iconPointerEventsTransparent","size","tabIndexVal","className","onKeyPress","e","keyCode","Size","Medium","cls","defaultOnMouseDownHandler","undefined"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {RadioButtonOff, RadioButtonOn} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {Size} from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst StyledRadioButton = styled.div<{ margin?: string, disabled?: boolean, invalid?: boolean, selected?: boolean }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .radio-button-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.invalid ? COLORS.critical_400 : COLORS.neutral_600)};\n }\n }\n\n .radio-button-label {\n user-select: none;\n display: flex;\n flex-direction: column;\n\n label {\n cursor: inherit;\n }\n\n span {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):focus {\n ${focusStyles}\n }\n\n &:not(.disabled):hover {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):active {\n .radio-button-icon {\n background: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .radio-button-icon,\n .radio-button-label {\n pointer-events: none;\n }\n\n .radio-button-icon {\n background-color: ${COLORS.white};\n }\n\n .radio-button-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.dropdown-hover:not(.disabled) {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n`;\n\ninterface Props {\n id?: string;\n selected: boolean;\n select: (selected: boolean) => void;\n label?: string;\n additionalLabel?: string;\n invalid?: boolean;\n disabled?: boolean;\n iconPointerEventsTransparent?: boolean;\n margin?: string;\n size?: Size;\n tabIndexVal?: number;\n className?: string;\n}\n\nconst RadioButton = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n label,\n additionalLabel,\n invalid,\n select,\n disabled,\n margin,\n iconPointerEventsTransparent,\n size,\n tabIndexVal,\n className\n }: Props, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled) {\n select(!selected);\n }\n };\n\n size = size ?? Size.Medium;\n\n const cls = `${size} ${className || ''} ${disabled ? ' disabled' : ''}`;\n\n return (\n <StyledRadioButton key={id} margin={margin}\n ref={ref}\n onClick={() => !disabled && select(!selected)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={onKeyPress}\n disabled={disabled}\n className={cls}\n tabIndex={disabled ? -1 : (tabIndexVal ? tabIndexVal : 0)}\n invalid={invalid}\n selected={selected}>\n <div className={'radio-button-icon'} id={id}>\n {selected && <RadioButtonOn className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n {!selected &&\n <RadioButtonOff className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n </div>\n <div className={'radio-button-label'}>\n {label && <label htmlFor={id}>{label}</label>}\n {additionalLabel !== undefined && <span>{additionalLabel}</span>}\n </div>\n </StyledRadioButton>\n );\n});\n\nexport default RadioButton;\n"],"file":"RadioButton.cjs"}
1
+ {"version":3,"sources":["../../src/InputFields/RadioButton.tsx"],"names":["StyledRadioButton","styled","div","props","margin","COLORS","black","selected","primary_500","invalid","critical_400","neutral_600","ComponentTextStyle","Regular","focusStyles","primary_20","primary_700","primary_100","primary_800","neutral_300","white","RadioButton","React","forwardRef","ref","id","label","additionalLabel","select","disabled","iconPointerEventsTransparent","size","tabIndexVal","className","onKeyPress","e","keyCode","Size","Medium","cls","defaultOnMouseDownHandler","undefined"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {RadioButtonOff, RadioButtonOn} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {Size} from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst StyledRadioButton = styled.div<{ margin?: string, disabled?: boolean, invalid?: boolean, selected?: boolean }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .radio-button-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.invalid ? COLORS.critical_400 : COLORS.neutral_600)};\n }\n }\n\n .radio-button-label {\n user-select: none;\n display: flex;\n flex-direction: column;\n\n label {\n cursor: inherit;\n }\n\n span {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):focus {\n ${focusStyles}\n }\n\n &:not(.disabled):hover {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):active {\n .radio-button-icon {\n background: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .radio-button-icon,\n .radio-button-label {\n pointer-events: none;\n }\n\n .radio-button-icon {\n background-color: ${COLORS.white};\n }\n\n .radio-button-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.dropdown-hover:not(.disabled) {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n`;\n\ninterface Props {\n id: string;\n selected: boolean;\n select: (selected: boolean) => void;\n label?: string;\n additionalLabel?: string;\n invalid?: boolean;\n disabled?: boolean;\n iconPointerEventsTransparent?: boolean;\n margin?: string;\n size?: Size;\n tabIndexVal?: number;\n className?: string;\n}\n\nconst RadioButton = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n label,\n additionalLabel,\n invalid,\n select,\n disabled,\n margin,\n iconPointerEventsTransparent,\n size,\n tabIndexVal,\n className\n }: Props, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled) {\n select(!selected);\n }\n };\n\n size = size ?? Size.Medium;\n\n const cls = `${size} ${className || ''} ${disabled ? ' disabled' : ''}`;\n\n return (\n <StyledRadioButton key={id} margin={margin}\n ref={ref}\n onClick={() => !disabled && select(!selected)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={onKeyPress}\n disabled={disabled}\n className={cls}\n tabIndex={disabled ? -1 : (tabIndexVal ? tabIndexVal : 0)}\n invalid={invalid}\n selected={selected}>\n <div className={'radio-button-icon'} id={id}>\n {selected && <RadioButtonOn className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n {!selected &&\n <RadioButtonOff className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n </div>\n <div className={'radio-button-label'}>\n {label && <label htmlFor={id}>{label}</label>}\n {additionalLabel !== undefined && <span>{additionalLabel}</span>}\n </div>\n </StyledRadioButton>\n );\n});\n\nexport default RadioButton;\n"],"file":"RadioButton.cjs"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Size } from '../types';
3
3
  interface Props {
4
- id?: string;
4
+ id: string;
5
5
  selected: boolean;
6
6
  select: (selected: boolean) => void;
7
7
  label?: string;
@@ -76,7 +76,7 @@ var RadioButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
76
76
  }, id);
77
77
  });
78
78
  RadioButton.propTypes = {
79
- id: _pt.string,
79
+ id: _pt.string.isRequired,
80
80
  selected: _pt.bool.isRequired,
81
81
  select: _pt.func.isRequired,
82
82
  label: _pt.string,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/RadioButton.tsx"],"names":["React","styled","RadioButtonOff","RadioButtonOn","COLORS","ComponentTextStyle","focusStyles","Size","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","defaultOnMouseDownHandler","StyledRadioButton","div","props","margin","black","selected","primary_500","invalid","critical_400","neutral_600","Regular","primary_20","primary_700","primary_100","primary_800","neutral_300","white","RadioButton","forwardRef","ref","id","label","additionalLabel","select","disabled","iconPointerEventsTransparent","size","tabIndexVal","className","onKeyPress","e","keyCode","Medium","cls","undefined"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {RadioButtonOff, RadioButtonOn} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {Size} from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst StyledRadioButton = styled.div<{ margin?: string, disabled?: boolean, invalid?: boolean, selected?: boolean }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .radio-button-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.invalid ? COLORS.critical_400 : COLORS.neutral_600)};\n }\n }\n\n .radio-button-label {\n user-select: none;\n display: flex;\n flex-direction: column;\n\n label {\n cursor: inherit;\n }\n\n span {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):focus {\n ${focusStyles}\n }\n\n &:not(.disabled):hover {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):active {\n .radio-button-icon {\n background: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .radio-button-icon,\n .radio-button-label {\n pointer-events: none;\n }\n\n .radio-button-icon {\n background-color: ${COLORS.white};\n }\n\n .radio-button-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.dropdown-hover:not(.disabled) {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n`;\n\ninterface Props {\n id?: string;\n selected: boolean;\n select: (selected: boolean) => void;\n label?: string;\n additionalLabel?: string;\n invalid?: boolean;\n disabled?: boolean;\n iconPointerEventsTransparent?: boolean;\n margin?: string;\n size?: Size;\n tabIndexVal?: number;\n className?: string;\n}\n\nconst RadioButton = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n label,\n additionalLabel,\n invalid,\n select,\n disabled,\n margin,\n iconPointerEventsTransparent,\n size,\n tabIndexVal,\n className\n }: Props, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled) {\n select(!selected);\n }\n };\n\n size = size ?? Size.Medium;\n\n const cls = `${size} ${className || ''} ${disabled ? ' disabled' : ''}`;\n\n return (\n <StyledRadioButton key={id} margin={margin}\n ref={ref}\n onClick={() => !disabled && select(!selected)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={onKeyPress}\n disabled={disabled}\n className={cls}\n tabIndex={disabled ? -1 : (tabIndexVal ? tabIndexVal : 0)}\n invalid={invalid}\n selected={selected}>\n <div className={'radio-button-icon'} id={id}>\n {selected && <RadioButtonOn className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n {!selected &&\n <RadioButtonOff className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n </div>\n <div className={'radio-button-label'}>\n {label && <label htmlFor={id}>{label}</label>}\n {additionalLabel !== undefined && <span>{additionalLabel}</span>}\n </div>\n </StyledRadioButton>\n );\n});\n\nexport default RadioButton;\n"],"file":"RadioButton.js"}
1
+ {"version":3,"sources":["../../src/InputFields/RadioButton.tsx"],"names":["React","styled","RadioButtonOff","RadioButtonOn","COLORS","ComponentTextStyle","focusStyles","Size","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXXSStyling","defaultOnMouseDownHandler","StyledRadioButton","div","props","margin","black","selected","primary_500","invalid","critical_400","neutral_600","Regular","primary_20","primary_700","primary_100","primary_800","neutral_300","white","RadioButton","forwardRef","ref","id","label","additionalLabel","select","disabled","iconPointerEventsTransparent","size","tabIndexVal","className","onKeyPress","e","keyCode","Medium","cls","undefined"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {RadioButtonOff, RadioButtonOn} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\nimport {Size} from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentXXSStyling} from '../styles';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst StyledRadioButton = styled.div<{ margin?: string, disabled?: boolean, invalid?: boolean, selected?: boolean }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .radio-button-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.invalid ? COLORS.critical_400 : COLORS.neutral_600)};\n }\n }\n\n .radio-button-label {\n user-select: none;\n display: flex;\n flex-direction: column;\n\n label {\n cursor: inherit;\n }\n\n span {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.black)}\n }\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .radio-button-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):focus {\n ${focusStyles}\n }\n\n &:not(.disabled):hover {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):active {\n .radio-button-icon {\n background: ${COLORS.primary_100};\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .radio-button-icon,\n .radio-button-label {\n pointer-events: none;\n }\n\n .radio-button-icon {\n background-color: ${COLORS.white};\n }\n\n .radio-button-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n\n &.dropdown-hover:not(.disabled) {\n .radio-button-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n`;\n\ninterface Props {\n id: string;\n selected: boolean;\n select: (selected: boolean) => void;\n label?: string;\n additionalLabel?: string;\n invalid?: boolean;\n disabled?: boolean;\n iconPointerEventsTransparent?: boolean;\n margin?: string;\n size?: Size;\n tabIndexVal?: number;\n className?: string;\n}\n\nconst RadioButton = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n label,\n additionalLabel,\n invalid,\n select,\n disabled,\n margin,\n iconPointerEventsTransparent,\n size,\n tabIndexVal,\n className\n }: Props, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled) {\n select(!selected);\n }\n };\n\n size = size ?? Size.Medium;\n\n const cls = `${size} ${className || ''} ${disabled ? ' disabled' : ''}`;\n\n return (\n <StyledRadioButton key={id} margin={margin}\n ref={ref}\n onClick={() => !disabled && select(!selected)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={onKeyPress}\n disabled={disabled}\n className={cls}\n tabIndex={disabled ? -1 : (tabIndexVal ? tabIndexVal : 0)}\n invalid={invalid}\n selected={selected}>\n <div className={'radio-button-icon'} id={id}>\n {selected && <RadioButtonOn className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n {!selected &&\n <RadioButtonOff className={iconPointerEventsTransparent ? 'pointerTransparent' : ''} size=\"24px\"/>}\n </div>\n <div className={'radio-button-label'}>\n {label && <label htmlFor={id}>{label}</label>}\n {additionalLabel !== undefined && <span>{additionalLabel}</span>}\n </div>\n </StyledRadioButton>\n );\n});\n\nexport default RadioButton;\n"],"file":"RadioButton.js"}
@@ -29,7 +29,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
29
29
 
30
30
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
31
 
32
- var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
32
+ var TextField = function TextField(_ref) {
33
33
  var id = _ref.id,
34
34
  disabled = _ref.disabled,
35
35
  readOnly = _ref.readOnly,
@@ -49,9 +49,6 @@ var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
49
49
  margin = _ref$margin === void 0 ? '4px 0' : _ref$margin,
50
50
  note = _ref.note;
51
51
  var elementRef = (0, _common.useFocusVisibleRef)();
52
- React.useImperativeHandle(ref, function () {
53
- return elementRef.current;
54
- }, [elementRef]);
55
52
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
56
53
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styling.InputWrapper, {
57
54
  readOnly: readOnly,
@@ -101,7 +98,8 @@ var TextField = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
101
98
  })]
102
99
  })
103
100
  });
104
- });
101
+ };
102
+
105
103
  TextField.propTypes = {
106
104
  id: _propTypes.default.string.isRequired,
107
105
  disabled: _propTypes.default.bool,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["TextField","React","forwardRef","ref","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","note","elementRef","useImperativeHandle","current","e","preventDefault","States","Invalid","undefined","target","Valid","COLORS","correct_400","critical_400","icon","message"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {CheckMark, TechnicalWarning} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {Size, States} from '../types';\nimport {ErrorMessage, InputFieldStyling, InputWrapper, NoteMessage, ValidationMessage} from './styling';\nimport {useFocusVisibleRef} from '../common';\nimport {TextFieldNote} from './types';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (text: string) => void;\n value?: string;\n validationMessage?: string;\n type?: string;\n state?: States.Invalid | States.Valid;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n note?: TextFieldNote;\n};\n\nconst TextField = React.forwardRef(({\n id,\n disabled,\n readOnly,\n onChange,\n value,\n validationMessage,\n type,\n autoComplete,\n placeholder,\n required,\n pattern,\n maxLength,\n withoutBorder,\n state,\n size,\n margin = '4px 0',\n note,\n }: TextFieldProps, ref) => {\n const elementRef = useFocusVisibleRef();\n\n React.useImperativeHandle(ref, () => elementRef.current, [elementRef]);\n\n return (\n <>\n <InputWrapper\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || readOnly) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n ref={elementRef}\n type={type || 'text'}\n value={value}\n className={`${state || (validationMessage ? States.Invalid : '')} ${size || ''}`}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={disabled ? undefined : placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage && state !== States.Valid}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n />\n {validationMessage && (\n <ValidationMessage className={size || ''} type={state ?? States.Invalid}>\n {state === States.Valid ? <CheckMark color={COLORS.correct_400}/> :\n <TechnicalWarning color={COLORS.critical_400}/>}\n <span>{validationMessage}</span>\n </ValidationMessage>\n )}\n {note && !disabled && (\n <NoteMessage className={size}>\n {note.icon}\n <span>{note.message}</span>\n </NoteMessage>\n )}\n </InputWrapper>\n </>\n );\n});\n\nexport default TextField;\n"],"file":"TextField.cjs"}
1
+ {"version":3,"sources":["../../src/InputFields/TextField.tsx"],"names":["TextField","id","disabled","readOnly","onChange","value","validationMessage","type","autoComplete","placeholder","required","pattern","maxLength","withoutBorder","state","size","margin","note","elementRef","e","preventDefault","States","Invalid","undefined","target","Valid","COLORS","correct_400","critical_400","icon","message"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { CheckMark, TechnicalWarning } from '../icons/systemicons/SystemIcons';\nimport { COLORS } from '../styles';\nimport { Size, States } from '../types';\nimport { ErrorMessage, InputFieldStyling, InputWrapper, NoteMessage, ValidationMessage } from './styling';\nimport { useFocusVisibleRef } from '../common';\nimport { TextFieldNote } from './types';\n\ntype TextFieldProps = {\n id: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (text: string) => void;\n value?: string;\n validationMessage?: string;\n type?: string;\n state?: States.Invalid | States.Valid;\n autoComplete?: string;\n placeholder?: string;\n required?: boolean;\n pattern?: string;\n maxLength?: number;\n withoutBorder?: boolean;\n size?: Size.Small | Size.Medium;\n margin?: string;\n note?: TextFieldNote;\n};\n\nconst TextField = ({\n id,\n disabled,\n readOnly,\n onChange,\n value,\n validationMessage,\n type,\n autoComplete,\n placeholder,\n required,\n pattern,\n maxLength,\n withoutBorder,\n state,\n size,\n margin = '4px 0',\n note,\n}: TextFieldProps) => {\n const elementRef = useFocusVisibleRef();\n\n return (\n <>\n <InputWrapper\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onClick={(e: any) => {\n if (disabled || readOnly) {\n e.preventDefault();\n }\n }}>\n <InputFieldStyling\n id={id}\n ref={elementRef}\n type={type || 'text'}\n value={value}\n className={`${state || (validationMessage ? States.Invalid : '')} ${size || ''}`}\n tabIndex={readOnly || disabled ? -1 : 0}\n autoComplete={autoComplete}\n placeholder={disabled ? undefined : placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={(e: any) => onChange && onChange(e?.target?.value || '')}\n activeErrorMessage={!!validationMessage && state !== States.Valid}\n required={required}\n pattern={pattern}\n maxLength={maxLength}\n withoutBorder={withoutBorder}\n />\n {validationMessage && (\n <ValidationMessage className={size || ''} type={state ?? States.Invalid}>\n {state === States.Valid ? <CheckMark color={COLORS.correct_400} /> : <TechnicalWarning color={COLORS.critical_400} />}\n <span>{validationMessage}</span>\n </ValidationMessage>\n )}\n {note && !disabled && (\n <NoteMessage className={size}>\n {note.icon}\n <span>{note.message}</span>\n </NoteMessage>\n )}\n </InputWrapper>\n </>\n );\n};\n\nexport default TextField;\n"],"file":"TextField.cjs"}
@@ -1,4 +1,3 @@
1
- import * as React from 'react';
2
1
  import { Size, States } from '../types';
3
2
  import { TextFieldNote } from './types';
4
3
  declare type TextFieldProps = {
@@ -20,5 +19,5 @@ declare type TextFieldProps = {
20
19
  margin?: string;
21
20
  note?: TextFieldNote;
22
21
  };
23
- declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<unknown>>;
22
+ declare const TextField: ({ id, disabled, readOnly, onChange, value, validationMessage, type, autoComplete, placeholder, required, pattern, maxLength, withoutBorder, state, size, margin, note, }: TextFieldProps) => JSX.Element;
24
23
  export default TextField;