@commercetools-uikit/localized-text-input 13.0.0 → 13.0.4

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.
package/README.md CHANGED
@@ -48,25 +48,27 @@ export default Example;
48
48
 
49
49
  ## Properties
50
50
 
51
- | Props | Type | Required | Default | Description |
52
- | ------------------------------- | -------------------------------------------------------------------------------------------------------- | :------: | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
- | `id` | `string` | | | |
54
- | `name` | `string` | | | |
55
- | `autoComplete` | `string` | | | |
56
- | `value` | `objectOf(string)` || | |
57
- | `onChange` | `custom` | | | Gets called when any input is changed. Is called with the change event of the changed input. |
58
- | `selectedLanguage` | `string` | ✅ | | Specifies which language will be shown in case the `LocalizedTextInput` is collapsed. |
59
- | `onBlur` | `func` | | | Called when any field is blurred. Is called with the `event` of that field. |
60
- | `onFocus` | `func` | | | Called when any field is focussed. Is called with the `event` of that field. |
61
- | `hideLanguageExpansionControls` | `bool` | | | Will hide the language expansion controls when set to `true`. All languages will be shown when set to `true`. |
62
- | `defaultExpandLanguages` | `custom` | | | Controls whether one or all languages are visible by default |
63
- | `isAutofocussed` | `bool` | | | Focus the input field on initial render |
64
- | `isDisabled` | `bool` | | | Disables all input fields. |
65
- | `isReadOnly` | `bool` | | | Disables all input fields and shows them in read-only mode. |
66
- | `placeholder` | `objectOf(string)` | | | Placeholders for each language. Object of the same shape as `value`. |
67
- | `horizontalConstraint` | `enum`<br/>Possible values:<br/>`1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto'` | | `'scale'` | Horizontal size limit of the input fields. |
68
- | `hasError` | `bool` | | | Will apply the error state to each input without showing any error message. |
69
- | `errors` | `objectOf(node)` | | | Used to show errors underneath the inputs of specific currencies. Pass an object whose key is a currency and whose value is the error to show for that key. |
51
+ | Props | Type | Required | Default | Description |
52
+ | ------------------------------- | ----------------------------------------------------------------------------------------------------------- | :------: | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
53
+ | `id` | `string` | | | |
54
+ | `name` | `string` | | | |
55
+ | `autoComplete` | `string` | | | |
56
+ | `aria-invalid` | `boolean` | | | Indicate if the value entered in the input is invalid. |
57
+ | `aria-errormessage` | `string` | | | HTML ID of an element containing an error message related to the input. |
58
+ | `value` | `Record` | ✅ | | then input doesn't accept a "languages" prop, instead all possible&#xA;languages have to exist (with empty or filled strings) on the value:&#xA;{ en: 'foo', de: '', es: '' } |
59
+ | `onChange` | `ChangeEventHandler` | | | Gets called when any input is changed. Is called with the change event of the changed input. |
60
+ | `selectedLanguage` | `string` || | Specifies which language will be shown in case the `LocalizedTextInput` is collapsed. |
61
+ | `onBlur` | `FocusEventHandler` | | | Called when any field is blurred. Is called with the `event` of that field. |
62
+ | `onFocus` | `FocusEventHandler` | | | Called when any field is focussed. Is called with the `event` of that field. |
63
+ | `hideLanguageExpansionControls` | `boolean` | | | Will hide the language expansion controls when set to `true`. All languages will be shown when set to `true`. |
64
+ | `defaultExpandLanguages` | `boolean` | | | Controls whether one or all languages are visible by default |
65
+ | `isAutofocussed` | `boolean` | | | Focus the input field on initial render |
66
+ | `isDisabled` | `boolean` | | | Disables all input fields. |
67
+ | `isReadOnly` | `boolean` | | | Disables all input fields and shows them in read-only mode. |
68
+ | `placeholder` | `Record` | | | Placeholders for each language. Object of the same shape as `value`. |
69
+ | `horizontalConstraint` | `union`<br/>Possible values:<br/>`, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto'` | | `'scale'` | Horizontal size limit of the input fields. |
70
+ | `hasError` | `boolean` | | | Will apply the error state to each input without showing any error message. |
71
+ | `errors` | `Record` | | | Used to show errors underneath the inputs of specific currencies. Pass an object whose key is a currency and whose value is the error to show for that key. |
70
72
 
71
73
  ## `data-*` props
72
74
 
@@ -0,0 +1,2 @@
1
+ export * from "./declarations/src/index";
2
+ export { default } from "./declarations/src/index";
@@ -9,16 +9,12 @@ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/in
9
9
  var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
10
10
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
11
11
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
12
- var _taggedTemplateLiteral = require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
13
12
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
14
13
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
14
+ var _pt = require('prop-types');
15
15
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
16
16
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
17
- var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
18
17
  var react$1 = require('react');
19
- var PropTypes = require('prop-types');
20
- var requiredIf = require('react-required-if');
21
- var commonTags = require('common-tags');
22
18
  var reactIntl = require('react-intl');
23
19
  var react = require('@emotion/react');
24
20
  var hooks = require('@commercetools-uikit/hooks');
@@ -42,11 +38,9 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
42
38
  var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
43
39
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
44
40
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
41
+ var _pt__default = /*#__PURE__*/_interopDefault(_pt);
45
42
  var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
46
43
  var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
47
- var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
48
- var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
49
- var requiredIf__default = /*#__PURE__*/_interopDefault(requiredIf);
50
44
  var Stack__default = /*#__PURE__*/_interopDefault(Stack);
51
45
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
52
46
  var Text__default = /*#__PURE__*/_interopDefault(Text);
@@ -67,7 +61,7 @@ var _ref$1 = process.env.NODE_ENV === "production" ? {
67
61
  } : {
68
62
  name: "bqcila-getLocalizedInputStyles",
69
63
  styles: "border-top-left-radius:0;border-bottom-left-radius:0;border-style:solid;flex:auto;label:getLocalizedInputStyles;",
70
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXSyIsImZpbGUiOiJsb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQge1xuICBjdXN0b21Qcm9wZXJ0aWVzIGFzIHZhcnMsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbi8vIE5PVEU6IG9yZGVyIGlzIGltcG9ydGFudCBoZXJlXG4vLyAqIGEgZGlzYWJsZWQtZmllbGQgY3VycmVudGx5IGRvZXMgbm90IGRpc3BsYXkgd2FybmluZy9lcnJvci1zdGF0ZXMgc28gaXQgdGFrZXMgcHJlY2VkZW5jZVxuLy8gKiBhIHJlYWRvbmx5LWZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkLCBidXQgaXQgbWlnaHQgYmUgcmVsZXZhbnQgZm9yIHZhbGlkYXRpb24sIHNvIGVycm9yIGFuZCB3YXJuaW5nIGFyZSBjaGVja2VkIGZpcnN0XG4vLyBob3cgeW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBmaWVsZCBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgdGhlIHByb3BzLCB0aGlzIG9ubHkgaW5mbHVlbmNlcyB2aXN1YWxzXG5jb25zdCBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyA9ICgpID0+IFtcbiAgY3NzYFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGZsZXg6IGF1dG87XG4gIGAsXG5dO1xuXG5jb25zdCBnZXRMYW5ndWFnZUxhYmVsU3R5bGVzID0gKHByb3BzLCB0aGVtZSkgPT4ge1xuICBjb25zdCBvdmVyd3JpdHRlblZhcnMgPSB7XG4gICAgLi4udmFycyxcbiAgICAuLi50aGVtZSxcbiAgfTtcblxuICByZXR1cm4gY3NzYFxuICAgIC8qIGF2b2lkIHdyYXBwaW5nIGxhYmVsIG9udG8gbmV3IGxpbmVzICovXG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXX07XG4gICAgaGVpZ2h0OiAke3ZhcnMuc2l6ZUhlaWdodElucHV0fTtcbiAgICBsaW5lLWhlaWdodDogJHt2YXJzLnNpemVIZWlnaHRJbnB1dH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRcbiAgICBdfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5ib3JkZXJSYWRpdXNGb3JJbnB1dFxuICAgIF19O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0XG4gICAgXX07XG4gICAgYm9yZGVyOiAxcHggJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRdfVxuICAgICAgc29saWQ7XG4gICAgcGFkZGluZzogMCAke3ZhcnMuc3BhY2luZ1N9O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBjb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICBgO1xufTtcblxuZXhwb3J0IHsgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMsIGdldExhbmd1YWdlTGFiZWxTdHlsZXMgfTtcbiJdfQ== */",
64
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXSyIsImZpbGUiOiJsb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHR5cGUgVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQge1xuICBjdXN0b21Qcm9wZXJ0aWVzIGFzIHZhcnMsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbi8vIE5PVEU6IG9yZGVyIGlzIGltcG9ydGFudCBoZXJlXG4vLyAqIGEgZGlzYWJsZWQtZmllbGQgY3VycmVudGx5IGRvZXMgbm90IGRpc3BsYXkgd2FybmluZy9lcnJvci1zdGF0ZXMgc28gaXQgdGFrZXMgcHJlY2VkZW5jZVxuLy8gKiBhIHJlYWRvbmx5LWZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkLCBidXQgaXQgbWlnaHQgYmUgcmVsZXZhbnQgZm9yIHZhbGlkYXRpb24sIHNvIGVycm9yIGFuZCB3YXJuaW5nIGFyZSBjaGVja2VkIGZpcnN0XG4vLyBob3cgeW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBmaWVsZCBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgdGhlIHByb3BzLCB0aGlzIG9ubHkgaW5mbHVlbmNlcyB2aXN1YWxzXG5jb25zdCBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyA9ICgpID0+IFtcbiAgY3NzYFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGZsZXg6IGF1dG87XG4gIGAsXG5dO1xuXG5jb25zdCBnZXRMYW5ndWFnZUxhYmVsU3R5bGVzID0gKF9wcm9wczogdW5rbm93biwgdGhlbWU6IFRoZW1lKSA9PiB7XG4gIGNvbnN0IG92ZXJ3cml0dGVuVmFycyA9IHtcbiAgICAuLi52YXJzLFxuICAgIC4uLnRoZW1lLFxuICB9O1xuXG4gIHJldHVybiBjc3NgXG4gICAgLyogYXZvaWQgd3JhcHBpbmcgbGFiZWwgb250byBuZXcgbGluZXMgKi9cbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAke292ZXJ3cml0dGVuVmFyc1tkZXNpZ25Ub2tlbnMuZm9udENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRdfTtcbiAgICBoZWlnaHQ6ICR7dmFycy5zaXplSGVpZ2h0SW5wdXR9O1xuICAgIGxpbmUtaGVpZ2h0OiAke3ZhcnMuc2l6ZUhlaWdodElucHV0fTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5iYWNrZ3JvdW5kQ29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZFxuICAgIF19O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0XG4gICAgXX07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzRm9ySW5wdXRcbiAgICBdfTtcbiAgICBib3JkZXI6IDFweCAke292ZXJ3cml0dGVuVmFyc1tkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZF19XG4gICAgICBzb2xpZDtcbiAgICBwYWRkaW5nOiAwICR7dmFycy5zcGFjaW5nU307XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dmFycy50cmFuc2l0aW9uU3RhbmRhcmR9LFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfSxcbiAgICAgIGNvbG9yICR7dmFycy50cmFuc2l0aW9uU3RhbmRhcmR9O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGA7XG59O1xuXG5leHBvcnQgeyBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcywgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyB9O1xuIl19 */",
71
65
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
72
66
  };
73
67
 
@@ -75,17 +69,15 @@ var getLocalizedInputStyles = function getLocalizedInputStyles() {
75
69
  return [_ref$1];
76
70
  };
77
71
 
78
- var getLanguageLabelStyles = function getLanguageLabelStyles(props, theme) {
72
+ var getLanguageLabelStyles = function getLanguageLabelStyles(_props, theme) {
79
73
  var overwrittenVars = _objectSpread$1(_objectSpread$1({}, designSystem.customProperties), theme);
80
74
 
81
- return /*#__PURE__*/react.css("flex:1 0 auto;box-sizing:border-box;color:", overwrittenVars[designSystem.designTokens.fontColorForInputWhenDisabled], ";height:", designSystem.customProperties.sizeHeightInput, ";line-height:", designSystem.customProperties.sizeHeightInput, ";background-color:", overwrittenVars[designSystem.designTokens.backgroundColorForInputWhenDisabled], ";border-top-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border-bottom-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border:1px ", overwrittenVars[designSystem.designTokens.borderColorForInputWhenDisabled], " solid;padding:0 ", designSystem.customProperties.spacingS, ";transition:border-color ", designSystem.customProperties.transitionStandard, ",background-color ", designSystem.customProperties.transitionStandard, ",color ", designSystem.customProperties.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;" + (process.env.NODE_ENV === "production" ? "" : ";label:getLanguageLabelStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QlkiLCJmaWxlIjoibG9jYWxpemVkLXRleHQtaW5wdXQuc3R5bGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHtcbiAgY3VzdG9tUHJvcGVydGllcyBhcyB2YXJzLFxuICBkZXNpZ25Ub2tlbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG4vLyBOT1RFOiBvcmRlciBpcyBpbXBvcnRhbnQgaGVyZVxuLy8gKiBhIGRpc2FibGVkLWZpZWxkIGN1cnJlbnRseSBkb2VzIG5vdCBkaXNwbGF5IHdhcm5pbmcvZXJyb3Itc3RhdGVzIHNvIGl0IHRha2VzIHByZWNlZGVuY2Vcbi8vICogYSByZWFkb25seS1maWVsZCBjYW5ub3QgYmUgY2hhbmdlZCwgYnV0IGl0IG1pZ2h0IGJlIHJlbGV2YW50IGZvciB2YWxpZGF0aW9uLCBzbyBlcnJvciBhbmQgd2FybmluZyBhcmUgY2hlY2tlZCBmaXJzdFxuLy8gaG93IHlvdSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgZmllbGQgaXMgY29udHJvbGxlZCBzZXBhcmF0ZWx5IGJ5IHRoZSBwcm9wcywgdGhpcyBvbmx5IGluZmx1ZW5jZXMgdmlzdWFsc1xuY29uc3QgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMgPSAoKSA9PiBbXG4gIGNzc2BcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBmbGV4OiBhdXRvO1xuICBgLFxuXTtcblxuY29uc3QgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyA9IChwcm9wcywgdGhlbWUpID0+IHtcbiAgY29uc3Qgb3ZlcndyaXR0ZW5WYXJzID0ge1xuICAgIC4uLnZhcnMsXG4gICAgLi4udGhlbWUsXG4gIH07XG5cbiAgcmV0dXJuIGNzc2BcbiAgICAvKiBhdm9pZCB3cmFwcGluZyBsYWJlbCBvbnRvIG5ldyBsaW5lcyAqL1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICR7b3ZlcndyaXR0ZW5WYXJzW2Rlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZF19O1xuICAgIGhlaWdodDogJHt2YXJzLnNpemVIZWlnaHRJbnB1dH07XG4gICAgbGluZS1oZWlnaHQ6ICR7dmFycy5zaXplSGVpZ2h0SW5wdXR9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJhY2tncm91bmRDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXG4gICAgXX07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzRm9ySW5wdXRcbiAgICBdfTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5ib3JkZXJSYWRpdXNGb3JJbnB1dFxuICAgIF19O1xuICAgIGJvcmRlcjogMXB4ICR7b3ZlcndyaXR0ZW5WYXJzW2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXX1cbiAgICAgIHNvbGlkO1xuICAgIHBhZGRpbmc6IDAgJHt2YXJzLnNwYWNpbmdTfTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICR7dmFycy50cmFuc2l0aW9uU3RhbmRhcmR9LFxuICAgICAgY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH07XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYDtcbn07XG5cbmV4cG9ydCB7IGdldExvY2FsaXplZElucHV0U3R5bGVzLCBnZXRMYW5ndWFnZUxhYmVsU3R5bGVzIH07XG4iXX0= */");
75
+ return /*#__PURE__*/react.css("flex:1 0 auto;box-sizing:border-box;color:", overwrittenVars[designSystem.designTokens.fontColorForInputWhenDisabled], ";height:", designSystem.customProperties.sizeHeightInput, ";line-height:", designSystem.customProperties.sizeHeightInput, ";background-color:", overwrittenVars[designSystem.designTokens.backgroundColorForInputWhenDisabled], ";border-top-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border-bottom-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border:1px ", overwrittenVars[designSystem.designTokens.borderColorForInputWhenDisabled], " solid;padding:0 ", designSystem.customProperties.spacingS, ";transition:border-color ", designSystem.customProperties.transitionStandard, ",background-color ", designSystem.customProperties.transitionStandard, ",color ", designSystem.customProperties.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;" + (process.env.NODE_ENV === "production" ? "" : ";label:getLanguageLabelStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QlkiLCJmaWxlIjoibG9jYWxpemVkLXRleHQtaW5wdXQuc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzLCB0eXBlIFRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHtcbiAgY3VzdG9tUHJvcGVydGllcyBhcyB2YXJzLFxuICBkZXNpZ25Ub2tlbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG4vLyBOT1RFOiBvcmRlciBpcyBpbXBvcnRhbnQgaGVyZVxuLy8gKiBhIGRpc2FibGVkLWZpZWxkIGN1cnJlbnRseSBkb2VzIG5vdCBkaXNwbGF5IHdhcm5pbmcvZXJyb3Itc3RhdGVzIHNvIGl0IHRha2VzIHByZWNlZGVuY2Vcbi8vICogYSByZWFkb25seS1maWVsZCBjYW5ub3QgYmUgY2hhbmdlZCwgYnV0IGl0IG1pZ2h0IGJlIHJlbGV2YW50IGZvciB2YWxpZGF0aW9uLCBzbyBlcnJvciBhbmQgd2FybmluZyBhcmUgY2hlY2tlZCBmaXJzdFxuLy8gaG93IHlvdSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgZmllbGQgaXMgY29udHJvbGxlZCBzZXBhcmF0ZWx5IGJ5IHRoZSBwcm9wcywgdGhpcyBvbmx5IGluZmx1ZW5jZXMgdmlzdWFsc1xuY29uc3QgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMgPSAoKSA9PiBbXG4gIGNzc2BcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBmbGV4OiBhdXRvO1xuICBgLFxuXTtcblxuY29uc3QgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyA9IChfcHJvcHM6IHVua25vd24sIHRoZW1lOiBUaGVtZSkgPT4ge1xuICBjb25zdCBvdmVyd3JpdHRlblZhcnMgPSB7XG4gICAgLi4udmFycyxcbiAgICAuLi50aGVtZSxcbiAgfTtcblxuICByZXR1cm4gY3NzYFxuICAgIC8qIGF2b2lkIHdyYXBwaW5nIGxhYmVsIG9udG8gbmV3IGxpbmVzICovXG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXX07XG4gICAgaGVpZ2h0OiAke3ZhcnMuc2l6ZUhlaWdodElucHV0fTtcbiAgICBsaW5lLWhlaWdodDogJHt2YXJzLnNpemVIZWlnaHRJbnB1dH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRcbiAgICBdfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5ib3JkZXJSYWRpdXNGb3JJbnB1dFxuICAgIF19O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0XG4gICAgXX07XG4gICAgYm9yZGVyOiAxcHggJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRdfVxuICAgICAgc29saWQ7XG4gICAgcGFkZGluZzogMCAke3ZhcnMuc3BhY2luZ1N9O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBjb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICBgO1xufTtcblxuZXhwb3J0IHsgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMsIGdldExhbmd1YWdlTGFiZWxTdHlsZXMgfTtcbiJdfQ== */");
82
76
  };
83
77
 
84
- var _templateObject;
85
-
86
78
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
87
79
 
88
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
80
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
89
81
 
90
82
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
91
83
  var sequentialId = utils.createSequentialId('localized-text-input-');
@@ -96,7 +88,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
96
88
  } : {
97
89
  name: "1ysn02y-LocalizedInput",
98
90
  styles: "width:100%;position:relative;display:flex;label:LocalizedInput;",
99
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEYyIsImZpbGUiOiJsb2NhbGl6ZWQtdGV4dC1pbnB1dC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCByZXF1aXJlZElmIGZyb20gJ3JlYWN0LXJlcXVpcmVkLWlmJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9tZXNzYWdlcyc7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHtcbiAgc29ydExhbmd1YWdlcyxcbiAgY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMsXG4gIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGlzVG91Y2hlZCxcbiAgb21pdEVtcHR5VHJhbnNsYXRpb25zLFxuICBpc0VtcHR5LFxuICBjcmVhdGVMb2NhbGl6ZWRTdHJpbmcsXG4gIGdldElkLFxuICBnZXROYW1lLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9sb2NhbGl6ZWQtdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlU2VxdWVudGlhbElkIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IFRleHRJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0LWlucHV0JztcbmltcG9ydCB7XG4gIExvY2FsaXplZElucHV0VG9nZ2xlLFxuICBtZXNzYWdlc0xvY2FsaXplZElucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyxcbiAgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyxcbn0gZnJvbSAnLi9sb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMnO1xuXG5jb25zdCBzZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoJ2xvY2FsaXplZC10ZXh0LWlucHV0LScpO1xuXG5jb25zdCBMb2NhbGl6ZWRJbnB1dCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG9uQ2hhbmdlIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBXZSBtYW5pcHVsYXRlIHRoZSBldmVudCB0byBhZGQgdGhlIGxhbmd1YWdlIHRvIHRoZSB0YXJnZXQuXG4gICAgICAvLyBUaGF0IHdheSB0aGUgdXNlcnMgb2YgTG9jYWxpemVkVGV4dElucHV0J3Mgb25DaGFuZ2UgY2FuIHJlYWRcbiAgICAgIC8vIGV2ZW50LnRhcmdldC5sYW5ndWFnZSBhbmQgZXZlbnQudGFyZ2V0LnZhbHVlIHRvIGRldGVybWluZSB0aGUgbmV4dCB2YWx1ZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IG5lZWQgdGhpcyBpbmZvcm1hdGlvbiBmb3IgdGhlIHN0b3J5LCB0aGUgTUMgYXBwbGljYXRpb24gY29kZSB3aWxsXG4gICAgICAvLyBuZXZlciBuZWVkIHRvIGFjY2VzcyB0aGUgaW5mb3JtYXRpb24gaW4gc3VjaCBhbiBpbmNvbnZlbmllbnQgd2F5LCBhc1xuICAgICAgLy8gRm9ybWlrIGNhbiBkZWFsIHdpdGggYSBuYW1lIGxpa2UgXCJmb28uZW5cIiBhbmQgc2V0cyB0aGUgdmFsdWUgY29ycmVjdGx5LlxuICAgICAgLy8gV2UgY2FuJ3QgdXNlIHRoaXMgYXMgd2UgYXJlbid0IGd1YXJhbnRlZWQgYSBuYW1lIGluIHRoZSBzdG9yeSBhcyB0aGUgdXNlclxuICAgICAgLy8gbWlnaHQgY2xlYXIgaXQgdXNpbmcgdGhlIGtub2IsIGFuZCB0aGVuIHdlIGNhbid0IHBhcnNlIHRoZSBsYW5ndWFnZSBmcm9tXG4gICAgICAvLyB0aGUgaW5wdXQgbmFtZSBhbnltb3JlLlxuICAgICAgLy9cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZXZlbnQudGFyZ2V0Lmxhbmd1YWdlID0gcHJvcHMubGFuZ3VhZ2U7XG4gICAgICBvbkNoYW5nZShldmVudCk7XG4gICAgfSxcbiAgICBbcHJvcHMubGFuZ3VhZ2UsIG9uQ2hhbmdlXVxuICApO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBrZXk9e3Byb3BzLmxhbmd1YWdlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxsYWJlbCBodG1sRm9yPXtwcm9wcy5pZH0gY3NzPXtnZXRMYW5ndWFnZUxhYmVsU3R5bGVzKHByb3BzLCB0aGVtZSl9PlxuICAgICAgICB7LyogRklYTUU6IGFkZCBwcm9wZXIgdG9uZSBmb3IgZGlzYWJsZWQgd2hlbiB0b25lcyBhcmUgcmVmYWN0b3JlZCAqL31cbiAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgPC9UZXh0LkRldGFpbD5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8VGV4dElucHV0XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgY3NzPXtnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlc31cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Mb2NhbGl6ZWRJbnB1dC5kaXNwbGF5TmFtZSA9ICdMb2NhbGl6ZWRJbnB1dCc7XG5Mb2NhbGl6ZWRJbnB1dC5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIHByZWZpeCBvZiBIVE1MIGBpZGAgcHJvcGVydHkuIEVhY2ggaW5wdXQgZmllbGQgaWQgd2lsbCBoYXZlIHRoZSBsYW5ndWFnZSBhcyBhIHN1ZmZpeCAoYCR7aWRQcmVmaXh9LiR7bGFuZ31gKSwgZS5nLiBgZm9vLmVuYC4gWW91IGNhbiB1c2UgdGhlIHN0YXRpYyBgTG9jYWxpemVkVGV4dElucHV0LmdldElkKGlkUHJlZml4LCBsYW5ndWFnZSlgIHRvIGNyZWF0ZSB0aGlzIGlkIHN0cmluZywgZS5nLiBmb3IgbGFiZWxzLlxuICAgKi9cbiAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYG5hbWVgIHByb3BlcnR5IGZvciBlYWNoIGlucHV0IGZpZWxkLiBFYWNoIGlucHV0IGZpZWxkIG5hbWUgd2lsbCBoYXZlIHRoZSBsYW5ndWFnZSBhcyBhIHN1ZmZpeCAoYCR7bmFtZVByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5gXG4gICAqL1xuICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGBhdXRvY29tcGxldGVgIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKlxuICAgKiBHZXRzIGNhbGxlZCB3aGVuIGFueSBpbnB1dCBpcyBjaGFuZ2VkLiBJcyBjYWxsZWQgd2l0aCB0aGUgY2hhbmdlIGV2ZW50IG9mIHRoZSBjaGFuZ2VkIGlucHV0LlxuICAgKi9cbiAgb25DaGFuZ2U6IHJlcXVpcmVkSWYoUHJvcFR5cGVzLmZ1bmMsIChwcm9wcykgPT4gIXByb3BzLmlzUmVhZE9ubHkpLFxuICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNBdXRvZm9jdXNzZWQ6IFByb3BUeXBlcy5ib29sLFxuICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNSZWFkT25seTogUHJvcFR5cGVzLmJvb2wsXG4gIGhhc0Vycm9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5jb25zdCBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlID0gKCkgPT4gKFxuICA8RXJyb3JNZXNzYWdlPlxuICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlc0xvY2FsaXplZElucHV0Lm1pc3NpbmdSZXF1aXJlZEZpZWxkfSAvPlxuICA8L0Vycm9yTWVzc2FnZT5cbik7XG5cblJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UuZGlzcGxheU5hbWUgPSAnUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSc7XG5cbmNvbnN0IExvY2FsaXplZFRleHRJbnB1dCA9IChwcm9wcykgPT4ge1xuICBjb25zdCBkZWZhdWx0RXhwYW5zaW9uU3RhdGUgPVxuICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzIHx8XG4gICAgcHJvcHMuZGVmYXVsdEV4cGFuZExhbmd1YWdlcyB8fCAvLyBkZWZhdWx0IHRvIGBmYWxzZWAsIGJlY2F1c2UgdXNlVG9nZ2xlU3RhdGUgZGVmYXVsdHMgdG8gYHRydWVgXG4gICAgZmFsc2U7XG5cbiAgY29uc3QgW2FyZUxhbmd1YWdlc0V4cGFuZGVkLCB0b2dnbGVMYW5ndWFnZXNdID0gdXNlVG9nZ2xlU3RhdGUoXG4gICAgZGVmYXVsdEV4cGFuc2lvblN0YXRlXG4gICk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VzID0gc29ydExhbmd1YWdlcyhcbiAgICBwcm9wcy5zZWxlY3RlZExhbmd1YWdlLFxuICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICApO1xuXG4gIGNvbnN0IGlkID0gdXNlRmllbGRJZChwcm9wcy5pZCwgc2VxdWVudGlhbElkKTtcblxuICBjb25zdCBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzID1cbiAgICBwcm9wcy5oYXNFcnJvciB8fFxuICAgIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMocHJvcHMuZXJyb3JzLCBwcm9wcy5zZWxlY3RlZExhbmd1YWdlKTtcblxuICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcykge1xuICAgIC8vIHRoaXMgdXBkYXRlIHdpdGhpbiByZW5kZXIgcmVwbGFjZXMgdGhlIG9sZCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBmdW5jdGlvbmFsaXR5XG4gICAgLy8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy1kby1pLWltcGxlbWVudC1nZXRkZXJpdmVkc3RhdGVmcm9tcHJvcHNcbiAgICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcyAhPT0gYXJlTGFuZ3VhZ2VzRXhwYW5kZWQpIHtcbiAgICAgIHRvZ2dsZUxhbmd1YWdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNob3VsZFJlbmRlckxhbmd1YWdlc0J1dHRvbiA9XG4gICAgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEgJiYgIXByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICA8U3RhY2s+XG4gICAgICAgICAge2xhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNGaXJzdExhbmd1YWdlID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpZiAoIWlzRmlyc3RMYW5ndWFnZSAmJiAhYXJlTGFuZ3VhZ2VzRXhwYW5kZWQpIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17bGFuZ3VhZ2V9PlxuICAgICAgICAgICAgICAgIDxTdGFjayBzY2FsZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgICA8TG9jYWxpemVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICAgICAgICAgIGlkPXtMb2NhbGl6ZWRUZXh0SW5wdXQuZ2V0SWQoaWQsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17TG9jYWxpemVkVGV4dElucHV0LmdldE5hbWUocHJvcHMubmFtZSwgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWVbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17cHJvcHMub25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHByb3BzLnBsYWNlaG9sZGVyW2xhbmd1YWdlXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e3Byb3BzLm9uQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17cHJvcHMub25Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgaXNBdXRvZm9jdXNzZWQ9e2luZGV4ID09PSAwICYmIHByb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcj17Qm9vbGVhbihcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5oYXNFcnJvciB8fCAocHJvcHMuZXJyb3JzICYmIHByb3BzLmVycm9yc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHsuLi5jcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyhwcm9wcywgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5lcnJvcnMgJiYgcHJvcHMuZXJyb3JzW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG91bGRSZW5kZXJMYW5ndWFnZXNCdXR0b24gJiYgKFxuICAgICAgICAgIDxMb2NhbGl6ZWRJbnB1dFRvZ2dsZVxuICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNFeHBhbmRlZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RvZ2dsZUxhbmd1YWdlc31cbiAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2FyZUxhbmd1YWdlc0V4cGFuZGVkICYmIGhhc0Vycm9ySW5SZW1haW5pbmdMYW5ndWFnZXN9XG4gICAgICAgICAgICByZW1haW5pbmdMb2NhbGl6YXRpb25zPXtsYW5ndWFnZXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuZGlzcGxheU5hbWUgPSAnTG9jYWxpemVkVGV4dElucHV0JztcblxuTG9jYWxpemVkVGV4dElucHV0LlJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UgPSBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgYXV0b0NvbXBsZXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvLyB0aGVuIGlucHV0IGRvZXNuJ3QgYWNjZXB0IGEgXCJsYW5ndWFnZXNcIiBwcm9wLCBpbnN0ZWFkIGFsbCBwb3NzaWJsZVxuICAvLyBsYW5ndWFnZXMgaGF2ZSB0byBleGlzdCAod2l0aCBlbXB0eSBvciBmaWxsZWQgc3RyaW5ncykgb24gdGhlIHZhbHVlOlxuICAvLyAgIHsgZW46ICdmb28nLCBkZTogJycsIGVzOiAnJyB9XG4gIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0T2YoUHJvcFR5cGVzLnN0cmluZykuaXNSZXF1aXJlZCxcbiAgLyoqXG4gICAqIEdldHMgY2FsbGVkIHdoZW4gYW55IGlucHV0IGlzIGNoYW5nZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBjaGFuZ2UgZXZlbnQgb2YgdGhlIGNoYW5nZWQgaW5wdXQuXG4gICAqL1xuICBvbkNoYW5nZTogcmVxdWlyZWRJZihQcm9wVHlwZXMuZnVuYywgKHByb3BzKSA9PiAhcHJvcHMuaXNSZWFkT25seSksXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hpY2ggbGFuZ3VhZ2Ugd2lsbCBiZSBzaG93biBpbiBjYXNlIHRoZSBgTG9jYWxpemVkVGV4dElucHV0YCBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICBzZWxlY3RlZExhbmd1YWdlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgYmx1cnJlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGBldmVudGAgb2YgdGhhdCBmaWVsZC5cbiAgICovXG4gIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgZm9jdXNzZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqXG4gICAqIFdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgZXhwYW5zaW9uIGNvbnRyb2xzIHdoZW4gc2V0IHRvIGB0cnVlYC4gQWxsIGxhbmd1YWdlcyB3aWxsIGJlIHNob3duIHdoZW4gc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIGhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb25lIG9yIGFsbCBsYW5ndWFnZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdFxuICAgKi9cbiAgZGVmYXVsdEV4cGFuZExhbmd1YWdlczogKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgLi4ucmVzdCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzICYmXG4gICAgICB0eXBlb2YgcHJvcHNbcHJvcE5hbWVdID09PSAnYm9vbGVhbidcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgb25lTGluZWBcbiAgICAgICAgICAke2NvbXBvbmVudE5hbWV9OiBcIiR7cHJvcE5hbWV9XCIgZG9lcyBub3QgaGF2ZSBhbnkgZWZmZWN0IHdoZW5cbiAgICAgICAgICBcImhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzXCIgaXMgc2V0LlxuICAgICAgICBgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gUHJvcFR5cGVzLmJvb2wocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCAuLi5yZXN0KTtcbiAgfSxcbiAgLyoqXG4gICAqIEZvY3VzIHRoZSBpbnB1dCBmaWVsZCBvbiBpbml0aWFsIHJlbmRlclxuICAgKi9cbiAgaXNBdXRvZm9jdXNzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGlzRGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGlucHV0IGZpZWxkcyBhbmQgc2hvd3MgdGhlbSBpbiByZWFkLW9ubHkgbW9kZS5cbiAgICovXG4gIGlzUmVhZE9ubHk6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogUGxhY2Vob2xkZXJzIGZvciBlYWNoIGxhbmd1YWdlLiBPYmplY3Qgb2YgdGhlIHNhbWUgc2hhcGUgYXMgYHZhbHVlYC5cbiAgICovXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMub2JqZWN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50OiBQcm9wVHlwZXMub25lT2YoW1xuICAgIDEsXG4gICAgMixcbiAgICAzLFxuICAgIDQsXG4gICAgNSxcbiAgICA2LFxuICAgIDcsXG4gICAgOCxcbiAgICA5LFxuICAgIDEwLFxuICAgIDExLFxuICAgIDEyLFxuICAgIDEzLFxuICAgIDE0LFxuICAgIDE1LFxuICAgIDE2LFxuICAgICdzY2FsZScsXG4gICAgJ2F1dG8nLFxuICBdKSxcbiAgLyoqXG4gICAqIFdpbGwgYXBwbHkgdGhlIGVycm9yIHN0YXRlIHRvIGVhY2ggaW5wdXQgd2l0aG91dCBzaG93aW5nIGFueSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgaGFzRXJyb3I6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogVXNlZCB0byBzaG93IGVycm9ycyB1bmRlcm5lYXRoIHRoZSBpbnB1dHMgb2Ygc3BlY2lmaWMgY3VycmVuY2llcy4gUGFzcyBhbiBvYmplY3Qgd2hvc2Uga2V5IGlzIGEgY3VycmVuY3kgYW5kIHdob3NlIHZhbHVlIGlzIHRoZSBlcnJvciB0byBzaG93IGZvciB0aGF0IGtleS5cbiAgICovXG4gIGVycm9yczogUHJvcFR5cGVzLm9iamVjdE9mKFByb3BUeXBlcy5ub2RlKSxcbn07XG5cbkxvY2FsaXplZFRleHRJbnB1dC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhvcml6b250YWxDb25zdHJhaW50OiAnc2NhbGUnLFxufTtcblxuTG9jYWxpemVkVGV4dElucHV0LmdldElkID0gZ2V0SWQ7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5nZXROYW1lID0gZ2V0TmFtZTtcblxuTG9jYWxpemVkVGV4dElucHV0LmNyZWF0ZUxvY2FsaXplZFN0cmluZyA9IGNyZWF0ZUxvY2FsaXplZFN0cmluZztcblxuTG9jYWxpemVkVGV4dElucHV0LmlzRW1wdHkgPSBpc0VtcHR5O1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQub21pdEVtcHR5VHJhbnNsYXRpb25zID0gb21pdEVtcHR5VHJhbnNsYXRpb25zO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuaXNUb3VjaGVkID0gaXNUb3VjaGVkO1xuXG5leHBvcnQgZGVmYXVsdCBMb2NhbGl6ZWRUZXh0SW5wdXQ7XG4iXX0= */",
91
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTGMiLCJmaWxlIjoibG9jYWxpemVkLXRleHQtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBGb2N1c0V2ZW50SGFuZGxlcixcbiAgdHlwZSBDaGFuZ2VFdmVudEhhbmRsZXIsXG4gIHVzZUNhbGxiYWNrLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9tZXNzYWdlcyc7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHtcbiAgc29ydExhbmd1YWdlcyxcbiAgY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMsXG4gIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGlzVG91Y2hlZCxcbiAgb21pdEVtcHR5VHJhbnNsYXRpb25zLFxuICBpc0VtcHR5LFxuICBjcmVhdGVMb2NhbGl6ZWRTdHJpbmcsXG4gIGdldElkLFxuICBnZXROYW1lLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9sb2NhbGl6ZWQtdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlU2VxdWVudGlhbElkLCB3YXJuaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IFRleHRJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0LWlucHV0JztcbmltcG9ydCB7XG4gIExvY2FsaXplZElucHV0VG9nZ2xlLFxuICBtZXNzYWdlc0xvY2FsaXplZElucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyxcbiAgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyxcbn0gZnJvbSAnLi9sb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMnO1xuXG50eXBlIFRMb2NhbGl6ZWRUZXh0SW5wdXRQcm9wcyA9IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlIGlmIHRoZSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBpcyBpbnZhbGlkLlxuICAgKi9cbiAgJ2FyaWEtaW52YWxpZCc/OiBib29sZWFuO1xuICAvKipcbiAgICogSFRNTCBJRCBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgYW4gZXJyb3IgbWVzc2FnZSByZWxhdGVkIHRvIHRoZSBpbnB1dC5cbiAgICovXG4gICdhcmlhLWVycm9ybWVzc2FnZSc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgIHRoZW4gaW5wdXQgZG9lc24ndCBhY2NlcHQgYSBcImxhbmd1YWdlc1wiIHByb3AsIGluc3RlYWQgYWxsIHBvc3NpYmxlXG4gIGxhbmd1YWdlcyBoYXZlIHRvIGV4aXN0ICh3aXRoIGVtcHR5IG9yIGZpbGxlZCBzdHJpbmdzKSBvbiB0aGUgdmFsdWU6XG4gICAgeyBlbjogJ2ZvbycsIGRlOiAnJywgZXM6ICcnIH1cbiAgICovXG4gIHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogR2V0cyBjYWxsZWQgd2hlbiBhbnkgaW5wdXQgaXMgY2hhbmdlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGNoYW5nZSBldmVudCBvZiB0aGUgY2hhbmdlZCBpbnB1dC5cbiAgICovXG4gIG9uQ2hhbmdlPzogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIGxhbmd1YWdlIHdpbGwgYmUgc2hvd24gaW4gY2FzZSB0aGUgYExvY2FsaXplZFRleHRJbnB1dGAgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgc2VsZWN0ZWRMYW5ndWFnZTogc3RyaW5nO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYW55IGZpZWxkIGlzIGJsdXJyZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFueSBmaWVsZCBpcyBmb2N1c3NlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGBldmVudGAgb2YgdGhhdCBmaWVsZC5cbiAgICovXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjtcbiAgLyoqXG4gICAqIFdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgZXhwYW5zaW9uIGNvbnRyb2xzIHdoZW4gc2V0IHRvIGB0cnVlYC4gQWxsIGxhbmd1YWdlcyB3aWxsIGJlIHNob3duIHdoZW4gc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIGhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb25lIG9yIGFsbCBsYW5ndWFnZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdFxuICAgKi9cbiAgZGVmYXVsdEV4cGFuZExhbmd1YWdlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgZmllbGQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dCBmaWVsZHMgYW5kIHNob3dzIHRoZW0gaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVycyBmb3IgZWFjaCBsYW5ndWFnZS4gT2JqZWN0IG9mIHRoZSBzYW1lIHNoYXBlIGFzIGB2YWx1ZWAuXG4gICAqL1xuICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50PzpcbiAgICB8IDFcbiAgICB8IDJcbiAgICB8IDNcbiAgICB8IDRcbiAgICB8IDVcbiAgICB8IDZcbiAgICB8IDdcbiAgICB8IDhcbiAgICB8IDlcbiAgICB8IDEwXG4gICAgfCAxMVxuICAgIHwgMTJcbiAgICB8IDEzXG4gICAgfCAxNFxuICAgIHwgMTVcbiAgICB8IDE2XG4gICAgfCAnc2NhbGUnXG4gICAgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBXaWxsIGFwcGx5IHRoZSBlcnJvciBzdGF0ZSB0byBlYWNoIGlucHV0IHdpdGhvdXQgc2hvd2luZyBhbnkgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZWQgdG8gc2hvdyBlcnJvcnMgdW5kZXJuZWF0aCB0aGUgaW5wdXRzIG9mIHNwZWNpZmljIGN1cnJlbmNpZXMuIFBhc3MgYW4gb2JqZWN0IHdob3NlIGtleSBpcyBhIGN1cnJlbmN5IGFuZCB3aG9zZSB2YWx1ZSBpcyB0aGUgZXJyb3IgdG8gc2hvdyBmb3IgdGhhdCBrZXkuXG4gICAqL1xuICBlcnJvcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxudHlwZSBUTG9jYWxpemVkSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgcHJlZml4IG9mIEhUTUwgYGlkYCBwcm9wZXJ0eS4gRWFjaCBpbnB1dCBmaWVsZCBpZCB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtpZFByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5gLiBZb3UgY2FuIHVzZSB0aGUgc3RhdGljIGBMb2NhbGl6ZWRUZXh0SW5wdXQuZ2V0SWQoaWRQcmVmaXgsIGxhbmd1YWdlKWAgdG8gY3JlYXRlIHRoaXMgaWQgc3RyaW5nLCBlLmcuIGZvciBsYWJlbHMuXG4gICAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBgbmFtZWAgcHJvcGVydHkgZm9yIGVhY2ggaW5wdXQgZmllbGQuIEVhY2ggaW5wdXQgZmllbGQgbmFtZSB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtuYW1lUHJlZml4fS4ke2xhbmd9YCksIGUuZy4gYGZvby5lbmBcbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYGF1dG9jb21wbGV0ZWAgcHJvcGVydHlcbiAgICovXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEdldHMgY2FsbGVkIHdoZW4gYW55IGlucHV0IGlzIGNoYW5nZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBjaGFuZ2UgZXZlbnQgb2YgdGhlIGNoYW5nZWQgaW5wdXQuXG4gICAqL1xuICBvbkNoYW5nZT86IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjtcbiAgaXNBdXRvZm9jdXNzZWQ/OiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBzZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoJ2xvY2FsaXplZC10ZXh0LWlucHV0LScpO1xuXG5jb25zdCBMb2NhbGl6ZWRJbnB1dCA9IChwcm9wczogVExvY2FsaXplZElucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgeyBvbkNoYW5nZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gV2UgbWFuaXB1bGF0ZSB0aGUgZXZlbnQgdG8gYWRkIHRoZSBsYW5ndWFnZSB0byB0aGUgdGFyZ2V0LlxuICAgICAgLy8gVGhhdCB3YXkgdGhlIHVzZXJzIG9mIExvY2FsaXplZFRleHRJbnB1dCdzIG9uQ2hhbmdlIGNhbiByZWFkXG4gICAgICAvLyBldmVudC50YXJnZXQubGFuZ3VhZ2UgYW5kIGV2ZW50LnRhcmdldC52YWx1ZSB0byBkZXRlcm1pbmUgdGhlIG5leHQgdmFsdWUuXG4gICAgICAvL1xuICAgICAgLy8gV2Ugb25seSBuZWVkIHRoaXMgaW5mb3JtYXRpb24gZm9yIHRoZSBzdG9yeSwgdGhlIE1DIGFwcGxpY2F0aW9uIGNvZGUgd2lsbFxuICAgICAgLy8gbmV2ZXIgbmVlZCB0byBhY2Nlc3MgdGhlIGluZm9ybWF0aW9uIGluIHN1Y2ggYW4gaW5jb252ZW5pZW50IHdheSwgYXNcbiAgICAgIC8vIEZvcm1payBjYW4gZGVhbCB3aXRoIGEgbmFtZSBsaWtlIFwiZm9vLmVuXCIgYW5kIHNldHMgdGhlIHZhbHVlIGNvcnJlY3RseS5cbiAgICAgIC8vIFdlIGNhbid0IHVzZSB0aGlzIGFzIHdlIGFyZW4ndCBndWFyYW50ZWVkIGEgbmFtZSBpbiB0aGUgc3RvcnkgYXMgdGhlIHVzZXJcbiAgICAgIC8vIG1pZ2h0IGNsZWFyIGl0IHVzaW5nIHRoZSBrbm9iLCBhbmQgdGhlbiB3ZSBjYW4ndCBwYXJzZSB0aGUgbGFuZ3VhZ2UgZnJvbVxuICAgICAgLy8gdGhlIGlucHV0IG5hbWUgYW55bW9yZS5cbiAgICAgIC8vXG4gICAgICBldmVudC50YXJnZXQubGFuZ3VhZ2UgPSBwcm9wcy5sYW5ndWFnZTtcbiAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgIH0sXG4gICAgW3Byb3BzLmxhbmd1YWdlLCBvbkNoYW5nZV1cbiAgKTtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnTG9jYWxpemVkVGV4dElucHV0OiBcIm9uQ2hhbmdlXCIgaXMgcmVxdWlyZWQgd2hlbiBpc1JlYWRPbmx5IGlzIG5vdCB0cnVlJ1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSBjc3M9e2dldExhbmd1YWdlTGFiZWxTdHlsZXMocHJvcHMsIHRoZW1lKX0+XG4gICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgIHtwcm9wcy5sYW5ndWFnZS50b1VwcGVyQ2FzZSgpfVxuICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxUZXh0SW5wdXRcbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICBjc3M9e2dldExvY2FsaXplZElucHV0U3R5bGVzfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkxvY2FsaXplZElucHV0LmRpc3BsYXlOYW1lID0gJ0xvY2FsaXplZElucHV0JztcblxuY29uc3QgUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSA9ICgpID0+IChcbiAgPEVycm9yTWVzc2FnZT5cbiAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXNMb2NhbGl6ZWRJbnB1dC5taXNzaW5nUmVxdWlyZWRGaWVsZH0gLz5cbiAgPC9FcnJvck1lc3NhZ2U+XG4pO1xuXG5SZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlLmRpc3BsYXlOYW1lID0gJ1JlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UnO1xuXG5jb25zdCBMb2NhbGl6ZWRUZXh0SW5wdXQgPSAocHJvcHM6IFRMb2NhbGl6ZWRUZXh0SW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBkZWZhdWx0RXhwYW5zaW9uU3RhdGUgPVxuICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzIHx8XG4gICAgcHJvcHMuZGVmYXVsdEV4cGFuZExhbmd1YWdlcyB8fCAvLyBkZWZhdWx0IHRvIGBmYWxzZWAsIGJlY2F1c2UgdXNlVG9nZ2xlU3RhdGUgZGVmYXVsdHMgdG8gYHRydWVgXG4gICAgZmFsc2U7XG5cbiAgY29uc3QgW2FyZUxhbmd1YWdlc0V4cGFuZGVkLCB0b2dnbGVMYW5ndWFnZXNdID0gdXNlVG9nZ2xlU3RhdGUoXG4gICAgZGVmYXVsdEV4cGFuc2lvblN0YXRlXG4gICk7XG5cbiAgY29uc3Qgb25Mb2NhbGl6ZWRJbnB1dFRvZ2dsZSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IHRvZ2dsZUxhbmd1YWdlcygpLFxuICAgIFt0b2dnbGVMYW5ndWFnZXNdXG4gICk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VzID0gc29ydExhbmd1YWdlcyhcbiAgICBwcm9wcy5zZWxlY3RlZExhbmd1YWdlLFxuICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICApO1xuXG4gIGNvbnN0IGlkID0gdXNlRmllbGRJZChwcm9wcy5pZCwgc2VxdWVudGlhbElkKTtcblxuICBjb25zdCBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzID1cbiAgICBwcm9wcy5oYXNFcnJvciB8fFxuICAgIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMocHJvcHMuZXJyb3JzLCBwcm9wcy5zZWxlY3RlZExhbmd1YWdlKTtcblxuICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcykge1xuICAgIC8vIHRoaXMgdXBkYXRlIHdpdGhpbiByZW5kZXIgcmVwbGFjZXMgdGhlIG9sZCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBmdW5jdGlvbmFsaXR5XG4gICAgLy8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy1kby1pLWltcGxlbWVudC1nZXRkZXJpdmVkc3RhdGVmcm9tcHJvcHNcbiAgICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcyAhPT0gYXJlTGFuZ3VhZ2VzRXhwYW5kZWQpIHtcbiAgICAgIHRvZ2dsZUxhbmd1YWdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNob3VsZFJlbmRlckxhbmd1YWdlc0J1dHRvbiA9XG4gICAgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEgJiYgIXByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnTG9jYWxpemVkVGV4dElucHV0OiBcIm9uQ2hhbmdlXCIgaXMgcmVxdWlyZWQgd2hlbiBpc1JlYWRPbmx5IGlzIG5vdCB0cnVlJ1xuICAgICk7XG4gIH1cblxuICBpZiAocHJvcHMuaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHMpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLmRlZmF1bHRFeHBhbmRMYW5ndWFnZXMgIT09ICdib29sZWFuJyxcbiAgICAgICdMb2NhbGl6ZWRUZXh0SW5wdXQ6IFwiZGVmYXVsdEV4cGFuZExhbmd1YWdlc1wiIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCB3aGVuIFwiaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHNcIiBpcyBzZXQuJ1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMuaG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgPFN0YWNrPlxuICAgICAgICAgIHtsYW5ndWFnZXMubWFwKChsYW5ndWFnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzRmlyc3RMYW5ndWFnZSA9IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgaWYgKCFpc0ZpcnN0TGFuZ3VhZ2UgJiYgIWFyZUxhbmd1YWdlc0V4cGFuZGVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPGRpdiBrZXk9e2xhbmd1YWdlfT5cbiAgICAgICAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgICAgICAgPExvY2FsaXplZElucHV0XG4gICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgICAgICAgICBpZD17TG9jYWxpemVkVGV4dElucHV0LmdldElkKGlkLCBsYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e0xvY2FsaXplZFRleHRJbnB1dC5nZXROYW1lKHByb3BzLm5hbWUsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBwcm9wcy5wbGFjZWhvbGRlcltsYW5ndWFnZV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtwcm9wcy5vbkJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e3Byb3BzLm9uRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2ZvY3Vzc2VkPXtpbmRleCA9PT0gMCAmJiBwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3I9e0Jvb2xlYW4oXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuaGFzRXJyb3IgfHwgKHByb3BzLmVycm9ycyAmJiBwcm9wcy5lcnJvcnNbbGFuZ3VhZ2VdKVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7Li4uY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMocHJvcHMsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5lcnJvcnMgJiYgcHJvcHMuZXJyb3JzW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG91bGRSZW5kZXJMYW5ndWFnZXNCdXR0b24gJiYgKFxuICAgICAgICAgIDxMb2NhbGl6ZWRJbnB1dFRvZ2dsZVxuICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNFeHBhbmRlZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uTG9jYWxpemVkSW5wdXRUb2dnbGV9XG4gICAgICAgICAgICBpc0Rpc2FibGVkPXthcmVMYW5ndWFnZXNFeHBhbmRlZCAmJiBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzfVxuICAgICAgICAgICAgcmVtYWluaW5nTG9jYWxpemF0aW9ucz17bGFuZ3VhZ2VzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3RhY2s+XG4gICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICApO1xufTtcblxuTG9jYWxpemVkVGV4dElucHV0LmRpc3BsYXlOYW1lID0gJ0xvY2FsaXplZFRleHRJbnB1dCc7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5SZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlID0gUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZTtcblxuTG9jYWxpemVkVGV4dElucHV0LmRlZmF1bHRQcm9wcyA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG59O1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuZ2V0SWQgPSBnZXRJZDtcblxuTG9jYWxpemVkVGV4dElucHV0LmdldE5hbWUgPSBnZXROYW1lO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuY3JlYXRlTG9jYWxpemVkU3RyaW5nID0gY3JlYXRlTG9jYWxpemVkU3RyaW5nO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuaXNFbXB0eSA9IGlzRW1wdHk7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5vbWl0RW1wdHlUcmFuc2xhdGlvbnMgPSBvbWl0RW1wdHlUcmFuc2xhdGlvbnM7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5pc1RvdWNoZWQgPSBpc1RvdWNoZWQ7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsaXplZFRleHRJbnB1dDtcbiJdfQ== */",
100
92
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
101
93
  };
102
94
 
@@ -114,11 +106,15 @@ var LocalizedInput = function LocalizedInput(props) {
114
106
  // might clear it using the knob, and then we can't parse the language from
115
107
  // the input name anymore.
116
108
  //
117
- // eslint-disable-next-line no-param-reassign
118
109
  event.target.language = props.language;
119
- onChange(event);
110
+ onChange === null || onChange === void 0 ? void 0 : onChange(event);
120
111
  }, [props.language, onChange]);
121
112
  var theme = react.useTheme();
113
+
114
+ if (!props.isReadOnly) {
115
+ process.env.NODE_ENV !== "production" ? utils.warning(typeof props.onChange === 'function', 'LocalizedTextInput: "onChange" is required when isReadOnly is not true') : void 0;
116
+ }
117
+
122
118
  return jsxRuntime.jsxs("div", {
123
119
  css: _ref,
124
120
  children: [jsxRuntime.jsx("label", {
@@ -135,39 +131,22 @@ var LocalizedInput = function LocalizedInput(props) {
135
131
  }, props.language);
136
132
  };
137
133
 
138
- LocalizedInput.displayName = 'LocalizedInput';
139
134
  LocalizedInput.propTypes = process.env.NODE_ENV !== "production" ? {
140
- /**
141
- * Used as prefix of HTML `id` property. Each input field id will have the language as a suffix (`${idPrefix}.${lang}`), e.g. `foo.en`. You can use the static `LocalizedTextInput.getId(idPrefix, language)` to create this id string, e.g. for labels.
142
- */
143
- id: PropTypes__default["default"].string,
144
-
145
- /**
146
- * Used as HTML `name` property for each input field. Each input field name will have the language as a suffix (`${namePrefix}.${lang}`), e.g. `foo.en`
147
- */
148
- name: PropTypes__default["default"].string,
149
-
150
- /**
151
- * Used as HTML `autocomplete` property
152
- */
153
- autoComplete: PropTypes__default["default"].string,
154
- value: PropTypes__default["default"].string.isRequired,
155
-
156
- /**
157
- * Gets called when any input is changed. Is called with the change event of the changed input.
158
- */
159
- onChange: requiredIf__default["default"](PropTypes__default["default"].func, function (props) {
160
- return !props.isReadOnly;
161
- }),
162
- language: PropTypes__default["default"].string.isRequired,
163
- onBlur: PropTypes__default["default"].func,
164
- onFocus: PropTypes__default["default"].func,
165
- isAutofocussed: PropTypes__default["default"].bool,
166
- isDisabled: PropTypes__default["default"].bool,
167
- isReadOnly: PropTypes__default["default"].bool,
168
- hasError: PropTypes__default["default"].bool,
169
- placeholder: PropTypes__default["default"].string
135
+ id: _pt__default["default"].string,
136
+ name: _pt__default["default"].string,
137
+ autoComplete: _pt__default["default"].string,
138
+ value: _pt__default["default"].string.isRequired,
139
+ onChange: _pt__default["default"].func,
140
+ language: _pt__default["default"].string.isRequired,
141
+ onBlur: _pt__default["default"].func,
142
+ onFocus: _pt__default["default"].func,
143
+ isAutofocussed: _pt__default["default"].bool,
144
+ isDisabled: _pt__default["default"].bool,
145
+ isReadOnly: _pt__default["default"].bool,
146
+ hasError: _pt__default["default"].bool,
147
+ placeholder: _pt__default["default"].string
170
148
  } : {};
149
+ LocalizedInput.displayName = 'LocalizedInput';
171
150
 
172
151
  var RequiredValueErrorMessage = function RequiredValueErrorMessage() {
173
152
  return jsxRuntime.jsx(messages.ErrorMessage, {
@@ -186,6 +165,9 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
186
165
  areLanguagesExpanded = _useToggleState2[0],
187
166
  toggleLanguages = _useToggleState2[1];
188
167
 
168
+ var onLocalizedInputToggle = react$1.useCallback(function () {
169
+ return toggleLanguages();
170
+ }, [toggleLanguages]);
189
171
  var languages = localizedUtils.sortLanguages(props.selectedLanguage, _Object$keys__default["default"](props.value));
190
172
  var id = hooks.useFieldId(props.id, sequentialId);
191
173
  var hasErrorInRemainingLanguages = props.hasError || localizedUtils.getHasErrorOnRemainingLanguages(props.errors, props.selectedLanguage);
@@ -199,6 +181,15 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
199
181
  }
200
182
 
201
183
  var shouldRenderLanguagesButton = languages.length > 1 && !props.hideLanguageExpansionControls;
184
+
185
+ if (!props.isReadOnly) {
186
+ process.env.NODE_ENV !== "production" ? utils.warning(typeof props.onChange === 'function', 'LocalizedTextInput: "onChange" is required when isReadOnly is not true') : void 0;
187
+ }
188
+
189
+ if (props.hideLanguageExpansionControls) {
190
+ process.env.NODE_ENV !== "production" ? utils.warning(typeof props.defaultExpandLanguages !== 'boolean', 'LocalizedTextInput: "defaultExpandLanguages" does not have any effect when "hideLanguageExpansionControls" is set.') : void 0;
191
+ }
192
+
202
193
  return jsxRuntime.jsx(Constraints__default["default"].Horizontal, {
203
194
  max: props.horizontalConstraint,
204
195
  children: jsxRuntime.jsxs(Stack__default["default"], {
@@ -210,7 +201,7 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
210
201
  return jsxRuntime.jsx("div", {
211
202
  children: jsxRuntime.jsxs(Stack__default["default"], {
212
203
  scale: "xs",
213
- children: [jsxRuntime.jsx(LocalizedInput, _objectSpread({
204
+ children: [jsxRuntime.jsx(LocalizedInput, _objectSpread(_objectSpread({
214
205
  autoComplete: props.autoComplete,
215
206
  id: LocalizedTextInput.getId(id, language),
216
207
  name: LocalizedTextInput.getName(props.name, language),
@@ -224,13 +215,17 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
224
215
  isDisabled: props.isDisabled,
225
216
  isReadOnly: props.isReadOnly,
226
217
  hasError: Boolean(props.hasError || props.errors && props.errors[language])
227
- }, localizedUtils.createLocalizedDataAttributes(props, language))), props.errors && props.errors[language]]
218
+ }, localizedUtils.createLocalizedDataAttributes(props, language)), {}, {
219
+ /* ARIA */
220
+ "aria-invalid": props['aria-invalid'],
221
+ "aria-errormessage": props['aria-errormessage']
222
+ })), props.errors && props.errors[language]]
228
223
  })
229
224
  }, language);
230
225
  })
231
226
  }), shouldRenderLanguagesButton && jsxRuntime.jsx(inputUtils.LocalizedInputToggle, {
232
227
  isOpen: areLanguagesExpanded,
233
- onClick: toggleLanguages,
228
+ onClick: onLocalizedInputToggle,
234
229
  isDisabled: areLanguagesExpanded && hasErrorInRemainingLanguages,
235
230
  remainingLocalizations: languages.length - 1
236
231
  })]
@@ -238,96 +233,29 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
238
233
  });
239
234
  };
240
235
 
241
- LocalizedTextInput.displayName = 'LocalizedTextInput';
242
- LocalizedTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage;
243
236
  LocalizedTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
244
- id: PropTypes__default["default"].string,
245
- name: PropTypes__default["default"].string,
246
- autoComplete: PropTypes__default["default"].string,
247
- // then input doesn't accept a "languages" prop, instead all possible
248
- // languages have to exist (with empty or filled strings) on the value:
249
- // { en: 'foo', de: '', es: '' }
250
- value: PropTypes__default["default"].objectOf(PropTypes__default["default"].string).isRequired,
251
-
252
- /**
253
- * Gets called when any input is changed. Is called with the change event of the changed input.
254
- */
255
- onChange: requiredIf__default["default"](PropTypes__default["default"].func, function (props) {
256
- return !props.isReadOnly;
257
- }),
258
-
259
- /**
260
- * Specifies which language will be shown in case the `LocalizedTextInput` is collapsed.
261
- */
262
- selectedLanguage: PropTypes__default["default"].string.isRequired,
263
-
264
- /**
265
- * Called when any field is blurred. Is called with the `event` of that field.
266
- */
267
- onBlur: PropTypes__default["default"].func,
268
-
269
- /**
270
- * Called when any field is focussed. Is called with the `event` of that field.
271
- */
272
- onFocus: PropTypes__default["default"].func,
273
-
274
- /**
275
- * Will hide the language expansion controls when set to `true`. All languages will be shown when set to `true`.
276
- */
277
- hideLanguageExpansionControls: PropTypes__default["default"].bool,
278
-
279
- /**
280
- * Controls whether one or all languages are visible by default
281
- */
282
- defaultExpandLanguages: function defaultExpandLanguages(props, propName, componentName) {
283
- var _context;
284
-
285
- if (props.hideLanguageExpansionControls && typeof props[propName] === 'boolean') {
286
- throw new Error(commonTags.oneLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ": \"", "\" does not have any effect when\n \"hideLanguageExpansionControls\" is set.\n "])), componentName, propName));
287
- }
288
-
289
- for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
290
- rest[_key - 3] = arguments[_key];
291
- }
292
-
293
- return PropTypes__default["default"].bool.apply(PropTypes__default["default"], _concatInstanceProperty__default["default"](_context = [props, propName, componentName]).call(_context, rest));
294
- },
295
-
296
- /**
297
- * Focus the input field on initial render
298
- */
299
- isAutofocussed: PropTypes__default["default"].bool,
300
-
301
- /**
302
- * Disables all input fields.
303
- */
304
- isDisabled: PropTypes__default["default"].bool,
305
-
306
- /**
307
- * Disables all input fields and shows them in read-only mode.
308
- */
309
- isReadOnly: PropTypes__default["default"].bool,
310
-
311
- /**
312
- * Placeholders for each language. Object of the same shape as `value`.
313
- */
314
- placeholder: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
315
-
316
- /**
317
- * Horizontal size limit of the input fields.
318
- */
319
- horizontalConstraint: PropTypes__default["default"].oneOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
320
-
321
- /**
322
- * Will apply the error state to each input without showing any error message.
323
- */
324
- hasError: PropTypes__default["default"].bool,
325
-
326
- /**
327
- * Used to show errors underneath the inputs of specific currencies. Pass an object whose key is a currency and whose value is the error to show for that key.
328
- */
329
- errors: PropTypes__default["default"].objectOf(PropTypes__default["default"].node)
237
+ id: _pt__default["default"].string,
238
+ name: _pt__default["default"].string,
239
+ autoComplete: _pt__default["default"].string,
240
+ 'aria-invalid': _pt__default["default"].bool,
241
+ 'aria-errormessage': _pt__default["default"].string,
242
+ value: _pt__default["default"].objectOf(_pt__default["default"].string).isRequired,
243
+ onChange: _pt__default["default"].func,
244
+ selectedLanguage: _pt__default["default"].string.isRequired,
245
+ onBlur: _pt__default["default"].func,
246
+ onFocus: _pt__default["default"].func,
247
+ hideLanguageExpansionControls: _pt__default["default"].bool,
248
+ defaultExpandLanguages: _pt__default["default"].bool,
249
+ isAutofocussed: _pt__default["default"].bool,
250
+ isDisabled: _pt__default["default"].bool,
251
+ isReadOnly: _pt__default["default"].bool,
252
+ placeholder: _pt__default["default"].objectOf(_pt__default["default"].string),
253
+ horizontalConstraint: _pt__default["default"].oneOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
254
+ hasError: _pt__default["default"].bool,
255
+ errors: _pt__default["default"].objectOf(_pt__default["default"].string)
330
256
  } : {};
257
+ LocalizedTextInput.displayName = 'LocalizedTextInput';
258
+ LocalizedTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage;
331
259
  LocalizedTextInput.defaultProps = {
332
260
  horizontalConstraint: 'scale'
333
261
  };
@@ -340,7 +268,7 @@ LocalizedTextInput.isTouched = localizedUtils.isTouched;
340
268
  var LocalizedTextInput$1 = LocalizedTextInput;
341
269
 
342
270
  // NOTE: This string will be replaced on build time with the package version.
343
- var version = "13.0.0";
271
+ var version = "13.0.4";
344
272
 
345
273
  exports["default"] = LocalizedTextInput$1;
346
274
  exports.version = version;
@@ -9,16 +9,12 @@ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/in
9
9
  var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
10
10
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
11
11
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
12
- require('@babel/runtime-corejs3/helpers/taggedTemplateLiteral');
13
12
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
14
13
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
14
+ require('prop-types');
15
15
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
16
16
  var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
17
- require('@babel/runtime-corejs3/core-js-stable/instance/concat');
18
17
  var react$1 = require('react');
19
- require('prop-types');
20
- require('react-required-if');
21
- require('common-tags');
22
18
  var reactIntl = require('react-intl');
23
19
  var react = require('@emotion/react');
24
20
  var hooks = require('@commercetools-uikit/hooks');
@@ -65,7 +61,7 @@ var getLocalizedInputStyles = function getLocalizedInputStyles() {
65
61
  return [_ref$1];
66
62
  };
67
63
 
68
- var getLanguageLabelStyles = function getLanguageLabelStyles(props, theme) {
64
+ var getLanguageLabelStyles = function getLanguageLabelStyles(_props, theme) {
69
65
  var overwrittenVars = _objectSpread$1(_objectSpread$1({}, designSystem.customProperties), theme);
70
66
 
71
67
  return /*#__PURE__*/react.css("flex:1 0 auto;box-sizing:border-box;color:", overwrittenVars[designSystem.designTokens.fontColorForInputWhenDisabled], ";height:", designSystem.customProperties.sizeHeightInput, ";line-height:", designSystem.customProperties.sizeHeightInput, ";background-color:", overwrittenVars[designSystem.designTokens.backgroundColorForInputWhenDisabled], ";border-top-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border-bottom-left-radius:", overwrittenVars[designSystem.designTokens.borderRadiusForInput], ";border:1px ", overwrittenVars[designSystem.designTokens.borderColorForInputWhenDisabled], " solid;padding:0 ", designSystem.customProperties.spacingS, ";transition:border-color ", designSystem.customProperties.transitionStandard, ",background-color ", designSystem.customProperties.transitionStandard, ",color ", designSystem.customProperties.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;" + ("" ), "" );
@@ -73,7 +69,7 @@ var getLanguageLabelStyles = function getLanguageLabelStyles(props, theme) {
73
69
 
74
70
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
75
71
 
76
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
72
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
77
73
  var sequentialId = utils.createSequentialId('localized-text-input-');
78
74
 
79
75
  var _ref = {
@@ -95,11 +91,13 @@ var LocalizedInput = function LocalizedInput(props) {
95
91
  // might clear it using the knob, and then we can't parse the language from
96
92
  // the input name anymore.
97
93
  //
98
- // eslint-disable-next-line no-param-reassign
99
94
  event.target.language = props.language;
100
- onChange(event);
95
+ onChange === null || onChange === void 0 ? void 0 : onChange(event);
101
96
  }, [props.language, onChange]);
102
97
  var theme = react.useTheme();
98
+
99
+ if (!props.isReadOnly) ;
100
+
103
101
  return jsxRuntime.jsxs("div", {
104
102
  css: _ref,
105
103
  children: [jsxRuntime.jsx("label", {
@@ -116,8 +114,8 @@ var LocalizedInput = function LocalizedInput(props) {
116
114
  }, props.language);
117
115
  };
118
116
 
119
- LocalizedInput.displayName = 'LocalizedInput';
120
117
  LocalizedInput.propTypes = {};
118
+ LocalizedInput.displayName = 'LocalizedInput';
121
119
 
122
120
  var RequiredValueErrorMessage = function RequiredValueErrorMessage() {
123
121
  return jsxRuntime.jsx(messages.ErrorMessage, {
@@ -136,6 +134,9 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
136
134
  areLanguagesExpanded = _useToggleState2[0],
137
135
  toggleLanguages = _useToggleState2[1];
138
136
 
137
+ var onLocalizedInputToggle = react$1.useCallback(function () {
138
+ return toggleLanguages();
139
+ }, [toggleLanguages]);
139
140
  var languages = localizedUtils.sortLanguages(props.selectedLanguage, _Object$keys__default["default"](props.value));
140
141
  var id = hooks.useFieldId(props.id, sequentialId);
141
142
  var hasErrorInRemainingLanguages = props.hasError || localizedUtils.getHasErrorOnRemainingLanguages(props.errors, props.selectedLanguage);
@@ -149,6 +150,11 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
149
150
  }
150
151
 
151
152
  var shouldRenderLanguagesButton = languages.length > 1 && !props.hideLanguageExpansionControls;
153
+
154
+ if (!props.isReadOnly) ;
155
+
156
+ if (props.hideLanguageExpansionControls) ;
157
+
152
158
  return jsxRuntime.jsx(Constraints__default["default"].Horizontal, {
153
159
  max: props.horizontalConstraint,
154
160
  children: jsxRuntime.jsxs(Stack__default["default"], {
@@ -160,7 +166,7 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
160
166
  return jsxRuntime.jsx("div", {
161
167
  children: jsxRuntime.jsxs(Stack__default["default"], {
162
168
  scale: "xs",
163
- children: [jsxRuntime.jsx(LocalizedInput, _objectSpread({
169
+ children: [jsxRuntime.jsx(LocalizedInput, _objectSpread(_objectSpread({
164
170
  autoComplete: props.autoComplete,
165
171
  id: LocalizedTextInput.getId(id, language),
166
172
  name: LocalizedTextInput.getName(props.name, language),
@@ -174,13 +180,17 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
174
180
  isDisabled: props.isDisabled,
175
181
  isReadOnly: props.isReadOnly,
176
182
  hasError: Boolean(props.hasError || props.errors && props.errors[language])
177
- }, localizedUtils.createLocalizedDataAttributes(props, language))), props.errors && props.errors[language]]
183
+ }, localizedUtils.createLocalizedDataAttributes(props, language)), {}, {
184
+ /* ARIA */
185
+ "aria-invalid": props['aria-invalid'],
186
+ "aria-errormessage": props['aria-errormessage']
187
+ })), props.errors && props.errors[language]]
178
188
  })
179
189
  }, language);
180
190
  })
181
191
  }), shouldRenderLanguagesButton && jsxRuntime.jsx(inputUtils.LocalizedInputToggle, {
182
192
  isOpen: areLanguagesExpanded,
183
- onClick: toggleLanguages,
193
+ onClick: onLocalizedInputToggle,
184
194
  isDisabled: areLanguagesExpanded && hasErrorInRemainingLanguages,
185
195
  remainingLocalizations: languages.length - 1
186
196
  })]
@@ -188,9 +198,9 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
188
198
  });
189
199
  };
190
200
 
201
+ LocalizedTextInput.propTypes = {};
191
202
  LocalizedTextInput.displayName = 'LocalizedTextInput';
192
203
  LocalizedTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage;
193
- LocalizedTextInput.propTypes = {};
194
204
  LocalizedTextInput.defaultProps = {
195
205
  horizontalConstraint: 'scale'
196
206
  };
@@ -203,7 +213,7 @@ LocalizedTextInput.isTouched = localizedUtils.isTouched;
203
213
  var LocalizedTextInput$1 = LocalizedTextInput;
204
214
 
205
215
  // NOTE: This string will be replaced on build time with the package version.
206
- var version = "13.0.0";
216
+ var version = "13.0.4";
207
217
 
208
218
  exports["default"] = LocalizedTextInput$1;
209
219
  exports.version = version;
@@ -5,16 +5,12 @@ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/inst
5
5
  import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
6
6
  import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
7
7
  import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
8
- import _taggedTemplateLiteral from '@babel/runtime-corejs3/helpers/esm/taggedTemplateLiteral';
9
8
  import _slicedToArray from '@babel/runtime-corejs3/helpers/esm/slicedToArray';
10
9
  import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
10
+ import _pt from 'prop-types';
11
11
  import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
12
12
  import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
13
- import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
14
13
  import { useCallback } from 'react';
15
- import PropTypes from 'prop-types';
16
- import requiredIf from 'react-required-if';
17
- import { oneLine } from 'common-tags';
18
14
  import { FormattedMessage } from 'react-intl';
19
15
  import { css, useTheme } from '@emotion/react';
20
16
  import { useToggleState, useFieldId } from '@commercetools-uikit/hooks';
@@ -23,7 +19,7 @@ import Stack from '@commercetools-uikit/spacings-stack';
23
19
  import Constraints from '@commercetools-uikit/constraints';
24
20
  import Text from '@commercetools-uikit/text';
25
21
  import { sortLanguages, getHasErrorOnRemainingLanguages, createLocalizedDataAttributes, getId, getName, createLocalizedString, isEmpty, omitEmptyTranslations, isTouched } from '@commercetools-uikit/localized-utils';
26
- import { createSequentialId } from '@commercetools-uikit/utils';
22
+ import { createSequentialId, warning } from '@commercetools-uikit/utils';
27
23
  import TextInput from '@commercetools-uikit/text-input';
28
24
  import { LocalizedInputToggle, messagesLocalizedInput } from '@commercetools-uikit/input-utils';
29
25
  import { customProperties, designTokens } from '@commercetools-uikit/design-system';
@@ -44,7 +40,7 @@ var _ref$1 = process.env.NODE_ENV === "production" ? {
44
40
  } : {
45
41
  name: "bqcila-getLocalizedInputStyles",
46
42
  styles: "border-top-left-radius:0;border-bottom-left-radius:0;border-style:solid;flex:auto;label:getLocalizedInputStyles;",
47
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXSyIsImZpbGUiOiJsb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQge1xuICBjdXN0b21Qcm9wZXJ0aWVzIGFzIHZhcnMsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbi8vIE5PVEU6IG9yZGVyIGlzIGltcG9ydGFudCBoZXJlXG4vLyAqIGEgZGlzYWJsZWQtZmllbGQgY3VycmVudGx5IGRvZXMgbm90IGRpc3BsYXkgd2FybmluZy9lcnJvci1zdGF0ZXMgc28gaXQgdGFrZXMgcHJlY2VkZW5jZVxuLy8gKiBhIHJlYWRvbmx5LWZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkLCBidXQgaXQgbWlnaHQgYmUgcmVsZXZhbnQgZm9yIHZhbGlkYXRpb24sIHNvIGVycm9yIGFuZCB3YXJuaW5nIGFyZSBjaGVja2VkIGZpcnN0XG4vLyBob3cgeW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBmaWVsZCBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgdGhlIHByb3BzLCB0aGlzIG9ubHkgaW5mbHVlbmNlcyB2aXN1YWxzXG5jb25zdCBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyA9ICgpID0+IFtcbiAgY3NzYFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGZsZXg6IGF1dG87XG4gIGAsXG5dO1xuXG5jb25zdCBnZXRMYW5ndWFnZUxhYmVsU3R5bGVzID0gKHByb3BzLCB0aGVtZSkgPT4ge1xuICBjb25zdCBvdmVyd3JpdHRlblZhcnMgPSB7XG4gICAgLi4udmFycyxcbiAgICAuLi50aGVtZSxcbiAgfTtcblxuICByZXR1cm4gY3NzYFxuICAgIC8qIGF2b2lkIHdyYXBwaW5nIGxhYmVsIG9udG8gbmV3IGxpbmVzICovXG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXX07XG4gICAgaGVpZ2h0OiAke3ZhcnMuc2l6ZUhlaWdodElucHV0fTtcbiAgICBsaW5lLWhlaWdodDogJHt2YXJzLnNpemVIZWlnaHRJbnB1dH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRcbiAgICBdfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5ib3JkZXJSYWRpdXNGb3JJbnB1dFxuICAgIF19O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0XG4gICAgXX07XG4gICAgYm9yZGVyOiAxcHggJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRdfVxuICAgICAgc29saWQ7XG4gICAgcGFkZGluZzogMCAke3ZhcnMuc3BhY2luZ1N9O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBjb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICBgO1xufTtcblxuZXhwb3J0IHsgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMsIGdldExhbmd1YWdlTGFiZWxTdHlsZXMgfTtcbiJdfQ== */",
43
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXSyIsImZpbGUiOiJsb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMudHMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIHR5cGUgVGhlbWUgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQge1xuICBjdXN0b21Qcm9wZXJ0aWVzIGFzIHZhcnMsXG4gIGRlc2lnblRva2Vucyxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbi8vIE5PVEU6IG9yZGVyIGlzIGltcG9ydGFudCBoZXJlXG4vLyAqIGEgZGlzYWJsZWQtZmllbGQgY3VycmVudGx5IGRvZXMgbm90IGRpc3BsYXkgd2FybmluZy9lcnJvci1zdGF0ZXMgc28gaXQgdGFrZXMgcHJlY2VkZW5jZVxuLy8gKiBhIHJlYWRvbmx5LWZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkLCBidXQgaXQgbWlnaHQgYmUgcmVsZXZhbnQgZm9yIHZhbGlkYXRpb24sIHNvIGVycm9yIGFuZCB3YXJuaW5nIGFyZSBjaGVja2VkIGZpcnN0XG4vLyBob3cgeW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBmaWVsZCBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgdGhlIHByb3BzLCB0aGlzIG9ubHkgaW5mbHVlbmNlcyB2aXN1YWxzXG5jb25zdCBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyA9ICgpID0+IFtcbiAgY3NzYFxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGZsZXg6IGF1dG87XG4gIGAsXG5dO1xuXG5jb25zdCBnZXRMYW5ndWFnZUxhYmVsU3R5bGVzID0gKF9wcm9wczogdW5rbm93biwgdGhlbWU6IFRoZW1lKSA9PiB7XG4gIGNvbnN0IG92ZXJ3cml0dGVuVmFycyA9IHtcbiAgICAuLi52YXJzLFxuICAgIC4uLnRoZW1lLFxuICB9O1xuXG4gIHJldHVybiBjc3NgXG4gICAgLyogYXZvaWQgd3JhcHBpbmcgbGFiZWwgb250byBuZXcgbGluZXMgKi9cbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAke292ZXJ3cml0dGVuVmFyc1tkZXNpZ25Ub2tlbnMuZm9udENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRdfTtcbiAgICBoZWlnaHQ6ICR7dmFycy5zaXplSGVpZ2h0SW5wdXR9O1xuICAgIGxpbmUtaGVpZ2h0OiAke3ZhcnMuc2l6ZUhlaWdodElucHV0fTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5iYWNrZ3JvdW5kQ29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZFxuICAgIF19O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0XG4gICAgXX07XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzRm9ySW5wdXRcbiAgICBdfTtcbiAgICBib3JkZXI6IDFweCAke292ZXJ3cml0dGVuVmFyc1tkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZF19XG4gICAgICBzb2xpZDtcbiAgICBwYWRkaW5nOiAwICR7dmFycy5zcGFjaW5nU307XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dmFycy50cmFuc2l0aW9uU3RhbmRhcmR9LFxuICAgICAgYmFja2dyb3VuZC1jb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfSxcbiAgICAgIGNvbG9yICR7dmFycy50cmFuc2l0aW9uU3RhbmRhcmR9O1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGA7XG59O1xuXG5leHBvcnQgeyBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcywgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyB9O1xuIl19 */",
48
44
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
49
45
  };
50
46
 
@@ -52,17 +48,15 @@ var getLocalizedInputStyles = function getLocalizedInputStyles() {
52
48
  return [_ref$1];
53
49
  };
54
50
 
55
- var getLanguageLabelStyles = function getLanguageLabelStyles(props, theme) {
51
+ var getLanguageLabelStyles = function getLanguageLabelStyles(_props, theme) {
56
52
  var overwrittenVars = _objectSpread$1(_objectSpread$1({}, customProperties), theme);
57
53
 
58
- return /*#__PURE__*/css("flex:1 0 auto;box-sizing:border-box;color:", overwrittenVars[designTokens.fontColorForInputWhenDisabled], ";height:", customProperties.sizeHeightInput, ";line-height:", customProperties.sizeHeightInput, ";background-color:", overwrittenVars[designTokens.backgroundColorForInputWhenDisabled], ";border-top-left-radius:", overwrittenVars[designTokens.borderRadiusForInput], ";border-bottom-left-radius:", overwrittenVars[designTokens.borderRadiusForInput], ";border:1px ", overwrittenVars[designTokens.borderColorForInputWhenDisabled], " solid;padding:0 ", customProperties.spacingS, ";transition:border-color ", customProperties.transitionStandard, ",background-color ", customProperties.transitionStandard, ",color ", customProperties.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;" + (process.env.NODE_ENV === "production" ? "" : ";label:getLanguageLabelStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QlkiLCJmaWxlIjoibG9jYWxpemVkLXRleHQtaW5wdXQuc3R5bGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHtcbiAgY3VzdG9tUHJvcGVydGllcyBhcyB2YXJzLFxuICBkZXNpZ25Ub2tlbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG4vLyBOT1RFOiBvcmRlciBpcyBpbXBvcnRhbnQgaGVyZVxuLy8gKiBhIGRpc2FibGVkLWZpZWxkIGN1cnJlbnRseSBkb2VzIG5vdCBkaXNwbGF5IHdhcm5pbmcvZXJyb3Itc3RhdGVzIHNvIGl0IHRha2VzIHByZWNlZGVuY2Vcbi8vICogYSByZWFkb25seS1maWVsZCBjYW5ub3QgYmUgY2hhbmdlZCwgYnV0IGl0IG1pZ2h0IGJlIHJlbGV2YW50IGZvciB2YWxpZGF0aW9uLCBzbyBlcnJvciBhbmQgd2FybmluZyBhcmUgY2hlY2tlZCBmaXJzdFxuLy8gaG93IHlvdSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgZmllbGQgaXMgY29udHJvbGxlZCBzZXBhcmF0ZWx5IGJ5IHRoZSBwcm9wcywgdGhpcyBvbmx5IGluZmx1ZW5jZXMgdmlzdWFsc1xuY29uc3QgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMgPSAoKSA9PiBbXG4gIGNzc2BcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBmbGV4OiBhdXRvO1xuICBgLFxuXTtcblxuY29uc3QgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyA9IChwcm9wcywgdGhlbWUpID0+IHtcbiAgY29uc3Qgb3ZlcndyaXR0ZW5WYXJzID0ge1xuICAgIC4uLnZhcnMsXG4gICAgLi4udGhlbWUsXG4gIH07XG5cbiAgcmV0dXJuIGNzc2BcbiAgICAvKiBhdm9pZCB3cmFwcGluZyBsYWJlbCBvbnRvIG5ldyBsaW5lcyAqL1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICR7b3ZlcndyaXR0ZW5WYXJzW2Rlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZF19O1xuICAgIGhlaWdodDogJHt2YXJzLnNpemVIZWlnaHRJbnB1dH07XG4gICAgbGluZS1oZWlnaHQ6ICR7dmFycy5zaXplSGVpZ2h0SW5wdXR9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJhY2tncm91bmRDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXG4gICAgXX07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYm9yZGVyUmFkaXVzRm9ySW5wdXRcbiAgICBdfTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5ib3JkZXJSYWRpdXNGb3JJbnB1dFxuICAgIF19O1xuICAgIGJvcmRlcjogMXB4ICR7b3ZlcndyaXR0ZW5WYXJzW2Rlc2lnblRva2Vucy5ib3JkZXJDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXX1cbiAgICAgIHNvbGlkO1xuICAgIHBhZGRpbmc6IDAgJHt2YXJzLnNwYWNpbmdTfTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICR7dmFycy50cmFuc2l0aW9uU3RhbmRhcmR9LFxuICAgICAgY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH07XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYDtcbn07XG5cbmV4cG9ydCB7IGdldExvY2FsaXplZElucHV0U3R5bGVzLCBnZXRMYW5ndWFnZUxhYmVsU3R5bGVzIH07XG4iXX0= */");
54
+ return /*#__PURE__*/css("flex:1 0 auto;box-sizing:border-box;color:", overwrittenVars[designTokens.fontColorForInputWhenDisabled], ";height:", customProperties.sizeHeightInput, ";line-height:", customProperties.sizeHeightInput, ";background-color:", overwrittenVars[designTokens.backgroundColorForInputWhenDisabled], ";border-top-left-radius:", overwrittenVars[designTokens.borderRadiusForInput], ";border-bottom-left-radius:", overwrittenVars[designTokens.borderRadiusForInput], ";border:1px ", overwrittenVars[designTokens.borderColorForInputWhenDisabled], " solid;padding:0 ", customProperties.spacingS, ";transition:border-color ", customProperties.transitionStandard, ",background-color ", customProperties.transitionStandard, ",color ", customProperties.transitionStandard, ";border-right:0;box-shadow:none;appearance:none;" + (process.env.NODE_ENV === "production" ? "" : ";label:getLanguageLabelStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5QlkiLCJmaWxlIjoibG9jYWxpemVkLXRleHQtaW5wdXQuc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzLCB0eXBlIFRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHtcbiAgY3VzdG9tUHJvcGVydGllcyBhcyB2YXJzLFxuICBkZXNpZ25Ub2tlbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuXG4vLyBOT1RFOiBvcmRlciBpcyBpbXBvcnRhbnQgaGVyZVxuLy8gKiBhIGRpc2FibGVkLWZpZWxkIGN1cnJlbnRseSBkb2VzIG5vdCBkaXNwbGF5IHdhcm5pbmcvZXJyb3Itc3RhdGVzIHNvIGl0IHRha2VzIHByZWNlZGVuY2Vcbi8vICogYSByZWFkb25seS1maWVsZCBjYW5ub3QgYmUgY2hhbmdlZCwgYnV0IGl0IG1pZ2h0IGJlIHJlbGV2YW50IGZvciB2YWxpZGF0aW9uLCBzbyBlcnJvciBhbmQgd2FybmluZyBhcmUgY2hlY2tlZCBmaXJzdFxuLy8gaG93IHlvdSBjYW4gaW50ZXJhY3Qgd2l0aCB0aGUgZmllbGQgaXMgY29udHJvbGxlZCBzZXBhcmF0ZWx5IGJ5IHRoZSBwcm9wcywgdGhpcyBvbmx5IGluZmx1ZW5jZXMgdmlzdWFsc1xuY29uc3QgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMgPSAoKSA9PiBbXG4gIGNzc2BcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBmbGV4OiBhdXRvO1xuICBgLFxuXTtcblxuY29uc3QgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyA9IChfcHJvcHM6IHVua25vd24sIHRoZW1lOiBUaGVtZSkgPT4ge1xuICBjb25zdCBvdmVyd3JpdHRlblZhcnMgPSB7XG4gICAgLi4udmFycyxcbiAgICAuLi50aGVtZSxcbiAgfTtcblxuICByZXR1cm4gY3NzYFxuICAgIC8qIGF2b2lkIHdyYXBwaW5nIGxhYmVsIG9udG8gbmV3IGxpbmVzICovXG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0V2hlbkRpc2FibGVkXX07XG4gICAgaGVpZ2h0OiAke3ZhcnMuc2l6ZUhlaWdodElucHV0fTtcbiAgICBsaW5lLWhlaWdodDogJHt2YXJzLnNpemVIZWlnaHRJbnB1dH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtvdmVyd3JpdHRlblZhcnNbXG4gICAgICBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRcbiAgICBdfTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAke292ZXJ3cml0dGVuVmFyc1tcbiAgICAgIGRlc2lnblRva2Vucy5ib3JkZXJSYWRpdXNGb3JJbnB1dFxuICAgIF19O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICR7b3ZlcndyaXR0ZW5WYXJzW1xuICAgICAgZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0XG4gICAgXX07XG4gICAgYm9yZGVyOiAxcHggJHtvdmVyd3JpdHRlblZhcnNbZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWRdfVxuICAgICAgc29saWQ7XG4gICAgcGFkZGluZzogMCAke3ZhcnMuc3BhY2luZ1N9O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfSxcbiAgICAgIGJhY2tncm91bmQtY29sb3IgJHt2YXJzLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBjb2xvciAke3ZhcnMudHJhbnNpdGlvblN0YW5kYXJkfTtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICBgO1xufTtcblxuZXhwb3J0IHsgZ2V0TG9jYWxpemVkSW5wdXRTdHlsZXMsIGdldExhbmd1YWdlTGFiZWxTdHlsZXMgfTtcbiJdfQ== */");
59
55
  };
60
56
 
61
- var _templateObject;
62
-
63
57
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
64
58
 
65
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
59
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
66
60
 
67
61
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
68
62
  var sequentialId = createSequentialId('localized-text-input-');
@@ -73,7 +67,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
73
67
  } : {
74
68
  name: "1ysn02y-LocalizedInput",
75
69
  styles: "width:100%;position:relative;display:flex;label:LocalizedInput;",
76
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEYyIsImZpbGUiOiJsb2NhbGl6ZWQtdGV4dC1pbnB1dC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCByZXF1aXJlZElmIGZyb20gJ3JlYWN0LXJlcXVpcmVkLWlmJztcbmltcG9ydCB7IG9uZUxpbmUgfSBmcm9tICdjb21tb24tdGFncyc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9tZXNzYWdlcyc7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHtcbiAgc29ydExhbmd1YWdlcyxcbiAgY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMsXG4gIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGlzVG91Y2hlZCxcbiAgb21pdEVtcHR5VHJhbnNsYXRpb25zLFxuICBpc0VtcHR5LFxuICBjcmVhdGVMb2NhbGl6ZWRTdHJpbmcsXG4gIGdldElkLFxuICBnZXROYW1lLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9sb2NhbGl6ZWQtdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlU2VxdWVudGlhbElkIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IFRleHRJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0LWlucHV0JztcbmltcG9ydCB7XG4gIExvY2FsaXplZElucHV0VG9nZ2xlLFxuICBtZXNzYWdlc0xvY2FsaXplZElucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyxcbiAgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyxcbn0gZnJvbSAnLi9sb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMnO1xuXG5jb25zdCBzZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoJ2xvY2FsaXplZC10ZXh0LWlucHV0LScpO1xuXG5jb25zdCBMb2NhbGl6ZWRJbnB1dCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG9uQ2hhbmdlIH0gPSBwcm9wcztcbiAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50KSA9PiB7XG4gICAgICAvLyBXZSBtYW5pcHVsYXRlIHRoZSBldmVudCB0byBhZGQgdGhlIGxhbmd1YWdlIHRvIHRoZSB0YXJnZXQuXG4gICAgICAvLyBUaGF0IHdheSB0aGUgdXNlcnMgb2YgTG9jYWxpemVkVGV4dElucHV0J3Mgb25DaGFuZ2UgY2FuIHJlYWRcbiAgICAgIC8vIGV2ZW50LnRhcmdldC5sYW5ndWFnZSBhbmQgZXZlbnQudGFyZ2V0LnZhbHVlIHRvIGRldGVybWluZSB0aGUgbmV4dCB2YWx1ZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBvbmx5IG5lZWQgdGhpcyBpbmZvcm1hdGlvbiBmb3IgdGhlIHN0b3J5LCB0aGUgTUMgYXBwbGljYXRpb24gY29kZSB3aWxsXG4gICAgICAvLyBuZXZlciBuZWVkIHRvIGFjY2VzcyB0aGUgaW5mb3JtYXRpb24gaW4gc3VjaCBhbiBpbmNvbnZlbmllbnQgd2F5LCBhc1xuICAgICAgLy8gRm9ybWlrIGNhbiBkZWFsIHdpdGggYSBuYW1lIGxpa2UgXCJmb28uZW5cIiBhbmQgc2V0cyB0aGUgdmFsdWUgY29ycmVjdGx5LlxuICAgICAgLy8gV2UgY2FuJ3QgdXNlIHRoaXMgYXMgd2UgYXJlbid0IGd1YXJhbnRlZWQgYSBuYW1lIGluIHRoZSBzdG9yeSBhcyB0aGUgdXNlclxuICAgICAgLy8gbWlnaHQgY2xlYXIgaXQgdXNpbmcgdGhlIGtub2IsIGFuZCB0aGVuIHdlIGNhbid0IHBhcnNlIHRoZSBsYW5ndWFnZSBmcm9tXG4gICAgICAvLyB0aGUgaW5wdXQgbmFtZSBhbnltb3JlLlxuICAgICAgLy9cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgZXZlbnQudGFyZ2V0Lmxhbmd1YWdlID0gcHJvcHMubGFuZ3VhZ2U7XG4gICAgICBvbkNoYW5nZShldmVudCk7XG4gICAgfSxcbiAgICBbcHJvcHMubGFuZ3VhZ2UsIG9uQ2hhbmdlXVxuICApO1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBrZXk9e3Byb3BzLmxhbmd1YWdlfVxuICAgICAgY3NzPXtjc3NgXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBgfVxuICAgID5cbiAgICAgIDxsYWJlbCBodG1sRm9yPXtwcm9wcy5pZH0gY3NzPXtnZXRMYW5ndWFnZUxhYmVsU3R5bGVzKHByb3BzLCB0aGVtZSl9PlxuICAgICAgICB7LyogRklYTUU6IGFkZCBwcm9wZXIgdG9uZSBmb3IgZGlzYWJsZWQgd2hlbiB0b25lcyBhcmUgcmVmYWN0b3JlZCAqL31cbiAgICAgICAgPFRleHQuRGV0YWlsIHRvbmU9XCJzZWNvbmRhcnlcIj5cbiAgICAgICAgICB7cHJvcHMubGFuZ3VhZ2UudG9VcHBlckNhc2UoKX1cbiAgICAgICAgPC9UZXh0LkRldGFpbD5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8VGV4dElucHV0XG4gICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgY3NzPXtnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlc31cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Mb2NhbGl6ZWRJbnB1dC5kaXNwbGF5TmFtZSA9ICdMb2NhbGl6ZWRJbnB1dCc7XG5Mb2NhbGl6ZWRJbnB1dC5wcm9wVHlwZXMgPSB7XG4gIC8qKlxuICAgKiBVc2VkIGFzIHByZWZpeCBvZiBIVE1MIGBpZGAgcHJvcGVydHkuIEVhY2ggaW5wdXQgZmllbGQgaWQgd2lsbCBoYXZlIHRoZSBsYW5ndWFnZSBhcyBhIHN1ZmZpeCAoYCR7aWRQcmVmaXh9LiR7bGFuZ31gKSwgZS5nLiBgZm9vLmVuYC4gWW91IGNhbiB1c2UgdGhlIHN0YXRpYyBgTG9jYWxpemVkVGV4dElucHV0LmdldElkKGlkUHJlZml4LCBsYW5ndWFnZSlgIHRvIGNyZWF0ZSB0aGlzIGlkIHN0cmluZywgZS5nLiBmb3IgbGFiZWxzLlxuICAgKi9cbiAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYG5hbWVgIHByb3BlcnR5IGZvciBlYWNoIGlucHV0IGZpZWxkLiBFYWNoIGlucHV0IGZpZWxkIG5hbWUgd2lsbCBoYXZlIHRoZSBsYW5ndWFnZSBhcyBhIHN1ZmZpeCAoYCR7bmFtZVByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5gXG4gICAqL1xuICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICogVXNlZCBhcyBIVE1MIGBhdXRvY29tcGxldGVgIHByb3BlcnR5XG4gICAqL1xuICBhdXRvQ29tcGxldGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKlxuICAgKiBHZXRzIGNhbGxlZCB3aGVuIGFueSBpbnB1dCBpcyBjaGFuZ2VkLiBJcyBjYWxsZWQgd2l0aCB0aGUgY2hhbmdlIGV2ZW50IG9mIHRoZSBjaGFuZ2VkIGlucHV0LlxuICAgKi9cbiAgb25DaGFuZ2U6IHJlcXVpcmVkSWYoUHJvcFR5cGVzLmZ1bmMsIChwcm9wcykgPT4gIXByb3BzLmlzUmVhZE9ubHkpLFxuICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBvbkJsdXI6IFByb3BUeXBlcy5mdW5jLFxuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgaXNBdXRvZm9jdXNzZWQ6IFByb3BUeXBlcy5ib29sLFxuICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgaXNSZWFkT25seTogUHJvcFR5cGVzLmJvb2wsXG4gIGhhc0Vycm9yOiBQcm9wVHlwZXMuYm9vbCxcbiAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG59O1xuXG5jb25zdCBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlID0gKCkgPT4gKFxuICA8RXJyb3JNZXNzYWdlPlxuICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlc0xvY2FsaXplZElucHV0Lm1pc3NpbmdSZXF1aXJlZEZpZWxkfSAvPlxuICA8L0Vycm9yTWVzc2FnZT5cbik7XG5cblJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UuZGlzcGxheU5hbWUgPSAnUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSc7XG5cbmNvbnN0IExvY2FsaXplZFRleHRJbnB1dCA9IChwcm9wcykgPT4ge1xuICBjb25zdCBkZWZhdWx0RXhwYW5zaW9uU3RhdGUgPVxuICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzIHx8XG4gICAgcHJvcHMuZGVmYXVsdEV4cGFuZExhbmd1YWdlcyB8fCAvLyBkZWZhdWx0IHRvIGBmYWxzZWAsIGJlY2F1c2UgdXNlVG9nZ2xlU3RhdGUgZGVmYXVsdHMgdG8gYHRydWVgXG4gICAgZmFsc2U7XG5cbiAgY29uc3QgW2FyZUxhbmd1YWdlc0V4cGFuZGVkLCB0b2dnbGVMYW5ndWFnZXNdID0gdXNlVG9nZ2xlU3RhdGUoXG4gICAgZGVmYXVsdEV4cGFuc2lvblN0YXRlXG4gICk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VzID0gc29ydExhbmd1YWdlcyhcbiAgICBwcm9wcy5zZWxlY3RlZExhbmd1YWdlLFxuICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICApO1xuXG4gIGNvbnN0IGlkID0gdXNlRmllbGRJZChwcm9wcy5pZCwgc2VxdWVudGlhbElkKTtcblxuICBjb25zdCBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzID1cbiAgICBwcm9wcy5oYXNFcnJvciB8fFxuICAgIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMocHJvcHMuZXJyb3JzLCBwcm9wcy5zZWxlY3RlZExhbmd1YWdlKTtcblxuICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcykge1xuICAgIC8vIHRoaXMgdXBkYXRlIHdpdGhpbiByZW5kZXIgcmVwbGFjZXMgdGhlIG9sZCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBmdW5jdGlvbmFsaXR5XG4gICAgLy8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy1kby1pLWltcGxlbWVudC1nZXRkZXJpdmVkc3RhdGVmcm9tcHJvcHNcbiAgICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcyAhPT0gYXJlTGFuZ3VhZ2VzRXhwYW5kZWQpIHtcbiAgICAgIHRvZ2dsZUxhbmd1YWdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNob3VsZFJlbmRlckxhbmd1YWdlc0J1dHRvbiA9XG4gICAgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEgJiYgIXByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzO1xuXG4gIHJldHVybiAoXG4gICAgPENvbnN0cmFpbnRzLkhvcml6b250YWwgbWF4PXtwcm9wcy5ob3Jpem9udGFsQ29uc3RyYWludH0+XG4gICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICA8U3RhY2s+XG4gICAgICAgICAge2xhbmd1YWdlcy5tYXAoKGxhbmd1YWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNGaXJzdExhbmd1YWdlID0gaW5kZXggPT09IDA7XG4gICAgICAgICAgICBpZiAoIWlzRmlyc3RMYW5ndWFnZSAmJiAhYXJlTGFuZ3VhZ2VzRXhwYW5kZWQpIHJldHVybiBudWxsO1xuXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8ZGl2IGtleT17bGFuZ3VhZ2V9PlxuICAgICAgICAgICAgICAgIDxTdGFjayBzY2FsZT1cInhzXCI+XG4gICAgICAgICAgICAgICAgICA8TG9jYWxpemVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPXtwcm9wcy5hdXRvQ29tcGxldGV9XG4gICAgICAgICAgICAgICAgICAgIGlkPXtMb2NhbGl6ZWRUZXh0SW5wdXQuZ2V0SWQoaWQsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17TG9jYWxpemVkVGV4dElucHV0LmdldE5hbWUocHJvcHMubmFtZSwgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWVbbGFuZ3VhZ2VdfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17cHJvcHMub25DaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgICAgIHByb3BzLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHByb3BzLnBsYWNlaG9sZGVyW2xhbmd1YWdlXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e3Byb3BzLm9uQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17cHJvcHMub25Gb2N1c31cbiAgICAgICAgICAgICAgICAgICAgaXNBdXRvZm9jdXNzZWQ9e2luZGV4ID09PSAwICYmIHByb3BzLmlzQXV0b2ZvY3Vzc2VkfVxuICAgICAgICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtwcm9wcy5pc0Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtwcm9wcy5pc1JlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcj17Qm9vbGVhbihcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5oYXNFcnJvciB8fCAocHJvcHMuZXJyb3JzICYmIHByb3BzLmVycm9yc1tsYW5ndWFnZV0pXG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHsuLi5jcmVhdGVMb2NhbGl6ZWREYXRhQXR0cmlidXRlcyhwcm9wcywgbGFuZ3VhZ2UpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5lcnJvcnMgJiYgcHJvcHMuZXJyb3JzW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG91bGRSZW5kZXJMYW5ndWFnZXNCdXR0b24gJiYgKFxuICAgICAgICAgIDxMb2NhbGl6ZWRJbnB1dFRvZ2dsZVxuICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNFeHBhbmRlZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e3RvZ2dsZUxhbmd1YWdlc31cbiAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2FyZUxhbmd1YWdlc0V4cGFuZGVkICYmIGhhc0Vycm9ySW5SZW1haW5pbmdMYW5ndWFnZXN9XG4gICAgICAgICAgICByZW1haW5pbmdMb2NhbGl6YXRpb25zPXtsYW5ndWFnZXMubGVuZ3RoIC0gMX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdGFjaz5cbiAgICA8L0NvbnN0cmFpbnRzLkhvcml6b250YWw+XG4gICk7XG59O1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuZGlzcGxheU5hbWUgPSAnTG9jYWxpemVkVGV4dElucHV0JztcblxuTG9jYWxpemVkVGV4dElucHV0LlJlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UgPSBSZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQucHJvcFR5cGVzID0ge1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgYXV0b0NvbXBsZXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvLyB0aGVuIGlucHV0IGRvZXNuJ3QgYWNjZXB0IGEgXCJsYW5ndWFnZXNcIiBwcm9wLCBpbnN0ZWFkIGFsbCBwb3NzaWJsZVxuICAvLyBsYW5ndWFnZXMgaGF2ZSB0byBleGlzdCAod2l0aCBlbXB0eSBvciBmaWxsZWQgc3RyaW5ncykgb24gdGhlIHZhbHVlOlxuICAvLyAgIHsgZW46ICdmb28nLCBkZTogJycsIGVzOiAnJyB9XG4gIHZhbHVlOiBQcm9wVHlwZXMub2JqZWN0T2YoUHJvcFR5cGVzLnN0cmluZykuaXNSZXF1aXJlZCxcbiAgLyoqXG4gICAqIEdldHMgY2FsbGVkIHdoZW4gYW55IGlucHV0IGlzIGNoYW5nZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBjaGFuZ2UgZXZlbnQgb2YgdGhlIGNoYW5nZWQgaW5wdXQuXG4gICAqL1xuICBvbkNoYW5nZTogcmVxdWlyZWRJZihQcm9wVHlwZXMuZnVuYywgKHByb3BzKSA9PiAhcHJvcHMuaXNSZWFkT25seSksXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hpY2ggbGFuZ3VhZ2Ugd2lsbCBiZSBzaG93biBpbiBjYXNlIHRoZSBgTG9jYWxpemVkVGV4dElucHV0YCBpcyBjb2xsYXBzZWQuXG4gICAqL1xuICBzZWxlY3RlZExhbmd1YWdlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgYmx1cnJlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGBldmVudGAgb2YgdGhhdCBmaWVsZC5cbiAgICovXG4gIG9uQmx1cjogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiBhbnkgZmllbGQgaXMgZm9jdXNzZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqXG4gICAqIFdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgZXhwYW5zaW9uIGNvbnRyb2xzIHdoZW4gc2V0IHRvIGB0cnVlYC4gQWxsIGxhbmd1YWdlcyB3aWxsIGJlIHNob3duIHdoZW4gc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIGhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb25lIG9yIGFsbCBsYW5ndWFnZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdFxuICAgKi9cbiAgZGVmYXVsdEV4cGFuZExhbmd1YWdlczogKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgLi4ucmVzdCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzICYmXG4gICAgICB0eXBlb2YgcHJvcHNbcHJvcE5hbWVdID09PSAnYm9vbGVhbidcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgb25lTGluZWBcbiAgICAgICAgICAke2NvbXBvbmVudE5hbWV9OiBcIiR7cHJvcE5hbWV9XCIgZG9lcyBub3QgaGF2ZSBhbnkgZWZmZWN0IHdoZW5cbiAgICAgICAgICBcImhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzXCIgaXMgc2V0LlxuICAgICAgICBgXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gUHJvcFR5cGVzLmJvb2wocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCAuLi5yZXN0KTtcbiAgfSxcbiAgLyoqXG4gICAqIEZvY3VzIHRoZSBpbnB1dCBmaWVsZCBvbiBpbml0aWFsIHJlbmRlclxuICAgKi9cbiAgaXNBdXRvZm9jdXNzZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGlzRGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogRGlzYWJsZXMgYWxsIGlucHV0IGZpZWxkcyBhbmQgc2hvd3MgdGhlbSBpbiByZWFkLW9ubHkgbW9kZS5cbiAgICovXG4gIGlzUmVhZE9ubHk6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogUGxhY2Vob2xkZXJzIGZvciBlYWNoIGxhbmd1YWdlLiBPYmplY3Qgb2YgdGhlIHNhbWUgc2hhcGUgYXMgYHZhbHVlYC5cbiAgICovXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMub2JqZWN0T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50OiBQcm9wVHlwZXMub25lT2YoW1xuICAgIDEsXG4gICAgMixcbiAgICAzLFxuICAgIDQsXG4gICAgNSxcbiAgICA2LFxuICAgIDcsXG4gICAgOCxcbiAgICA5LFxuICAgIDEwLFxuICAgIDExLFxuICAgIDEyLFxuICAgIDEzLFxuICAgIDE0LFxuICAgIDE1LFxuICAgIDE2LFxuICAgICdzY2FsZScsXG4gICAgJ2F1dG8nLFxuICBdKSxcbiAgLyoqXG4gICAqIFdpbGwgYXBwbHkgdGhlIGVycm9yIHN0YXRlIHRvIGVhY2ggaW5wdXQgd2l0aG91dCBzaG93aW5nIGFueSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgaGFzRXJyb3I6IFByb3BUeXBlcy5ib29sLFxuICAvKipcbiAgICogVXNlZCB0byBzaG93IGVycm9ycyB1bmRlcm5lYXRoIHRoZSBpbnB1dHMgb2Ygc3BlY2lmaWMgY3VycmVuY2llcy4gUGFzcyBhbiBvYmplY3Qgd2hvc2Uga2V5IGlzIGEgY3VycmVuY3kgYW5kIHdob3NlIHZhbHVlIGlzIHRoZSBlcnJvciB0byBzaG93IGZvciB0aGF0IGtleS5cbiAgICovXG4gIGVycm9yczogUHJvcFR5cGVzLm9iamVjdE9mKFByb3BUeXBlcy5ub2RlKSxcbn07XG5cbkxvY2FsaXplZFRleHRJbnB1dC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhvcml6b250YWxDb25zdHJhaW50OiAnc2NhbGUnLFxufTtcblxuTG9jYWxpemVkVGV4dElucHV0LmdldElkID0gZ2V0SWQ7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5nZXROYW1lID0gZ2V0TmFtZTtcblxuTG9jYWxpemVkVGV4dElucHV0LmNyZWF0ZUxvY2FsaXplZFN0cmluZyA9IGNyZWF0ZUxvY2FsaXplZFN0cmluZztcblxuTG9jYWxpemVkVGV4dElucHV0LmlzRW1wdHkgPSBpc0VtcHR5O1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQub21pdEVtcHR5VHJhbnNsYXRpb25zID0gb21pdEVtcHR5VHJhbnNsYXRpb25zO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuaXNUb3VjaGVkID0gaXNUb3VjaGVkO1xuXG5leHBvcnQgZGVmYXVsdCBMb2NhbGl6ZWRUZXh0SW5wdXQ7XG4iXX0= */",
70
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC10ZXh0LWlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTGMiLCJmaWxlIjoibG9jYWxpemVkLXRleHQtaW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBGb2N1c0V2ZW50SGFuZGxlcixcbiAgdHlwZSBDaGFuZ2VFdmVudEhhbmRsZXIsXG4gIHVzZUNhbGxiYWNrLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBjc3MsIHVzZVRoZW1lIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgdXNlRmllbGRJZCwgdXNlVG9nZ2xlU3RhdGUgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9ob29rcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9tZXNzYWdlcyc7XG5pbXBvcnQgU3RhY2sgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc3BhY2luZ3Mtc3RhY2snO1xuaW1wb3J0IENvbnN0cmFpbnRzIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2NvbnN0cmFpbnRzJztcbmltcG9ydCBUZXh0IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L3RleHQnO1xuaW1wb3J0IHtcbiAgc29ydExhbmd1YWdlcyxcbiAgY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMsXG4gIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMsXG4gIGlzVG91Y2hlZCxcbiAgb21pdEVtcHR5VHJhbnNsYXRpb25zLFxuICBpc0VtcHR5LFxuICBjcmVhdGVMb2NhbGl6ZWRTdHJpbmcsXG4gIGdldElkLFxuICBnZXROYW1lLFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9sb2NhbGl6ZWQtdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlU2VxdWVudGlhbElkLCB3YXJuaW5nIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvdXRpbHMnO1xuaW1wb3J0IFRleHRJbnB1dCBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC90ZXh0LWlucHV0JztcbmltcG9ydCB7XG4gIExvY2FsaXplZElucHV0VG9nZ2xlLFxuICBtZXNzYWdlc0xvY2FsaXplZElucHV0LFxufSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pbnB1dC11dGlscyc7XG5pbXBvcnQge1xuICBnZXRMb2NhbGl6ZWRJbnB1dFN0eWxlcyxcbiAgZ2V0TGFuZ3VhZ2VMYWJlbFN0eWxlcyxcbn0gZnJvbSAnLi9sb2NhbGl6ZWQtdGV4dC1pbnB1dC5zdHlsZXMnO1xuXG50eXBlIFRMb2NhbGl6ZWRUZXh0SW5wdXRQcm9wcyA9IHtcbiAgaWQ/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEluZGljYXRlIGlmIHRoZSB2YWx1ZSBlbnRlcmVkIGluIHRoZSBpbnB1dCBpcyBpbnZhbGlkLlxuICAgKi9cbiAgJ2FyaWEtaW52YWxpZCc/OiBib29sZWFuO1xuICAvKipcbiAgICogSFRNTCBJRCBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgYW4gZXJyb3IgbWVzc2FnZSByZWxhdGVkIHRvIHRoZSBpbnB1dC5cbiAgICovXG4gICdhcmlhLWVycm9ybWVzc2FnZSc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiAgIHRoZW4gaW5wdXQgZG9lc24ndCBhY2NlcHQgYSBcImxhbmd1YWdlc1wiIHByb3AsIGluc3RlYWQgYWxsIHBvc3NpYmxlXG4gIGxhbmd1YWdlcyBoYXZlIHRvIGV4aXN0ICh3aXRoIGVtcHR5IG9yIGZpbGxlZCBzdHJpbmdzKSBvbiB0aGUgdmFsdWU6XG4gICAgeyBlbjogJ2ZvbycsIGRlOiAnJywgZXM6ICcnIH1cbiAgICovXG4gIHZhbHVlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogR2V0cyBjYWxsZWQgd2hlbiBhbnkgaW5wdXQgaXMgY2hhbmdlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGNoYW5nZSBldmVudCBvZiB0aGUgY2hhbmdlZCBpbnB1dC5cbiAgICovXG4gIG9uQ2hhbmdlPzogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIGxhbmd1YWdlIHdpbGwgYmUgc2hvd24gaW4gY2FzZSB0aGUgYExvY2FsaXplZFRleHRJbnB1dGAgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgc2VsZWN0ZWRMYW5ndWFnZTogc3RyaW5nO1xuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYW55IGZpZWxkIGlzIGJsdXJyZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBgZXZlbnRgIG9mIHRoYXQgZmllbGQuXG4gICAqL1xuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGFueSBmaWVsZCBpcyBmb2N1c3NlZC4gSXMgY2FsbGVkIHdpdGggdGhlIGBldmVudGAgb2YgdGhhdCBmaWVsZC5cbiAgICovXG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjtcbiAgLyoqXG4gICAqIFdpbGwgaGlkZSB0aGUgbGFuZ3VhZ2UgZXhwYW5zaW9uIGNvbnRyb2xzIHdoZW4gc2V0IHRvIGB0cnVlYC4gQWxsIGxhbmd1YWdlcyB3aWxsIGJlIHNob3duIHdoZW4gc2V0IHRvIGB0cnVlYC5cbiAgICovXG4gIGhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb25lIG9yIGFsbCBsYW5ndWFnZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdFxuICAgKi9cbiAgZGVmYXVsdEV4cGFuZExhbmd1YWdlcz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgaW5wdXQgZmllbGQgb24gaW5pdGlhbCByZW5kZXJcbiAgICovXG4gIGlzQXV0b2ZvY3Vzc2VkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dCBmaWVsZHMuXG4gICAqL1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIERpc2FibGVzIGFsbCBpbnB1dCBmaWVsZHMgYW5kIHNob3dzIHRoZW0gaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqL1xuICBpc1JlYWRPbmx5PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFBsYWNlaG9sZGVycyBmb3IgZWFjaCBsYW5ndWFnZS4gT2JqZWN0IG9mIHRoZSBzYW1lIHNoYXBlIGFzIGB2YWx1ZWAuXG4gICAqL1xuICBwbGFjZWhvbGRlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIHNpemUgbGltaXQgb2YgdGhlIGlucHV0IGZpZWxkcy5cbiAgICovXG4gIGhvcml6b250YWxDb25zdHJhaW50PzpcbiAgICB8IDFcbiAgICB8IDJcbiAgICB8IDNcbiAgICB8IDRcbiAgICB8IDVcbiAgICB8IDZcbiAgICB8IDdcbiAgICB8IDhcbiAgICB8IDlcbiAgICB8IDEwXG4gICAgfCAxMVxuICAgIHwgMTJcbiAgICB8IDEzXG4gICAgfCAxNFxuICAgIHwgMTVcbiAgICB8IDE2XG4gICAgfCAnc2NhbGUnXG4gICAgfCAnYXV0byc7XG4gIC8qKlxuICAgKiBXaWxsIGFwcGx5IHRoZSBlcnJvciBzdGF0ZSB0byBlYWNoIGlucHV0IHdpdGhvdXQgc2hvd2luZyBhbnkgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzZWQgdG8gc2hvdyBlcnJvcnMgdW5kZXJuZWF0aCB0aGUgaW5wdXRzIG9mIHNwZWNpZmljIGN1cnJlbmNpZXMuIFBhc3MgYW4gb2JqZWN0IHdob3NlIGtleSBpcyBhIGN1cnJlbmN5IGFuZCB3aG9zZSB2YWx1ZSBpcyB0aGUgZXJyb3IgdG8gc2hvdyBmb3IgdGhhdCBrZXkuXG4gICAqL1xuICBlcnJvcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxudHlwZSBUTG9jYWxpemVkSW5wdXRQcm9wcyA9IHtcbiAgLyoqXG4gICAqIFVzZWQgYXMgcHJlZml4IG9mIEhUTUwgYGlkYCBwcm9wZXJ0eS4gRWFjaCBpbnB1dCBmaWVsZCBpZCB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtpZFByZWZpeH0uJHtsYW5nfWApLCBlLmcuIGBmb28uZW5gLiBZb3UgY2FuIHVzZSB0aGUgc3RhdGljIGBMb2NhbGl6ZWRUZXh0SW5wdXQuZ2V0SWQoaWRQcmVmaXgsIGxhbmd1YWdlKWAgdG8gY3JlYXRlIHRoaXMgaWQgc3RyaW5nLCBlLmcuIGZvciBsYWJlbHMuXG4gICAqL1xuICBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFVzZWQgYXMgSFRNTCBgbmFtZWAgcHJvcGVydHkgZm9yIGVhY2ggaW5wdXQgZmllbGQuIEVhY2ggaW5wdXQgZmllbGQgbmFtZSB3aWxsIGhhdmUgdGhlIGxhbmd1YWdlIGFzIGEgc3VmZml4IChgJHtuYW1lUHJlZml4fS4ke2xhbmd9YCksIGUuZy4gYGZvby5lbmBcbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVc2VkIGFzIEhUTUwgYGF1dG9jb21wbGV0ZWAgcHJvcGVydHlcbiAgICovXG4gIGF1dG9Db21wbGV0ZT86IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZztcbiAgLyoqXG4gICAqIEdldHMgY2FsbGVkIHdoZW4gYW55IGlucHV0IGlzIGNoYW5nZWQuIElzIGNhbGxlZCB3aXRoIHRoZSBjaGFuZ2UgZXZlbnQgb2YgdGhlIGNoYW5nZWQgaW5wdXQuXG4gICAqL1xuICBvbkNoYW5nZT86IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgbGFuZ3VhZ2U6IHN0cmluZztcbiAgb25CbHVyPzogRm9jdXNFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjtcbiAgaXNBdXRvZm9jdXNzZWQ/OiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkT25seT86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBzZXF1ZW50aWFsSWQgPSBjcmVhdGVTZXF1ZW50aWFsSWQoJ2xvY2FsaXplZC10ZXh0LWlucHV0LScpO1xuXG5jb25zdCBMb2NhbGl6ZWRJbnB1dCA9IChwcm9wczogVExvY2FsaXplZElucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgeyBvbkNoYW5nZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgLy8gV2UgbWFuaXB1bGF0ZSB0aGUgZXZlbnQgdG8gYWRkIHRoZSBsYW5ndWFnZSB0byB0aGUgdGFyZ2V0LlxuICAgICAgLy8gVGhhdCB3YXkgdGhlIHVzZXJzIG9mIExvY2FsaXplZFRleHRJbnB1dCdzIG9uQ2hhbmdlIGNhbiByZWFkXG4gICAgICAvLyBldmVudC50YXJnZXQubGFuZ3VhZ2UgYW5kIGV2ZW50LnRhcmdldC52YWx1ZSB0byBkZXRlcm1pbmUgdGhlIG5leHQgdmFsdWUuXG4gICAgICAvL1xuICAgICAgLy8gV2Ugb25seSBuZWVkIHRoaXMgaW5mb3JtYXRpb24gZm9yIHRoZSBzdG9yeSwgdGhlIE1DIGFwcGxpY2F0aW9uIGNvZGUgd2lsbFxuICAgICAgLy8gbmV2ZXIgbmVlZCB0byBhY2Nlc3MgdGhlIGluZm9ybWF0aW9uIGluIHN1Y2ggYW4gaW5jb252ZW5pZW50IHdheSwgYXNcbiAgICAgIC8vIEZvcm1payBjYW4gZGVhbCB3aXRoIGEgbmFtZSBsaWtlIFwiZm9vLmVuXCIgYW5kIHNldHMgdGhlIHZhbHVlIGNvcnJlY3RseS5cbiAgICAgIC8vIFdlIGNhbid0IHVzZSB0aGlzIGFzIHdlIGFyZW4ndCBndWFyYW50ZWVkIGEgbmFtZSBpbiB0aGUgc3RvcnkgYXMgdGhlIHVzZXJcbiAgICAgIC8vIG1pZ2h0IGNsZWFyIGl0IHVzaW5nIHRoZSBrbm9iLCBhbmQgdGhlbiB3ZSBjYW4ndCBwYXJzZSB0aGUgbGFuZ3VhZ2UgZnJvbVxuICAgICAgLy8gdGhlIGlucHV0IG5hbWUgYW55bW9yZS5cbiAgICAgIC8vXG4gICAgICBldmVudC50YXJnZXQubGFuZ3VhZ2UgPSBwcm9wcy5sYW5ndWFnZTtcbiAgICAgIG9uQ2hhbmdlPy4oZXZlbnQpO1xuICAgIH0sXG4gICAgW3Byb3BzLmxhbmd1YWdlLCBvbkNoYW5nZV1cbiAgKTtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnTG9jYWxpemVkVGV4dElucHV0OiBcIm9uQ2hhbmdlXCIgaXMgcmVxdWlyZWQgd2hlbiBpc1JlYWRPbmx5IGlzIG5vdCB0cnVlJ1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGtleT17cHJvcHMubGFuZ3VhZ2V9XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGB9XG4gICAgPlxuICAgICAgPGxhYmVsIGh0bWxGb3I9e3Byb3BzLmlkfSBjc3M9e2dldExhbmd1YWdlTGFiZWxTdHlsZXMocHJvcHMsIHRoZW1lKX0+XG4gICAgICAgIHsvKiBGSVhNRTogYWRkIHByb3BlciB0b25lIGZvciBkaXNhYmxlZCB3aGVuIHRvbmVzIGFyZSByZWZhY3RvcmVkICovfVxuICAgICAgICA8VGV4dC5EZXRhaWwgdG9uZT1cInNlY29uZGFyeVwiPlxuICAgICAgICAgIHtwcm9wcy5sYW5ndWFnZS50b1VwcGVyQ2FzZSgpfVxuICAgICAgICA8L1RleHQuRGV0YWlsPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxUZXh0SW5wdXRcbiAgICAgICAgey4uLnByb3BzfVxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICBjc3M9e2dldExvY2FsaXplZElucHV0U3R5bGVzfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkxvY2FsaXplZElucHV0LmRpc3BsYXlOYW1lID0gJ0xvY2FsaXplZElucHV0JztcblxuY29uc3QgUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZSA9ICgpID0+IChcbiAgPEVycm9yTWVzc2FnZT5cbiAgICA8Rm9ybWF0dGVkTWVzc2FnZSB7Li4ubWVzc2FnZXNMb2NhbGl6ZWRJbnB1dC5taXNzaW5nUmVxdWlyZWRGaWVsZH0gLz5cbiAgPC9FcnJvck1lc3NhZ2U+XG4pO1xuXG5SZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlLmRpc3BsYXlOYW1lID0gJ1JlcXVpcmVkVmFsdWVFcnJvck1lc3NhZ2UnO1xuXG5jb25zdCBMb2NhbGl6ZWRUZXh0SW5wdXQgPSAocHJvcHM6IFRMb2NhbGl6ZWRUZXh0SW5wdXRQcm9wcykgPT4ge1xuICBjb25zdCBkZWZhdWx0RXhwYW5zaW9uU3RhdGUgPVxuICAgIHByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzIHx8XG4gICAgcHJvcHMuZGVmYXVsdEV4cGFuZExhbmd1YWdlcyB8fCAvLyBkZWZhdWx0IHRvIGBmYWxzZWAsIGJlY2F1c2UgdXNlVG9nZ2xlU3RhdGUgZGVmYXVsdHMgdG8gYHRydWVgXG4gICAgZmFsc2U7XG5cbiAgY29uc3QgW2FyZUxhbmd1YWdlc0V4cGFuZGVkLCB0b2dnbGVMYW5ndWFnZXNdID0gdXNlVG9nZ2xlU3RhdGUoXG4gICAgZGVmYXVsdEV4cGFuc2lvblN0YXRlXG4gICk7XG5cbiAgY29uc3Qgb25Mb2NhbGl6ZWRJbnB1dFRvZ2dsZSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IHRvZ2dsZUxhbmd1YWdlcygpLFxuICAgIFt0b2dnbGVMYW5ndWFnZXNdXG4gICk7XG5cbiAgY29uc3QgbGFuZ3VhZ2VzID0gc29ydExhbmd1YWdlcyhcbiAgICBwcm9wcy5zZWxlY3RlZExhbmd1YWdlLFxuICAgIE9iamVjdC5rZXlzKHByb3BzLnZhbHVlKVxuICApO1xuXG4gIGNvbnN0IGlkID0gdXNlRmllbGRJZChwcm9wcy5pZCwgc2VxdWVudGlhbElkKTtcblxuICBjb25zdCBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzID1cbiAgICBwcm9wcy5oYXNFcnJvciB8fFxuICAgIGdldEhhc0Vycm9yT25SZW1haW5pbmdMYW5ndWFnZXMocHJvcHMuZXJyb3JzLCBwcm9wcy5zZWxlY3RlZExhbmd1YWdlKTtcblxuICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcykge1xuICAgIC8vIHRoaXMgdXBkYXRlIHdpdGhpbiByZW5kZXIgcmVwbGFjZXMgdGhlIG9sZCBgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzYCBmdW5jdGlvbmFsaXR5XG4gICAgLy8gaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2hvb2tzLWZhcS5odG1sI2hvdy1kby1pLWltcGxlbWVudC1nZXRkZXJpdmVkc3RhdGVmcm9tcHJvcHNcbiAgICBpZiAoaGFzRXJyb3JJblJlbWFpbmluZ0xhbmd1YWdlcyAhPT0gYXJlTGFuZ3VhZ2VzRXhwYW5kZWQpIHtcbiAgICAgIHRvZ2dsZUxhbmd1YWdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNob3VsZFJlbmRlckxhbmd1YWdlc0J1dHRvbiA9XG4gICAgbGFuZ3VhZ2VzLmxlbmd0aCA+IDEgJiYgIXByb3BzLmhpZGVMYW5ndWFnZUV4cGFuc2lvbkNvbnRyb2xzO1xuXG4gIGlmICghcHJvcHMuaXNSZWFkT25seSkge1xuICAgIHdhcm5pbmcoXG4gICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicsXG4gICAgICAnTG9jYWxpemVkVGV4dElucHV0OiBcIm9uQ2hhbmdlXCIgaXMgcmVxdWlyZWQgd2hlbiBpc1JlYWRPbmx5IGlzIG5vdCB0cnVlJ1xuICAgICk7XG4gIH1cblxuICBpZiAocHJvcHMuaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHMpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgdHlwZW9mIHByb3BzLmRlZmF1bHRFeHBhbmRMYW5ndWFnZXMgIT09ICdib29sZWFuJyxcbiAgICAgICdMb2NhbGl6ZWRUZXh0SW5wdXQ6IFwiZGVmYXVsdEV4cGFuZExhbmd1YWdlc1wiIGRvZXMgbm90IGhhdmUgYW55IGVmZmVjdCB3aGVuIFwiaGlkZUxhbmd1YWdlRXhwYW5zaW9uQ29udHJvbHNcIiBpcyBzZXQuJ1xuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDb25zdHJhaW50cy5Ib3Jpem9udGFsIG1heD17cHJvcHMuaG9yaXpvbnRhbENvbnN0cmFpbnR9PlxuICAgICAgPFN0YWNrIHNjYWxlPVwieHNcIj5cbiAgICAgICAgPFN0YWNrPlxuICAgICAgICAgIHtsYW5ndWFnZXMubWFwKChsYW5ndWFnZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzRmlyc3RMYW5ndWFnZSA9IGluZGV4ID09PSAwO1xuICAgICAgICAgICAgaWYgKCFpc0ZpcnN0TGFuZ3VhZ2UgJiYgIWFyZUxhbmd1YWdlc0V4cGFuZGVkKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPGRpdiBrZXk9e2xhbmd1YWdlfT5cbiAgICAgICAgICAgICAgICA8U3RhY2sgc2NhbGU9XCJ4c1wiPlxuICAgICAgICAgICAgICAgICAgPExvY2FsaXplZElucHV0XG4gICAgICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT17cHJvcHMuYXV0b0NvbXBsZXRlfVxuICAgICAgICAgICAgICAgICAgICBpZD17TG9jYWxpemVkVGV4dElucHV0LmdldElkKGlkLCBsYW5ndWFnZSl9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e0xvY2FsaXplZFRleHRJbnB1dC5nZXROYW1lKHByb3BzLm5hbWUsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3Byb3BzLnZhbHVlW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3Byb3BzLm9uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtcbiAgICAgICAgICAgICAgICAgICAgICBwcm9wcy5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBwcm9wcy5wbGFjZWhvbGRlcltsYW5ndWFnZV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXtwcm9wcy5vbkJsdXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uRm9jdXM9e3Byb3BzLm9uRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2ZvY3Vzc2VkPXtpbmRleCA9PT0gMCAmJiBwcm9wcy5pc0F1dG9mb2N1c3NlZH1cbiAgICAgICAgICAgICAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgaXNSZWFkT25seT17cHJvcHMuaXNSZWFkT25seX1cbiAgICAgICAgICAgICAgICAgICAgaGFzRXJyb3I9e0Jvb2xlYW4oXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHMuaGFzRXJyb3IgfHwgKHByb3BzLmVycm9ycyAmJiBwcm9wcy5lcnJvcnNbbGFuZ3VhZ2VdKVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICB7Li4uY3JlYXRlTG9jYWxpemVkRGF0YUF0dHJpYnV0ZXMocHJvcHMsIGxhbmd1YWdlKX1cbiAgICAgICAgICAgICAgICAgICAgLyogQVJJQSAqL1xuICAgICAgICAgICAgICAgICAgICBhcmlhLWludmFsaWQ9e3Byb3BzWydhcmlhLWludmFsaWQnXX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1lcnJvcm1lc3NhZ2U9e3Byb3BzWydhcmlhLWVycm9ybWVzc2FnZSddfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtwcm9wcy5lcnJvcnMgJiYgcHJvcHMuZXJyb3JzW2xhbmd1YWdlXX1cbiAgICAgICAgICAgICAgICA8L1N0YWNrPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICAgIHtzaG91bGRSZW5kZXJMYW5ndWFnZXNCdXR0b24gJiYgKFxuICAgICAgICAgIDxMb2NhbGl6ZWRJbnB1dFRvZ2dsZVxuICAgICAgICAgICAgaXNPcGVuPXthcmVMYW5ndWFnZXNFeHBhbmRlZH1cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uTG9jYWxpemVkSW5wdXRUb2dnbGV9XG4gICAgICAgICAgICBpc0Rpc2FibGVkPXthcmVMYW5ndWFnZXNFeHBhbmRlZCAmJiBoYXNFcnJvckluUmVtYWluaW5nTGFuZ3VhZ2VzfVxuICAgICAgICAgICAgcmVtYWluaW5nTG9jYWxpemF0aW9ucz17bGFuZ3VhZ2VzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3RhY2s+XG4gICAgPC9Db25zdHJhaW50cy5Ib3Jpem9udGFsPlxuICApO1xufTtcblxuTG9jYWxpemVkVGV4dElucHV0LmRpc3BsYXlOYW1lID0gJ0xvY2FsaXplZFRleHRJbnB1dCc7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5SZXF1aXJlZFZhbHVlRXJyb3JNZXNzYWdlID0gUmVxdWlyZWRWYWx1ZUVycm9yTWVzc2FnZTtcblxuTG9jYWxpemVkVGV4dElucHV0LmRlZmF1bHRQcm9wcyA9IHtcbiAgaG9yaXpvbnRhbENvbnN0cmFpbnQ6ICdzY2FsZScsXG59O1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuZ2V0SWQgPSBnZXRJZDtcblxuTG9jYWxpemVkVGV4dElucHV0LmdldE5hbWUgPSBnZXROYW1lO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuY3JlYXRlTG9jYWxpemVkU3RyaW5nID0gY3JlYXRlTG9jYWxpemVkU3RyaW5nO1xuXG5Mb2NhbGl6ZWRUZXh0SW5wdXQuaXNFbXB0eSA9IGlzRW1wdHk7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5vbWl0RW1wdHlUcmFuc2xhdGlvbnMgPSBvbWl0RW1wdHlUcmFuc2xhdGlvbnM7XG5cbkxvY2FsaXplZFRleHRJbnB1dC5pc1RvdWNoZWQgPSBpc1RvdWNoZWQ7XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsaXplZFRleHRJbnB1dDtcbiJdfQ== */",
77
71
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
78
72
  };
79
73
 
@@ -91,11 +85,15 @@ var LocalizedInput = function LocalizedInput(props) {
91
85
  // might clear it using the knob, and then we can't parse the language from
92
86
  // the input name anymore.
93
87
  //
94
- // eslint-disable-next-line no-param-reassign
95
88
  event.target.language = props.language;
96
- onChange(event);
89
+ onChange === null || onChange === void 0 ? void 0 : onChange(event);
97
90
  }, [props.language, onChange]);
98
91
  var theme = useTheme();
92
+
93
+ if (!props.isReadOnly) {
94
+ process.env.NODE_ENV !== "production" ? warning(typeof props.onChange === 'function', 'LocalizedTextInput: "onChange" is required when isReadOnly is not true') : void 0;
95
+ }
96
+
99
97
  return jsxs("div", {
100
98
  css: _ref,
101
99
  children: [jsx("label", {
@@ -112,39 +110,22 @@ var LocalizedInput = function LocalizedInput(props) {
112
110
  }, props.language);
113
111
  };
114
112
 
115
- LocalizedInput.displayName = 'LocalizedInput';
116
113
  LocalizedInput.propTypes = process.env.NODE_ENV !== "production" ? {
117
- /**
118
- * Used as prefix of HTML `id` property. Each input field id will have the language as a suffix (`${idPrefix}.${lang}`), e.g. `foo.en`. You can use the static `LocalizedTextInput.getId(idPrefix, language)` to create this id string, e.g. for labels.
119
- */
120
- id: PropTypes.string,
121
-
122
- /**
123
- * Used as HTML `name` property for each input field. Each input field name will have the language as a suffix (`${namePrefix}.${lang}`), e.g. `foo.en`
124
- */
125
- name: PropTypes.string,
126
-
127
- /**
128
- * Used as HTML `autocomplete` property
129
- */
130
- autoComplete: PropTypes.string,
131
- value: PropTypes.string.isRequired,
132
-
133
- /**
134
- * Gets called when any input is changed. Is called with the change event of the changed input.
135
- */
136
- onChange: requiredIf(PropTypes.func, function (props) {
137
- return !props.isReadOnly;
138
- }),
139
- language: PropTypes.string.isRequired,
140
- onBlur: PropTypes.func,
141
- onFocus: PropTypes.func,
142
- isAutofocussed: PropTypes.bool,
143
- isDisabled: PropTypes.bool,
144
- isReadOnly: PropTypes.bool,
145
- hasError: PropTypes.bool,
146
- placeholder: PropTypes.string
114
+ id: _pt.string,
115
+ name: _pt.string,
116
+ autoComplete: _pt.string,
117
+ value: _pt.string.isRequired,
118
+ onChange: _pt.func,
119
+ language: _pt.string.isRequired,
120
+ onBlur: _pt.func,
121
+ onFocus: _pt.func,
122
+ isAutofocussed: _pt.bool,
123
+ isDisabled: _pt.bool,
124
+ isReadOnly: _pt.bool,
125
+ hasError: _pt.bool,
126
+ placeholder: _pt.string
147
127
  } : {};
128
+ LocalizedInput.displayName = 'LocalizedInput';
148
129
 
149
130
  var RequiredValueErrorMessage = function RequiredValueErrorMessage() {
150
131
  return jsx(ErrorMessage, {
@@ -163,6 +144,9 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
163
144
  areLanguagesExpanded = _useToggleState2[0],
164
145
  toggleLanguages = _useToggleState2[1];
165
146
 
147
+ var onLocalizedInputToggle = useCallback(function () {
148
+ return toggleLanguages();
149
+ }, [toggleLanguages]);
166
150
  var languages = sortLanguages(props.selectedLanguage, _Object$keys(props.value));
167
151
  var id = useFieldId(props.id, sequentialId);
168
152
  var hasErrorInRemainingLanguages = props.hasError || getHasErrorOnRemainingLanguages(props.errors, props.selectedLanguage);
@@ -176,6 +160,15 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
176
160
  }
177
161
 
178
162
  var shouldRenderLanguagesButton = languages.length > 1 && !props.hideLanguageExpansionControls;
163
+
164
+ if (!props.isReadOnly) {
165
+ process.env.NODE_ENV !== "production" ? warning(typeof props.onChange === 'function', 'LocalizedTextInput: "onChange" is required when isReadOnly is not true') : void 0;
166
+ }
167
+
168
+ if (props.hideLanguageExpansionControls) {
169
+ process.env.NODE_ENV !== "production" ? warning(typeof props.defaultExpandLanguages !== 'boolean', 'LocalizedTextInput: "defaultExpandLanguages" does not have any effect when "hideLanguageExpansionControls" is set.') : void 0;
170
+ }
171
+
179
172
  return jsx(Constraints.Horizontal, {
180
173
  max: props.horizontalConstraint,
181
174
  children: jsxs(Stack, {
@@ -187,7 +180,7 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
187
180
  return jsx("div", {
188
181
  children: jsxs(Stack, {
189
182
  scale: "xs",
190
- children: [jsx(LocalizedInput, _objectSpread({
183
+ children: [jsx(LocalizedInput, _objectSpread(_objectSpread({
191
184
  autoComplete: props.autoComplete,
192
185
  id: LocalizedTextInput.getId(id, language),
193
186
  name: LocalizedTextInput.getName(props.name, language),
@@ -201,13 +194,17 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
201
194
  isDisabled: props.isDisabled,
202
195
  isReadOnly: props.isReadOnly,
203
196
  hasError: Boolean(props.hasError || props.errors && props.errors[language])
204
- }, createLocalizedDataAttributes(props, language))), props.errors && props.errors[language]]
197
+ }, createLocalizedDataAttributes(props, language)), {}, {
198
+ /* ARIA */
199
+ "aria-invalid": props['aria-invalid'],
200
+ "aria-errormessage": props['aria-errormessage']
201
+ })), props.errors && props.errors[language]]
205
202
  })
206
203
  }, language);
207
204
  })
208
205
  }), shouldRenderLanguagesButton && jsx(LocalizedInputToggle, {
209
206
  isOpen: areLanguagesExpanded,
210
- onClick: toggleLanguages,
207
+ onClick: onLocalizedInputToggle,
211
208
  isDisabled: areLanguagesExpanded && hasErrorInRemainingLanguages,
212
209
  remainingLocalizations: languages.length - 1
213
210
  })]
@@ -215,96 +212,29 @@ var LocalizedTextInput = function LocalizedTextInput(props) {
215
212
  });
216
213
  };
217
214
 
218
- LocalizedTextInput.displayName = 'LocalizedTextInput';
219
- LocalizedTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage;
220
215
  LocalizedTextInput.propTypes = process.env.NODE_ENV !== "production" ? {
221
- id: PropTypes.string,
222
- name: PropTypes.string,
223
- autoComplete: PropTypes.string,
224
- // then input doesn't accept a "languages" prop, instead all possible
225
- // languages have to exist (with empty or filled strings) on the value:
226
- // { en: 'foo', de: '', es: '' }
227
- value: PropTypes.objectOf(PropTypes.string).isRequired,
228
-
229
- /**
230
- * Gets called when any input is changed. Is called with the change event of the changed input.
231
- */
232
- onChange: requiredIf(PropTypes.func, function (props) {
233
- return !props.isReadOnly;
234
- }),
235
-
236
- /**
237
- * Specifies which language will be shown in case the `LocalizedTextInput` is collapsed.
238
- */
239
- selectedLanguage: PropTypes.string.isRequired,
240
-
241
- /**
242
- * Called when any field is blurred. Is called with the `event` of that field.
243
- */
244
- onBlur: PropTypes.func,
245
-
246
- /**
247
- * Called when any field is focussed. Is called with the `event` of that field.
248
- */
249
- onFocus: PropTypes.func,
250
-
251
- /**
252
- * Will hide the language expansion controls when set to `true`. All languages will be shown when set to `true`.
253
- */
254
- hideLanguageExpansionControls: PropTypes.bool,
255
-
256
- /**
257
- * Controls whether one or all languages are visible by default
258
- */
259
- defaultExpandLanguages: function defaultExpandLanguages(props, propName, componentName) {
260
- var _context;
261
-
262
- if (props.hideLanguageExpansionControls && typeof props[propName] === 'boolean') {
263
- throw new Error(oneLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ": \"", "\" does not have any effect when\n \"hideLanguageExpansionControls\" is set.\n "])), componentName, propName));
264
- }
265
-
266
- for (var _len = arguments.length, rest = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
267
- rest[_key - 3] = arguments[_key];
268
- }
269
-
270
- return PropTypes.bool.apply(PropTypes, _concatInstanceProperty(_context = [props, propName, componentName]).call(_context, rest));
271
- },
272
-
273
- /**
274
- * Focus the input field on initial render
275
- */
276
- isAutofocussed: PropTypes.bool,
277
-
278
- /**
279
- * Disables all input fields.
280
- */
281
- isDisabled: PropTypes.bool,
282
-
283
- /**
284
- * Disables all input fields and shows them in read-only mode.
285
- */
286
- isReadOnly: PropTypes.bool,
287
-
288
- /**
289
- * Placeholders for each language. Object of the same shape as `value`.
290
- */
291
- placeholder: PropTypes.objectOf(PropTypes.string),
292
-
293
- /**
294
- * Horizontal size limit of the input fields.
295
- */
296
- horizontalConstraint: PropTypes.oneOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
297
-
298
- /**
299
- * Will apply the error state to each input without showing any error message.
300
- */
301
- hasError: PropTypes.bool,
302
-
303
- /**
304
- * Used to show errors underneath the inputs of specific currencies. Pass an object whose key is a currency and whose value is the error to show for that key.
305
- */
306
- errors: PropTypes.objectOf(PropTypes.node)
216
+ id: _pt.string,
217
+ name: _pt.string,
218
+ autoComplete: _pt.string,
219
+ 'aria-invalid': _pt.bool,
220
+ 'aria-errormessage': _pt.string,
221
+ value: _pt.objectOf(_pt.string).isRequired,
222
+ onChange: _pt.func,
223
+ selectedLanguage: _pt.string.isRequired,
224
+ onBlur: _pt.func,
225
+ onFocus: _pt.func,
226
+ hideLanguageExpansionControls: _pt.bool,
227
+ defaultExpandLanguages: _pt.bool,
228
+ isAutofocussed: _pt.bool,
229
+ isDisabled: _pt.bool,
230
+ isReadOnly: _pt.bool,
231
+ placeholder: _pt.objectOf(_pt.string),
232
+ horizontalConstraint: _pt.oneOf([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 'scale', 'auto']),
233
+ hasError: _pt.bool,
234
+ errors: _pt.objectOf(_pt.string)
307
235
  } : {};
236
+ LocalizedTextInput.displayName = 'LocalizedTextInput';
237
+ LocalizedTextInput.RequiredValueErrorMessage = RequiredValueErrorMessage;
308
238
  LocalizedTextInput.defaultProps = {
309
239
  horizontalConstraint: 'scale'
310
240
  };
@@ -317,6 +247,6 @@ LocalizedTextInput.isTouched = isTouched;
317
247
  var LocalizedTextInput$1 = LocalizedTextInput;
318
248
 
319
249
  // NOTE: This string will be replaced on build time with the package version.
320
- var version = "13.0.0";
250
+ var version = "13.0.4";
321
251
 
322
252
  export { LocalizedTextInput$1 as default, version };
@@ -0,0 +1,2 @@
1
+ export { default } from './localized-text-input';
2
+ export { default as version } from './version';
@@ -0,0 +1,52 @@
1
+ import { type FocusEventHandler, type ChangeEventHandler } from 'react';
2
+ declare type TLocalizedTextInputProps = {
3
+ id?: string;
4
+ name?: string;
5
+ autoComplete?: string;
6
+ 'aria-invalid'?: boolean;
7
+ 'aria-errormessage'?: string;
8
+ value: Record<string, string>;
9
+ onChange?: ChangeEventHandler;
10
+ selectedLanguage: string;
11
+ onBlur?: FocusEventHandler;
12
+ onFocus?: FocusEventHandler;
13
+ hideLanguageExpansionControls?: boolean;
14
+ defaultExpandLanguages?: boolean;
15
+ isAutofocussed?: boolean;
16
+ isDisabled?: boolean;
17
+ isReadOnly?: boolean;
18
+ placeholder?: Record<string, string>;
19
+ horizontalConstraint?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 'scale' | 'auto';
20
+ hasError?: boolean;
21
+ errors?: Record<string, string>;
22
+ };
23
+ declare const LocalizedTextInput: {
24
+ (props: TLocalizedTextInputProps): import("@emotion/react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ RequiredValueErrorMessage: {
27
+ (): import("@emotion/react/jsx-runtime").JSX.Element;
28
+ displayName: string;
29
+ };
30
+ defaultProps: {
31
+ horizontalConstraint: string;
32
+ };
33
+ getId: (idPrefix?: string | undefined, language?: string | undefined) => string | undefined;
34
+ getName: (namePrefix?: string | undefined, language?: string | undefined) => string | undefined;
35
+ createLocalizedString: (languages: string[], existingTranslations?: {
36
+ [locale: string]: string;
37
+ }) => {
38
+ [locale: string]: string;
39
+ };
40
+ isEmpty: (localizedString?: {
41
+ [locale: string]: string;
42
+ } | undefined) => boolean;
43
+ omitEmptyTranslations: <TTranslations extends {
44
+ [locale: string]: string;
45
+ }>(localizedString: TTranslations) => {
46
+ [locale: string]: string;
47
+ };
48
+ isTouched: (touched?: {
49
+ [locale: string]: boolean;
50
+ } | undefined) => boolean;
51
+ };
52
+ export default LocalizedTextInput;
@@ -0,0 +1,4 @@
1
+ import { type Theme } from '@emotion/react';
2
+ declare const getLocalizedInputStyles: () => import("@emotion/utils").SerializedStyles[];
3
+ declare const getLanguageLabelStyles: (_props: unknown, theme: Theme) => import("@emotion/utils").SerializedStyles;
4
+ export { getLocalizedInputStyles, getLanguageLabelStyles };
@@ -0,0 +1,2 @@
1
+ declare const _default: "__@UI_KIT_PACKAGE/VERSION_OF_RELEASE__";
2
+ export default _default;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-uikit/localized-text-input",
3
3
  "description": "A controlled text input component for localized single-line strings with validation states.",
4
- "version": "13.0.0",
4
+ "version": "13.0.4",
5
5
  "bugs": "https://github.com/commercetools/ui-kit/issues",
6
6
  "repository": {
7
7
  "type": "git",
@@ -21,27 +21,25 @@
21
21
  "dependencies": {
22
22
  "@babel/runtime": "7.17.2",
23
23
  "@babel/runtime-corejs3": "7.17.2",
24
- "@commercetools-uikit/constraints": "13.0.0",
24
+ "@commercetools-uikit/constraints": "13.0.2",
25
25
  "@commercetools-uikit/design-system": "13.0.0",
26
- "@commercetools-uikit/flat-button": "13.0.0",
27
- "@commercetools-uikit/hooks": "12.2.9",
28
- "@commercetools-uikit/icons": "13.0.0",
29
- "@commercetools-uikit/input-utils": "13.0.0",
30
- "@commercetools-uikit/localized-utils": "12.2.9",
31
- "@commercetools-uikit/messages": "13.0.0",
32
- "@commercetools-uikit/spacings-stack": "13.0.0",
33
- "@commercetools-uikit/text": "13.0.0",
34
- "@commercetools-uikit/text-input": "13.0.0",
35
- "@commercetools-uikit/utils": "12.2.9",
26
+ "@commercetools-uikit/flat-button": "13.0.4",
27
+ "@commercetools-uikit/hooks": "13.0.2",
28
+ "@commercetools-uikit/icons": "13.0.2",
29
+ "@commercetools-uikit/input-utils": "13.0.4",
30
+ "@commercetools-uikit/localized-utils": "13.0.2",
31
+ "@commercetools-uikit/messages": "13.0.4",
32
+ "@commercetools-uikit/spacings-stack": "13.0.2",
33
+ "@commercetools-uikit/text": "13.0.4",
34
+ "@commercetools-uikit/text-input": "13.0.4",
35
+ "@commercetools-uikit/utils": "13.0.2",
36
36
  "@emotion/react": "^11.4.0",
37
37
  "@emotion/styled": "^11.3.0",
38
- "common-tags": "1.8.2",
39
- "prop-types": "15.8.1",
40
- "react-required-if": "1.0.3"
38
+ "prop-types": "15.8.1"
41
39
  },
42
40
  "devDependencies": {
43
41
  "react": "17.0.2",
44
- "react-intl": "5.24.6"
42
+ "react-intl": "^5.24.6"
45
43
  },
46
44
  "peerDependencies": {
47
45
  "react": "17.x",