dibk-design 0.3.24 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
14
  var _Button = _interopRequireDefault(require("./Button"));
15
15
 
16
+ var _Label = _interopRequireDefault(require("./Label"));
17
+
16
18
  var _reactDatepicker = _interopRequireWildcard(require("react-datepicker"));
17
19
 
18
20
  var _dateFns = require("date-fns");
@@ -139,14 +141,13 @@ var InputField = /*#__PURE__*/function (_React$Component) {
139
141
 
140
142
  return /*#__PURE__*/_react.default.createElement("div", {
141
143
  className: "".concat(_InputFieldModule.default.inputField, " ").concat(_InputFieldModule.default[this.props.type])
142
- }, /*#__PURE__*/_react.default.createElement("label", {
144
+ }, /*#__PURE__*/_react.default.createElement(_Label.default, {
143
145
  htmlFor: this.props.id
144
146
  }, this.props.label, this.props.type === 'file' ? /*#__PURE__*/_react.default.createElement("div", {
145
147
  className: _InputFieldModule.default.fileInputContainer
146
148
  }, /*#__PURE__*/_react.default.createElement("span", {
147
149
  className: _InputFieldModule.default.input
148
150
  }, this.props.selectedFileName), this.props.buttonContent ? /*#__PURE__*/_react.default.createElement(_Button.default, {
149
- size: "small",
150
151
  color: this.props.buttonColor,
151
152
  onClick: function onClick() {
152
153
  document.getElementById(_this2.props.id).click();
@@ -4,24 +4,13 @@
4
4
  > div {
5
5
  display: block;
6
6
  }
7
- label {
8
- cursor: pointer;
9
- font-size: 18px;
10
- margin: 0 0 4px;
11
- font-family: "Open Sans", arial, sans-serif;
12
- line-height: 1.3;
13
- font-weight: bold;
14
- font-style: normal;
15
- display: block;
16
- }
17
-
18
7
  input,
19
8
  &:local(.file) :local(span.input) {
20
9
  @include appearance(none);
21
10
  @include transition(border-color 0.15s linear, background 0.15s linear);
22
11
  @include border-radius(0);
23
12
  @include box-shadow(none);
24
- height: 46px;
13
+ height: 56px;
25
14
  width: 100%;
26
15
  display: block;
27
16
  padding: 10px;
@@ -31,7 +20,7 @@
31
20
  box-shadow: none;
32
21
  color: rgba(0, 0, 0, 0.75);
33
22
  font-family: inherit;
34
- font-size: 1.125rem;
23
+ font-size: 19px;
35
24
  box-sizing: border-box;
36
25
  min-width: 40%;
37
26
  border: 1px solid #afaba8;
@@ -52,10 +41,9 @@
52
41
  }
53
42
 
54
43
  &:local(.hasErrors) {
55
- border-color: $color-warning;
56
- @include box-shadow(0 0 3px $color-warning);
44
+ border-color: $color-error;
57
45
  &:focus {
58
- border-color: $color-warning-hover;
46
+ border-color: $color-error;
59
47
  outline-color: #b8565d;
60
48
  }
61
49
  &[disabled],
@@ -84,8 +72,11 @@
84
72
  }
85
73
  }
86
74
  :local(.errorMessage) {
87
- color: $color-warning;
88
- font-weight: 300;
89
- font-style: italic;
75
+ color: $color-error-text;
76
+ font-size: 19px;
77
+ font-weight: 400;
78
+ line-height: 1.6;
79
+ font-family: "Open Sans", sans-serif;
80
+ overflow-wrap: break-word;
90
81
  }
91
82
  }
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _LabelModule = _interopRequireDefault(require("./Label.module.scss"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+
20
+ 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; }
21
+
22
+ 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; }
23
+
24
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
25
+
26
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
27
+
28
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
29
+
30
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
31
+
32
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
33
+
34
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
35
+
36
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
37
+
38
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
39
+
40
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
41
+
42
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
+
44
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
45
+
46
+ var Label = /*#__PURE__*/function (_React$Component) {
47
+ _inherits(Label, _React$Component);
48
+
49
+ var _super = _createSuper(Label);
50
+
51
+ function Label() {
52
+ _classCallCheck(this, Label);
53
+
54
+ return _super.apply(this, arguments);
55
+ }
56
+
57
+ _createClass(Label, [{
58
+ key: "render",
59
+ value: function render() {
60
+ var labelProps = _objectSpread({}, this.props);
61
+
62
+ delete labelProps.inline;
63
+ var className = "".concat(_LabelModule.default.label, " ").concat(this.props.inline ? _LabelModule.default.inline : '');
64
+ return /*#__PURE__*/_react.default.createElement("label", _extends({}, labelProps, {
65
+ className: className
66
+ }), this.props.children);
67
+ }
68
+ }]);
69
+
70
+ return Label;
71
+ }(_react.default.Component);
72
+
73
+ Label.propTypes = {
74
+ inline: _propTypes.default.bool
75
+ };
76
+ Label.defaultProps = {
77
+ inline: false
78
+ };
79
+ var _default = Label;
80
+ exports.default = _default;
@@ -0,0 +1,8 @@
1
+ Labels example:
2
+
3
+ ```js
4
+ <Label>Default label</Label>
5
+ <Label>Default label 2</Label>
6
+ <Label inline>Inline label </Label>
7
+ <Label inline>Inline label 2</Label>
8
+ ```
@@ -0,0 +1,14 @@
1
+ :local(.label) {
2
+ color: #000;
3
+ cursor: pointer;
4
+ display: block;
5
+ font-size: 1rem;
6
+ font-weight: 400;
7
+ line-height: 1.5;
8
+ margin-bottom: 0;
9
+ font-family: "Open Sans", sans-serif;
10
+ overflow-wrap: break-word;
11
+ &:local(.inline) {
12
+ display: inline-block;
13
+ }
14
+ }
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
+ var _Label = _interopRequireDefault(require("./Label"));
13
+
12
14
  var _theme = require("../functions/theme");
13
15
 
14
16
  var _SelectModule = _interopRequireDefault(require("./Select.module.scss"));
@@ -127,7 +129,7 @@ var Select = /*#__PURE__*/function (_React$Component) {
127
129
  var value = this.props.value ? this.props.value : "";
128
130
  return /*#__PURE__*/_react.default.createElement("div", {
129
131
  className: _SelectModule.default.select
130
- }, /*#__PURE__*/_react.default.createElement("label", {
132
+ }, /*#__PURE__*/_react.default.createElement(_Label.default, {
131
133
  htmlFor: this.props.id
132
134
  }, this.props.label), !this.props.contentOnly ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
133
135
  className: _SelectModule.default.selectContainer
@@ -1,21 +1,10 @@
1
1
  @import "../style/global.scss";
2
2
 
3
3
  :local(.select) {
4
- label {
5
- cursor: pointer;
6
- font-size: 18px;
7
- margin: 0 0 4px;
8
- font-family: "Open Sans", arial, sans-serif;
9
- line-height: 1.3;
10
- font-weight: bold;
11
- font-style: normal;
12
- display: block;
13
- }
14
-
15
4
  :local(.selectContainer) {
16
5
  position: relative;
17
6
 
18
- :local(.selectListArrow) {
7
+ :local(.selectListArrow_old) {
19
8
  position: absolute;
20
9
  display: block;
21
10
  content: "";
@@ -29,15 +18,40 @@
29
18
  pointer-events: none;
30
19
  }
31
20
 
21
+ :local(.selectListArrow) {
22
+ box-sizing: border-box;
23
+ position: absolute;
24
+ top: 20px;
25
+ right: 20px;
26
+ display: block;
27
+ width: 12px;
28
+ height: 12px;
29
+ border-radius: 100px;
30
+
31
+ &::after {
32
+ content: "";
33
+ display: block;
34
+ box-sizing: border-box;
35
+ position: absolute;
36
+ width: 12px;
37
+ height: 12px;
38
+ border-bottom: 2px solid;
39
+ border-right: 2px solid;
40
+ transform: translateY(-30%) rotate(45deg);
41
+ transition: transform 0.3s ease-in-out;
42
+ }
43
+ }
44
+
32
45
  select {
33
46
  @include border-radius(0);
34
47
  @include transition(border-color 0.15s linear);
35
48
  @include appearance(none);
36
49
  @include box-shadow(none);
50
+ height: 56px;
37
51
  color: rgba(0, 0, 0, 0.75);
38
52
  width: 100%;
39
53
  font-family: inherit;
40
- font-size: 1.125rem;
54
+ font-size: 19px;
41
55
  padding: 10px 40px 10px 10px;
42
56
  border: 1px solid #afaba8;
43
57
  border-radius: 0;
@@ -61,10 +75,9 @@
61
75
  }
62
76
 
63
77
  &:local(.hasErrors) {
64
- border-color: $color-warning;
65
- @include box-shadow(0 0 3px $color-warning);
78
+ border-color: $color-error;
66
79
  &:focus {
67
- border-color: $color-warning-hover;
80
+ border-color: $color-error;
68
81
  outline-color: #b8565d;
69
82
  }
70
83
  &[disabled],
@@ -77,8 +90,11 @@
77
90
  }
78
91
  }
79
92
  :local(.errorMessage) {
80
- color: $color-warning;
81
- font-weight: 300;
82
- font-style: italic;
93
+ color: $color-error-text;
94
+ font-size: 19px;
95
+ font-weight: 400;
96
+ line-height: 1.6;
97
+ font-family: "Open Sans", sans-serif;
98
+ overflow-wrap: break-word;
83
99
  }
84
100
  }
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _Label = _interopRequireDefault(require("./Label"));
15
+
16
+ var _theme = require("../functions/theme");
17
+
18
+ var _TextareaModule = _interopRequireDefault(require("./Textarea.module.scss"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
+
24
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
25
+
26
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
27
+
28
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
+
30
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
+
32
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
33
+
34
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
35
+
36
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
37
+
38
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
+
40
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
+
42
+ var Textarea = /*#__PURE__*/function (_React$Component) {
43
+ _inherits(Textarea, _React$Component);
44
+
45
+ var _super = _createSuper(Textarea);
46
+
47
+ function Textarea() {
48
+ _classCallCheck(this, Textarea);
49
+
50
+ return _super.apply(this, arguments);
51
+ }
52
+
53
+ _createClass(Textarea, [{
54
+ key: "getThemeErrorInputStyle",
55
+ value: function getThemeErrorInputStyle(theme) {
56
+ return {
57
+ boxShadow: "0 0 3px ".concat((0, _theme.getThemePaletteBackgroundColor)(theme, 'warning')),
58
+ borderColor: (0, _theme.getThemePaletteBackgroundColor)(theme, 'warning')
59
+ };
60
+ }
61
+ }, {
62
+ key: "getThemeErrorMessageStyle",
63
+ value: function getThemeErrorMessageStyle(theme) {
64
+ return {
65
+ color: (0, _theme.getThemePaletteBackgroundColor)(theme, 'warning')
66
+ };
67
+ }
68
+ }, {
69
+ key: "renderValueAsText",
70
+ value: function renderValueAsText(value, defaultContent) {
71
+ return value ? value : defaultContent;
72
+ }
73
+ }, {
74
+ key: "renderInputField",
75
+ value: function renderInputField() {
76
+ return /*#__PURE__*/_react.default.createElement("textarea", {
77
+ name: this.props.name,
78
+ readOnly: this.props.readOnly,
79
+ disabled: this.props.disabled,
80
+ type: this.props.type,
81
+ id: this.props.id,
82
+ onChange: this.props.onChange,
83
+ onBlur: this.props.onBlur,
84
+ value: this.props.value ? this.props.value : '',
85
+ placeholder: this.props.placeholder,
86
+ rows: this.props.rows,
87
+ className: this.props.hasErrors ? _TextareaModule.default.hasErrors : '',
88
+ "aria-required": this.props.mandatory,
89
+ style: this.props.hasErrors ? this.getThemeErrorInputStyle(this.props.theme) : null
90
+ });
91
+ }
92
+ }, {
93
+ key: "render",
94
+ value: function render() {
95
+ return /*#__PURE__*/_react.default.createElement("div", {
96
+ className: _TextareaModule.default.textarea
97
+ }, /*#__PURE__*/_react.default.createElement(_Label.default, {
98
+ htmlFor: this.props.id
99
+ }, this.props.label), !this.props.contentOnly ? this.renderInputField() : /*#__PURE__*/_react.default.createElement("span", null, this.renderValueAsText(this.props.value, this.props.defaultContent)), /*#__PURE__*/_react.default.createElement("span", {
100
+ className: _TextareaModule.default.errorMessage,
101
+ style: this.getThemeErrorMessageStyle(this.props.theme)
102
+ }, this.props.errorMessage ? this.props.errorMessage : ''));
103
+ }
104
+ }]);
105
+
106
+ return Textarea;
107
+ }(_react.default.Component);
108
+
109
+ Textarea.propTypes = {
110
+ /** Text content inside list item */
111
+ id: _propTypes.default.string.isRequired,
112
+ onChange: _propTypes.default.func.isRequired,
113
+ onBlur: _propTypes.default.func,
114
+ name: _propTypes.default.string,
115
+ type: _propTypes.default.string,
116
+ value: _propTypes.default.string,
117
+ rows: _propTypes.default.string,
118
+ label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]))]),
119
+ contentOnly: _propTypes.default.bool,
120
+ placeholder: _propTypes.default.string,
121
+ defaultContent: _propTypes.default.string,
122
+ hasErrors: _propTypes.default.bool,
123
+ errorMessage: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]))]),
124
+ mandatory: _propTypes.default.bool,
125
+ theme: _propTypes.default.object
126
+ };
127
+ Textarea.defaultProps = {
128
+ name: '',
129
+ type: 'text',
130
+ label: '',
131
+ contentOnly: false,
132
+ placeholder: '',
133
+ defaultContent: '',
134
+ hasErrors: false,
135
+ errorMessage: '',
136
+ mandatory: false
137
+ };
138
+ var _default = Textarea;
139
+ exports.default = _default;
@@ -0,0 +1,23 @@
1
+ Input field example:
2
+
3
+ ```js
4
+ <Textarea id="textInput1" onChange={()=>{console.log('onchange')}} mandatory={true} />
5
+ <Textarea id="textInput2" onChange={()=>{console.log('onchange')}} value="Textarea with value" />
6
+ <Textarea id="textInput3" onChange={()=>{console.log('onchange')}} value="Textarea with label and value" label="Textarea with label and value" />
7
+ <Textarea id="textInput4" onChange={()=>{console.log('onchange')}} value="Textarea with link in label" label={['Textarea with ', <a key="labelLink" href="#">link</a>, ' in label']} />
8
+ <Textarea id="textInput5" onChange={()=>{console.log('onchange')}} value="Textarea with label, value, errors and error message" label="Textarea with label, value, errors and error message" hasErrors={true} errorMessage="Wrong value" />
9
+ <Textarea id="textInput6" onChange={()=>{console.log('onchange')}} readOnly value="Read only Textarea with label and value" label="Read only Textarea with label and value" />
10
+ <Textarea id="textInput7" onChange={()=>{console.log('onchange')}} disabled value="Disabled Textarea with label and value" label="Disabled Textarea with label and value" />
11
+ <Textarea id="textInput7" onChange={()=>{console.log('onchange')}} value="Value for Textarea" label="Textarea with label, value and contentOnly set to true" contentOnly={true} />
12
+ <Textarea id="textInput8" onChange={() => {console.log('onChange')}} label="Textarea without value, contentOnly set to true and defaultContent" contentOnly={true} defaultContent="Please insert a value" />
13
+ ```
14
+
15
+ Themed Input field example:
16
+
17
+ ```js
18
+ import customTheme from 'data/customTheme';
19
+ <React.Fragment>
20
+ <Textarea id="themedTextInput4" onChange={()=>{console.log('onchange')}} value="Textarea with link in label" label={['Textarea with ', <a key="labelLink" href="#">link</a>, ' in label']} theme={customTheme} />
21
+ <Textarea id="themedTextInput5" onChange={()=>{console.log('onchange')}} value="Textarea with label, value, errors and error message" label="Textarea with label, value, errors and error message" hasErrors={true} errorMessage="Wrong value" theme={customTheme} />
22
+ </React.Fragment>
23
+ ```