@semcore/bulk-textarea 16.3.0-prerelease.3 → 16.3.1-prerelease.1

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.
@@ -19,20 +19,20 @@ import Tooltip from '@semcore/tooltip';
19
19
  import DOMPurify from 'dompurify';
20
20
  import React from 'react';
21
21
  /*!__reshadow-styles__:"./inputField.shadow.css"*/
22
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SInputField_3u0ol_gg_>div{box-sizing:content-box;outline:0;border-radius:var(--intergalactic-control-rounded, 6px);border-color:var(--intergalactic-border-primary, #c4c7cf);border-style:solid;border-width:1px;overflow:auto;position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);word-wrap:break-word;word-break:break-word;font-family:inherit}.___SInputField_3u0ol_gg_>div:empty::before{content:\"1. \"attr(placeholder);color:var(--intergalactic-text-placeholder, #8a8e9b);position:absolute}.___SInputField_3u0ol_gg_>div:nth-child(even){color:red;counter-increment:row;margin-bottom:var(--intergalactic-spacing-1x, 4px);position:relative;word-break:break-all}.___SInputField_3u0ol_gg_>div:nth-child(even)::before{content:counter(row)\".\";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SInputField_3u0ol_gg_>div>p{counter-increment:row;margin:0 0 var(--intergalactic-spacing-1x, 4px)0;position:relative;word-break:break-all;white-space:pre-wrap;padding:0 var(--intergalactic-spacing-5x, 20px)0 var(--intergalactic-spacing-4x, 16px)}.___SInputField_3u0ol_gg_>div>p:last-of-type{margin-bottom:0}.___SInputField_3u0ol_gg_>div>p:not(:empty)::before{content:counter(row)\".\";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px);position:absolute;left:0}.___SInputField_3u0ol_gg_>div>p[data-over-max-rows=true]{background-color:var(--intergalactic-bg-secondary-critical, #fff0f7)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+10))>p{padding-left:var(--intergalactic-spacing-6x, 24px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+10))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+10)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+100)::before{padding-left:0}.___SInputField_3u0ol_gg_.__showErrors_3u0ol_gg_>div[aria-invalid]>p[aria-invalid]:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZDEwMDJmIj48cGF0aCBkPSJNNyA2aDJ2NEg3VjZabTIgN3YtMkg3djJoMloiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTYuMTUyIDEuMTcyYy43MTktMS41NjMgMi45NzctMS41NjMgMy42OTYgMGw2LjA0MyAxMy4xNDFjLjM2My43OTEtLjIyNSAxLjY4Ny0xLjEwOSAxLjY4N0gxLjIxOGMtLjg4NCAwLTEuNDcyLS44OTYtMS4xMDktMS42ODdMNi4xNTIgMS4xNzJabTcuMzc0IDEyLjgzN0w4IDEuOTkgMi40NzQgMTQuMDFoMTEuMDUyWiIvPjwvc3ZnPgo=\\ );position:absolute;right:0;top:var(--intergalactic-spacing-05x, 2px)}.___SInputField_3u0ol_gg_._size_m_3u0ol_gg_>div{padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);min-height:calc(var(--minRows_3u0ol)*20px);max-height:calc((var(--maxRows_3u0ol) - 1)*(20px + var(--intergalactic-spacing-1x, 4px)) + 18px)}.___SInputField_3u0ol_gg_._size_m_3u0ol_gg_>div:empty{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_3u0ol_gg_._size_l_3u0ol_gg_>div:empty::before,.___SInputField_3u0ol_gg_._size_m_3u0ol_gg_>div:empty::before{left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_3u0ol_gg_._size_l_3u0ol_gg_>div{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);min-height:calc(var(--minRows_3u0ol)*24px);max-height:calc((var(--maxRows_3u0ol) - 1)*(24px + var(--intergalactic-spacing-1x, 4px)) + 20px)}.___SInputField_3u0ol_gg_._size_l_3u0ol_gg_>div:empty{padding-left:calc(var(--intergalactic-spacing-8x, 32px) + var(--intergalactic-spacing-05x, 2px))}.___SInputField_3u0ol_gg_._state_normal_3u0ol_gg_:not(.__disabled_3u0ol_gg_)>div:focus:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));border-color:var(--intergalactic-border-info-active, #006dca)}.___SInputField_3u0ol_gg_._state_valid_3u0ol_gg_>div{border-color:var(--intergalactic-border-success-active, #007c65)}.___SInputField_3u0ol_gg_._state_valid_3u0ol_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInputField_3u0ol_gg_._state_invalid_3u0ol_gg_>div{border-color:var(--intergalactic-border-critical-active, #d1002f);background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgba(209, 0, 47, 1) 0, rgba(209, 0, 47, 1) 2px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);background-repeat:repeat-y}.___SInputField_3u0ol_gg_._state_invalid_3u0ol_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SInputField_3u0ol_gg_.__readonly_3u0ol_gg_>div{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SInputField_3u0ol_gg_.__disabled_3u0ol_gg_>div{opacity:var(--intergalactic-disabled-opacity, 0.3)}", /*__inner_css_end__*/"3u0ol_gg_"),
22
+ var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SInputField_q6sp2_gg_>div{box-sizing:content-box;outline:0;border-radius:var(--intergalactic-control-rounded, 6px);border-color:var(--intergalactic-border-primary, #c4c7cf);border-style:solid;border-width:1px;overflow:auto;position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);word-wrap:break-word;word-break:break-word;font-family:inherit}.___SInputField_q6sp2_gg_>div:empty::before{content:\"1. \"attr(placeholder);color:var(--intergalactic-text-placeholder, #8a8e9b);position:absolute}.___SInputField_q6sp2_gg_>div:nth-child(even){color:red;counter-increment:row;margin-bottom:var(--intergalactic-spacing-1x, 4px);position:relative;word-break:break-all}.___SInputField_q6sp2_gg_>div:nth-child(even)::before{content:counter(row)\".\";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SInputField_q6sp2_gg_>div>p{counter-increment:row;margin:0 0 var(--intergalactic-spacing-1x, 4px)0;position:relative;word-break:break-all;white-space:pre-wrap;padding:0 var(--intergalactic-spacing-5x, 20px)0 var(--intergalactic-spacing-4x, 16px)}.___SInputField_q6sp2_gg_>div>p:last-of-type{margin-bottom:0}.___SInputField_q6sp2_gg_>div>p:not(:empty)::before{content:counter(row)\".\";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px);position:absolute;left:0}.___SInputField_q6sp2_gg_>div>p[data-over-max-rows=true]{background-color:var(--intergalactic-bg-secondary-critical, #fff0f7)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+10))>p{padding-left:var(--intergalactic-spacing-6x, 24px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+10))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+10)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+100)::before{padding-left:0}.___SInputField_q6sp2_gg_.__showErrors_q6sp2_gg_>div[aria-invalid]>p[aria-invalid]:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZDEwMDJmIj48cGF0aCBkPSJNNyA2aDJ2NEg3VjZabTIgN3YtMkg3djJoMloiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTYuMTUyIDEuMTcyYy43MTktMS41NjMgMi45NzctMS41NjMgMy42OTYgMGw2LjA0MyAxMy4xNDFjLjM2My43OTEtLjIyNSAxLjY4Ny0xLjEwOSAxLjY4N0gxLjIxOGMtLjg4NCAwLTEuNDcyLS44OTYtMS4xMDktMS42ODdMNi4xNTIgMS4xNzJabTcuMzc0IDEyLjgzN0w4IDEuOTkgMi40NzQgMTQuMDFoMTEuMDUyWiIvPjwvc3ZnPgo=\\ );position:absolute;right:0;top:var(--intergalactic-spacing-05x, 2px)}.___SInputField_q6sp2_gg_._size_m_q6sp2_gg_>div{padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);min-height:calc(var(--minRows_q6sp2)*20px);max-height:calc((var(--maxRows_q6sp2) - 1)*(20px + var(--intergalactic-spacing-1x, 4px)) + 18px)}.___SInputField_q6sp2_gg_._size_m_q6sp2_gg_>div:empty{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_q6sp2_gg_._size_l_q6sp2_gg_>div:empty::before,.___SInputField_q6sp2_gg_._size_m_q6sp2_gg_>div:empty::before{left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_q6sp2_gg_._size_l_q6sp2_gg_>div{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);min-height:calc(var(--minRows_q6sp2)*24px);max-height:calc((var(--maxRows_q6sp2) - 1)*(24px + var(--intergalactic-spacing-1x, 4px)) + 20px)}.___SInputField_q6sp2_gg_._size_l_q6sp2_gg_>div:empty{padding-left:calc(var(--intergalactic-spacing-8x, 32px) + var(--intergalactic-spacing-05x, 2px))}.___SInputField_q6sp2_gg_._state_normal_q6sp2_gg_:not(.__disabled_q6sp2_gg_)>div:focus:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));border-color:var(--intergalactic-border-info-active, #006dca)}.___SInputField_q6sp2_gg_._state_valid_q6sp2_gg_>div{border-color:var(--intergalactic-border-success-active, #007c65)}.___SInputField_q6sp2_gg_._state_valid_q6sp2_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInputField_q6sp2_gg_._state_invalid_q6sp2_gg_>div{border-color:var(--intergalactic-border-critical-active, #d1002f);background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgba(209, 0, 47, 1) 0, rgba(209, 0, 47, 1) 2px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);background-repeat:repeat-y}.___SInputField_q6sp2_gg_._state_invalid_q6sp2_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SInputField_q6sp2_gg_.__readonly_q6sp2_gg_>div{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SInputField_q6sp2_gg_.__disabled_q6sp2_gg_>div{opacity:var(--intergalactic-disabled-opacity, 0.3)}", /*__inner_css_end__*/"q6sp2_gg_"),
23
23
  /*__reshadow_css_end__*/
24
24
  {
25
- "__SInputField": "___SInputField_3u0ol_gg_",
26
- "_showErrors": "__showErrors_3u0ol_gg_",
27
- "_readonly": "__readonly_3u0ol_gg_",
28
- "_disabled": "__disabled_3u0ol_gg_",
29
- "_size_m": "_size_m_3u0ol_gg_",
30
- "--minRows": "--minRows_3u0ol",
31
- "--maxRows": "--maxRows_3u0ol",
32
- "_size_l": "_size_l_3u0ol_gg_",
33
- "_state_normal": "_state_normal_3u0ol_gg_",
34
- "_state_valid": "_state_valid_3u0ol_gg_",
35
- "_state_invalid": "_state_invalid_3u0ol_gg_"
25
+ "__SInputField": "___SInputField_q6sp2_gg_",
26
+ "_showErrors": "__showErrors_q6sp2_gg_",
27
+ "_readonly": "__readonly_q6sp2_gg_",
28
+ "_disabled": "__disabled_q6sp2_gg_",
29
+ "_size_m": "_size_m_q6sp2_gg_",
30
+ "--minRows": "--minRows_q6sp2",
31
+ "--maxRows": "--maxRows_q6sp2",
32
+ "_size_l": "_size_l_q6sp2_gg_",
33
+ "_state_normal": "_state_normal_q6sp2_gg_",
34
+ "_state_valid": "_state_valid_q6sp2_gg_",
35
+ "_state_invalid": "_state_invalid_q6sp2_gg_"
36
36
  });
37
37
  var InputField = /*#__PURE__*/function (_Component) {
38
38
  function InputField(props) {
@@ -379,6 +379,7 @@ var InputField = /*#__PURE__*/function (_Component) {
379
379
  this.toggleErrorsPopper('keyboardLineIndex', textNode.parentNode);
380
380
  } else {
381
381
  var _textNode;
382
+ // eslint-disable-next-line no-console
382
383
  console.warn('incorrect child type', textNode, (_textNode = textNode) === null || _textNode === void 0 ? void 0 : _textNode.parentNode);
383
384
  }
384
385
  }
@@ -612,6 +613,7 @@ var InputField = /*#__PURE__*/function (_Component) {
612
613
  var offset = (_text$textContent$len = (_text$textContent = text.textContent) === null || _text$textContent === void 0 ? void 0 : _text$textContent.length) !== null && _text$textContent$len !== void 0 ? _text$textContent$len : 0;
613
614
  this.setSelection(text, offset, offset);
614
615
  } else {
616
+ // eslint-disable-next-line no-console
615
617
  console.warn('incorrect prevNode type', prevNode);
616
618
  }
617
619
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.js","names":["Component","sstyled","Root","extractAriaProps","uniqueIDEnhancement","Box","Tooltip","DOMPurify","React","style","_sstyled","insert","InputField","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","createRef","visibleErrorPopper","keyboardLineIndex","mouseLineIndex","handlePaste","bind","handleChange","handleFocus","handleBlur","handleKeyDown","handleMouseDown","handleMouseMove","handleMouseLeave","handleScroll","handleSelectAll","textarea","createContentEditableElement","_inherits","_createClass","key","value","uncontrolledProps","linesCount","errorIndex","componentDidMount","_this$containerRef$cu","containerRef","current","append","handleValueOutChange","componentDidUpdate","prevProps","prevState","_this2","_this$props","errors","showErrors","disabled","readonly","highlightErrorIndex","lineProcessing","_this$props$ariaDesc","ariaDescribedby","currentValue","getValues","join","delimiter","length","toggleAriaInvalid","setAttribute","handleChangeErrorIndex","isDisabled","removeEventListeners","addEventListeners","state","_lines$prevState$keyb","lines","newValue","newValueTextNode","document","createTextNode","paragraph","childNodes","item","HTMLParagraphElement","innerHTML","emptyLineValue","replaceChild","validateLine","setTimeout","newNode","setErrorIndex","recalculateErrors","recalculateLinesCount","asProps","onChangeLineIndex","componentWillUnmount","get","_this$asProps","Boolean","uid","concat","_errorItem$errorMessa","_errorItem","_errorItem2","_this$asProps2","commonErrorMessage","prevError","_this$state","currentLineIndex","errorByInteraction","errorItem","find","e","lineIndex","errorMessage","isCommonError","createElement","id","placeholder","_extractAriaProps","extractedAriaProps","ariaProp","addEventListener","_this$props2","onChangeLinesCount","textContent","_this$textarea","listOfNodes","prepareNodesForPaste","replaceChildren","apply","_toConsumableArray","_this3","scrollingTimeout","clearTimeout","isScrolling","window","event","element","target","HTMLElement","toggleErrorsPopper","isFocusing","getAttribute","setState","changeTriggerTimeout","rowNode","getNodeFromSelection","_event$clipboardData","preventDefault","validateOn","clipboardData","getData","selection","getSelection","anchorNode","focusNode","anchorOffset","focusOffset","documentPosition","compareDocumentPosition","direction","getSelectionDirection","anchorElement","focusElement","fromOffset","toOffset","Text","parentElement","textNode","position","_this$textarea2","_lastNodeToInsert$tex","lastNodeToInsert","_anchorNode$textConte","_anchorNode$textConte2","_focusNode$textConten","_focusNode$textConten2","_firstNodeToInsert$te","before","substring","after","noEmptyLineBefore","trim","noEmptyLineAfter","deleteFromDocument","removeChild","firstNodeToInsert","splice","_lastNodeToInsert$tex2","_lastNodeToInsert$tex3","_anchorNode$textConte3","_anchorNode$textConte4","setSelection","parentNode","_textNode","console","warn","includes","HTMLDivElement","InputEvent","_firstNode$textConten2","nodes","firstNode","secondNode","_firstNode$textConten","nodeText","firstRow","text","replaceWith","setPosition","HTMLBRElement","maxDeep","_rowNode","_rowNode2","_rowNode$textContent","_this$popper","_childNodes$item$text","offset","firstSymbol","at","lastSymbol","getEmptyParagraph","inputType","_this$asProps3","isValid","trigger","lineNode","popper","elements","reference","shouldChangePopperTrigger","_this$setPopperTrigge","setPopperTrigger","call","_this$setPopperTrigge2","nodeIndex","emptyParagraph","emptyBr","toggleErrorsPopperByKeyboard","_this4","_this$asProps4","onBlur","valueToChange","_this5","linesDelimiters","currentNode","_currentNode$textCont","currentRowValue","_selection$focusNode","_selectionNode$textCo","_currentNode$textCont2","_row$textContent","selectionNode","selectionOffset","newRowValue","undefined","_selectionNode$textCo2","_selectionNode$textCo3","row","previousSibling","handleCursorMovement","isDeleteKey","_currentNode$textCont3","isRangeSelection","prevNode","_prevNode$textContent","_text$textContent$len","_text$textContent","_currentNode$textCont4","_focusElement$parentN","_anchorElement$parent","_focusElement$parentN2","anchorParagraph","focusParagraph","paragraphs","Array","from","children","isCleaning","_iterator","_createForOfIteratorHelper","_step","s","n","done","err","f","ctrlKey","metaKey","render","_ref","_ref2","_this$containerRef$cu2","_this6","SInputField","_this$asProps5","styles","_this$errorMessage","visibleErrorTooltip","_extractAriaProps2","__excludeProps","Fragment","cn","boundary","tether","_ref3","setTrigger","Popper","popperDescribedId","_objectSpread","_assignProps","_pasteProps$lineProce","_pasteProps$skipEmpty","_pasteProps$delimiter","_this7","pasteProps","line","trimmedLine","skipEmptyLines","isArray","split","forEach","index","preparedLine","node","allSpacesRegExp","RegExp","sanitize","replace","spaceLineValue","push","_node$dataset$errorme","dataset","errormessage","onErrorsChange","_this8","linesCountTimeout","_this8$asProps","maxLines","overMaxRows","values","_node$textContent","_node$textContent2","timer","_this9","toggleErrorsPopperTimeout","_this0","targetElement","isInvalidRow","indexOf","newState","_this0$setPopperTrigg","forceUpdate","errorsLength","removeAttribute","_error$lineNode","_this1","error","lineValidation","_node$textContent3","_lineValidation","start","end","scrollType","arguments","range","createRange","setStart","setEnd","removeAllRanges","addRange","nodeToScroll","scrollIntoView","block","inline","behavior","nextNode","nextSibling","_nextNode$textContent","_nextNode$textContent2","_selection$focusOffse","nodeToSetSelection","currentOffset","nodeToCompare","filter","Element","findIndex","handlers","removeEventListener","Node","DOCUMENT_POSITION_PRECEDING","defaultValue","size","minRows","maxRows","defaultShowErrors","defaultErrorIndex","defaultLinesCount"],"sources":["../../../../src/components/InputField/InputField.tsx"],"sourcesContent":["import { Component, sstyled, Root } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { Box } from '@semcore/flex-box';\nimport type { PopperContext } from '@semcore/popper';\nimport Tooltip from '@semcore/tooltip';\nimport DOMPurify from 'dompurify';\nimport React from 'react';\n\nimport style from './inputField.shadow.css';\nimport type { InputFieldProps, ErrorItem } from './InputField.types';\n\ntype IndexKeys = 'keyboardLineIndex' | 'mouseLineIndex';\n\ntype State = {\n [key in IndexKeys]: number;\n} & {\n visibleErrorPopper: boolean;\n};\n\nclass InputField<T extends string | string[]> extends Component<\n InputFieldProps<T>,\n {},\n State,\n typeof InputField.enhance\n> {\n static displayName = 'Textarea';\n static style = style;\n\n static enhance = [uniqueIDEnhancement()] as const;\n\n static defaultProps = {\n defaultValue: '',\n size: 'm',\n state: 'normal',\n minRows: 2,\n maxRows: 10,\n defaultShowErrors: false,\n defaultErrorIndex: -1,\n defaultLinesCount: 0,\n };\n\n delimiter = '\\n';\n skipEmptyLines = true;\n emptyLineValue = '&#xfeff;';\n spaceLineValue = '&nbsp;';\n\n containerRef = React.createRef<HTMLDivElement>();\n textarea: HTMLDivElement;\n\n popper: PopperContext['popper'] | null = null;\n setPopperTrigger: PopperContext['setTrigger'] | null = null;\n\n errorByInteraction: 'keyboard' | 'mouse' | null = null;\n\n changeTriggerTimeout = 0;\n isScrolling = false;\n scrollingTimeout = 0;\n\n toggleErrorsPopperTimeout = 0;\n\n isFocusing = false;\n\n linesCountTimeout = 0;\n\n state = {\n visibleErrorPopper: false,\n keyboardLineIndex: -1,\n mouseLineIndex: -1,\n };\n\n constructor(props: InputFieldProps<T>) {\n super(props);\n\n this.handlePaste = this.handlePaste.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handleSelectAll = this.handleSelectAll.bind(this);\n\n this.textarea = this.createContentEditableElement(props);\n }\n\n uncontrolledProps() {\n return {\n value: null,\n linesCount: null,\n errorIndex: null,\n };\n }\n\n componentDidMount() {\n this.containerRef.current?.append(this.textarea);\n\n this.handleValueOutChange();\n }\n\n componentDidUpdate(prevProps: InputFieldProps<T>, prevState: State): void {\n const {\n value,\n errors,\n errorIndex,\n showErrors,\n disabled,\n readonly,\n highlightErrorIndex,\n lineProcessing,\n ['aria-describedby']: ariaDescribedby = '',\n } = this.props;\n\n if (prevProps.value !== value) {\n const currentValue = this.getValues().join(this.delimiter);\n if (\n typeof value === 'string'\n ? value !== currentValue\n : value.join(this.delimiter) !== currentValue\n ) {\n this.handleValueOutChange();\n }\n }\n\n if (prevProps.showErrors !== showErrors || prevProps.errors.length !== errors.length) {\n this.toggleAriaInvalid(showErrors, errors.length);\n\n if (showErrors === false) {\n this.textarea.setAttribute('aria-describedby', ariaDescribedby);\n }\n }\n\n if (prevProps.errorIndex !== errorIndex && highlightErrorIndex) {\n this.handleChangeErrorIndex(errorIndex);\n }\n\n if (prevProps.disabled !== disabled || prevProps.readonly !== readonly) {\n if (this.isDisabled) {\n this.textarea.setAttribute('contenteditable', 'false');\n this.removeEventListeners(this.textarea);\n } else {\n this.textarea.setAttribute('contenteditable', 'true');\n this.addEventListeners(this.textarea);\n }\n\n if (disabled) {\n this.textarea.setAttribute('tabindex', '-1');\n } else {\n this.textarea.setAttribute('tabindex', '0');\n }\n }\n\n const { keyboardLineIndex } = this.state;\n\n if (prevState.keyboardLineIndex !== -1 && prevState.keyboardLineIndex !== keyboardLineIndex) {\n if (lineProcessing) {\n const lines = this.getValues();\n const newValue = lineProcessing(lines[prevState.keyboardLineIndex] ?? '', lines);\n const newValueTextNode = document.createTextNode(newValue);\n const paragraph = this.textarea.childNodes.item(prevState.keyboardLineIndex);\n\n if (paragraph instanceof HTMLParagraphElement) {\n if (newValue === '') {\n paragraph.innerHTML = this.emptyLineValue;\n } else {\n paragraph.replaceChild(newValueTextNode, paragraph.childNodes.item(0));\n }\n }\n\n this.validateLine(paragraph);\n\n setTimeout(() => {\n const newNode = this.textarea.childNodes.item(keyboardLineIndex);\n if (newNode) {\n this.setErrorIndex(newNode);\n }\n }, 0); // need this timeout to update errorIndex to the new (usually empty) line\n }\n\n if (!showErrors) {\n this.recalculateErrors();\n }\n this.recalculateLinesCount();\n this.asProps.onChangeLineIndex(keyboardLineIndex);\n }\n }\n\n componentWillUnmount() {\n this.removeEventListeners(this.textarea);\n }\n\n get isDisabled(): boolean {\n const { disabled, readonly } = this.asProps;\n\n return Boolean(disabled || readonly);\n }\n\n get popperDescribedId() {\n const { uid } = this.asProps;\n return `bulk-textarea-${uid}-popper-describedby`;\n }\n\n get errorMessage() {\n const { errors, errorIndex, commonErrorMessage, prevError } = this.asProps;\n const { mouseLineIndex, keyboardLineIndex } = this.state;\n const currentLineIndex =\n this.errorByInteraction === 'keyboard'\n ? keyboardLineIndex\n : this.errorByInteraction === 'mouse'\n ? mouseLineIndex\n : -1;\n let errorItem: ErrorItem | undefined = errors[errorIndex];\n\n if (currentLineIndex !== -1) {\n errorItem = errors.find((e) => e?.lineIndex === currentLineIndex);\n }\n\n const errorMessage =\n errors.length === 0 && !prevError // show any errors only if there are at least one error\n ? null\n : errorItem?.errorMessage ??\n (commonErrorMessage === '' || errors.length === 0\n ? prevError?.errorMessage\n : commonErrorMessage);\n const isCommonError =\n !errorItem?.errorMessage &&\n (commonErrorMessage === '' || errors.length === 0 ? !prevError?.errorMessage : true);\n\n return {\n errorMessage,\n isCommonError,\n };\n }\n\n createContentEditableElement(props: InputFieldProps<T>) {\n const textarea = document.createElement('div');\n textarea.setAttribute('contentEditable', props.disabled || props.readonly ? 'false' : 'true');\n textarea.setAttribute('role', 'textbox');\n textarea.setAttribute('classname', 'editable');\n\n if (props.id) {\n textarea.setAttribute('id', props.id);\n }\n if (props.placeholder) {\n textarea.setAttribute('placeholder', props.placeholder);\n }\n const { extractedAriaProps } = extractAriaProps(props);\n for (const key in extractedAriaProps) {\n const ariaProp: string | undefined = (props as any)[key];\n if (ariaProp) {\n textarea.setAttribute(key, ariaProp);\n }\n }\n\n if (!props.disabled) {\n textarea.setAttribute('tabIndex', '0');\n } else {\n textarea.setAttribute('tabIndex', '-1');\n }\n\n if (!props.disabled && !props.readonly) {\n this.addEventListeners(textarea);\n } else {\n textarea.addEventListener('keydown', this.handleSelectAll.bind(this));\n }\n\n return textarea;\n }\n\n handleValueOutChange() {\n const { value, onChangeLinesCount } = this.props;\n\n if (value === '') {\n this.textarea.textContent = '';\n onChangeLinesCount(0);\n } else {\n const listOfNodes = this.prepareNodesForPaste(value);\n\n this.textarea.replaceChildren(...listOfNodes);\n\n this.recalculateLinesCount();\n this.recalculateErrors();\n }\n }\n\n handleScroll(): void {\n if (this.scrollingTimeout) {\n clearTimeout(this.scrollingTimeout);\n }\n\n this.isScrolling = true;\n\n this.scrollingTimeout = window.setTimeout(() => {\n this.isScrolling = false;\n }, 50);\n }\n\n handleMouseDown(event: MouseEvent): void {\n const element = event.target;\n\n if (element instanceof HTMLElement) {\n // we need to change keyboardLineIndex, because the caret in real on that current row\n this.toggleErrorsPopper('keyboardLineIndex', element);\n\n this.setErrorIndex(element);\n }\n }\n\n handleMouseMove(event: MouseEvent): void {\n this.errorByInteraction = 'mouse';\n const element = event.target;\n\n if (element !== this.textarea) {\n if (\n this.isFocusing ||\n (element instanceof HTMLElement && element.getAttribute('aria-invalid') === 'true')\n ) {\n this.toggleErrorsPopper('mouseLineIndex', element);\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n }\n\n handleMouseLeave(): void {\n if (this.changeTriggerTimeout) {\n clearTimeout(this.changeTriggerTimeout);\n }\n\n if (this.isFocusing) {\n this.errorByInteraction = 'keyboard';\n const rowNode = this.getNodeFromSelection();\n\n this.toggleErrorsPopper('keyboardLineIndex', rowNode, 0);\n this.setState({ mouseLineIndex: -1 });\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n\n handlePaste(event: ClipboardEvent) {\n event.preventDefault();\n const { validateOn } = this.asProps;\n const value = event.clipboardData?.getData('text/plain');\n const listOfNodes = value ? this.prepareNodesForPaste(value) : [];\n\n if (listOfNodes.length === 0) return;\n\n const selection = document.getSelection();\n\n if (selection?.anchorNode && selection?.focusNode) {\n const anchorOffset = selection.anchorOffset;\n const focusOffset = selection.focusOffset;\n const documentPosition = selection.anchorNode.compareDocumentPosition(selection.focusNode);\n const direction = this.getSelectionDirection();\n\n const anchorElement = direction === 'forward' ? selection.anchorNode : selection.focusNode;\n const focusElement = direction === 'forward' ? selection.focusNode : selection.anchorNode;\n const fromOffset = direction === 'forward' ? anchorOffset : focusOffset;\n const toOffset = direction === 'forward' ? focusOffset : anchorOffset;\n const anchorNode =\n anchorElement instanceof Text ? anchorElement.parentElement : anchorElement;\n const focusNode = focusElement instanceof Text ? focusElement.parentElement : focusElement;\n\n let textNode: ChildNode | null = null;\n let position: number | null = null;\n\n if (focusElement === this.textarea) {\n this.textarea.replaceChildren(...listOfNodes);\n\n const lastNodeToInsert = listOfNodes[listOfNodes.length - 1];\n textNode = lastNodeToInsert.childNodes.item(0);\n position = (lastNodeToInsert.textContent ?? '').length;\n } else if (\n focusNode instanceof HTMLParagraphElement &&\n anchorNode instanceof HTMLParagraphElement\n ) {\n const before = anchorNode?.textContent?.substring(0, fromOffset) ?? '';\n const after = focusNode?.textContent?.substring(toOffset) ?? '';\n\n const noEmptyLineBefore = before.trim() === '' ? '' : before;\n const noEmptyLineAfter = after.trim() === '' ? '' : after;\n\n selection.deleteFromDocument();\n\n if (documentPosition !== 0) {\n this.textarea.removeChild(focusNode);\n }\n\n const firstNodeToInsert = listOfNodes.splice(0, 1)[0];\n const lastNodeToInsert = listOfNodes[listOfNodes.length - 1];\n\n anchorNode.textContent = noEmptyLineBefore + (firstNodeToInsert?.textContent ?? '');\n\n anchorNode.after(...listOfNodes);\n\n if (lastNodeToInsert) {\n lastNodeToInsert.textContent = (lastNodeToInsert.textContent ?? '') + noEmptyLineAfter;\n textNode = lastNodeToInsert.childNodes.item(0);\n position = (lastNodeToInsert.textContent ?? '').length;\n\n this.validateLine(lastNodeToInsert);\n this.setErrorIndex(lastNodeToInsert);\n } else {\n position = (anchorNode.textContent ?? '').length;\n anchorNode.textContent = (anchorNode.textContent ?? '') + noEmptyLineAfter;\n textNode = anchorNode.childNodes.item(0);\n\n this.validateLine(anchorNode);\n this.setErrorIndex(anchorNode);\n }\n }\n\n if (textNode instanceof Text) {\n this.setSelection(textNode, position ?? 1, position ?? 1);\n this.toggleErrorsPopper('keyboardLineIndex', textNode.parentNode);\n } else {\n console.warn('incorrect child type', textNode, textNode?.parentNode);\n }\n }\n\n this.recalculateLinesCount();\n\n if (validateOn.includes('paste') || this.asProps.showErrors) {\n this.recalculateErrors();\n }\n }\n\n handleChange(event: Event) {\n const target = event.target;\n if (target instanceof HTMLDivElement && event instanceof InputEvent) {\n const nodes = this.textarea.childNodes;\n const firstNode = nodes.item(0);\n const secondNode = nodes.item(1);\n const selection = document.getSelection();\n\n if (firstNode instanceof Text) {\n const nodeText = firstNode.textContent ?? '';\n const firstRow = document.createElement('p');\n const text = document.createTextNode(nodeText);\n firstRow.append(text);\n firstNode.replaceWith(firstRow);\n\n selection?.setPosition(firstRow, nodeText.length);\n } else if (!firstNode || (firstNode instanceof HTMLBRElement && nodes.length === 1)) {\n this.textarea.textContent = '';\n this.setState({ keyboardLineIndex: 0 });\n } else if (firstNode instanceof HTMLParagraphElement && !firstNode.textContent?.trim()) {\n if (nodes.length <= 1 || secondNode instanceof HTMLBRElement) {\n this.textarea.textContent = '';\n this.setState({ keyboardLineIndex: 0 });\n }\n }\n\n let maxDeep = 10;\n let rowNode = selection?.focusNode;\n\n while (rowNode?.parentNode !== this.textarea && maxDeep > 0) {\n rowNode = rowNode?.parentNode;\n maxDeep--;\n }\n\n if (rowNode instanceof HTMLParagraphElement) {\n const childNodes = rowNode.childNodes;\n const textContent = rowNode.textContent ?? '';\n\n if (childNodes.length > 1) {\n const offset = childNodes.item(0).textContent?.length;\n\n rowNode.textContent = textContent;\n\n if (offset) {\n this.setSelection(rowNode.childNodes.item(0), offset, offset);\n }\n }\n\n if (textContent.length > 0) {\n const firstSymbol = textContent.at(0);\n const lastSymbol = textContent.at(textContent.length - 1);\n\n if (\n firstSymbol === this.getEmptyParagraph().textContent ||\n lastSymbol === this.getEmptyParagraph().textContent\n ) {\n let offset: number | null = null;\n if (firstSymbol === this.getEmptyParagraph().textContent) {\n rowNode.textContent = textContent.substring(1);\n offset =\n event.inputType === 'deleteContentBackward' ||\n event.inputType === 'deleteContentForward'\n ? 0\n : rowNode.textContent.length;\n } else if (lastSymbol === this.getEmptyParagraph().textContent) {\n rowNode.textContent = textContent.substring(0, textContent.length - 1);\n offset = rowNode.textContent.length;\n }\n\n if (offset) {\n this.setSelection(rowNode.childNodes.item(0), offset, offset);\n }\n }\n } else if (childNodes.length === 1 && childNodes[0] instanceof HTMLBRElement) {\n rowNode.innerHTML = this.emptyLineValue;\n }\n\n const { errors, showErrors } = this.asProps;\n const isValid = this.validateLine(rowNode);\n this.recalculateErrors();\n this.setErrorIndex(rowNode);\n\n if (!isValid && showErrors) {\n this.toggleErrorsPopper('keyboardLineIndex', rowNode, 0);\n }\n\n const trigger =\n !isValid || (isValid && errors.length === 1 && errors[0].lineNode === rowNode)\n ? rowNode\n : this.textarea;\n\n if (showErrors && this.popper?.current.state.elements.reference !== trigger) {\n if (this.shouldChangePopperTrigger(trigger)) {\n this.setPopperTrigger?.(trigger);\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n } else if (rowNode === null) {\n this.setPopperTrigger?.(this.textarea);\n\n if (selection?.focusNode === this.textarea && this.textarea.childNodes.length > 1) {\n const nodeIndex = selection.focusOffset;\n const emptyParagraph = this.textarea.childNodes.item(nodeIndex - 1);\n const emptyBr = this.textarea.childNodes.item(nodeIndex);\n\n this.textarea.removeChild(emptyBr);\n\n if (emptyParagraph instanceof HTMLParagraphElement) {\n emptyParagraph.innerHTML = this.emptyLineValue;\n }\n\n if (emptyParagraph) {\n this.setSelection(emptyParagraph, 0, 0);\n }\n } else {\n this.setSelection(this.textarea, 0, 0);\n }\n }\n\n this.recalculateLinesCount();\n }\n }\n\n handleFocus() {\n this.isFocusing = true;\n this.errorByInteraction = 'keyboard';\n\n if (this.asProps.showErrors) {\n this.toggleErrorsPopperByKeyboard(150);\n } else {\n this.toggleErrorsPopper('keyboardLineIndex', this.textarea);\n }\n }\n\n handleBlur(event: Event) {\n this.isFocusing = false;\n this.setState({ visibleErrorPopper: false });\n\n const { validateOn, onBlur, value } = this.asProps;\n\n if (validateOn.includes('blur')) {\n this.recalculateErrors();\n }\n\n const valueToChange =\n typeof value === 'string' ? this.getValues().join(this.delimiter) : this.getValues();\n\n onBlur(valueToChange as T, event);\n\n setTimeout(() => {\n this.setState({ keyboardLineIndex: -1 });\n }, 200);\n }\n\n handleKeyDown(event: KeyboardEvent) {\n this.errorByInteraction = 'keyboard';\n const { linesDelimiters } = this.asProps;\n\n const currentNode = this.getNodeFromSelection();\n\n if (event.key === 'Enter' || linesDelimiters?.includes(event.key)) {\n if (currentNode === this.textarea) {\n event.preventDefault();\n }\n if (currentNode instanceof HTMLParagraphElement) {\n const currentRowValue = currentNode.textContent?.trim();\n\n if (!currentRowValue) {\n event.preventDefault();\n } else {\n event.preventDefault();\n const selection = document.getSelection();\n const selectionNode =\n selection?.focusNode instanceof Text\n ? selection.focusNode\n : selection?.focusNode?.childNodes.item(0);\n const selectionOffset = selection?.focusOffset;\n\n let newRowValue = '';\n\n if (\n selectionNode instanceof Text &&\n selectionOffset !== undefined &&\n selectionOffset !== selectionNode.textContent?.length\n ) {\n newRowValue =\n selectionNode.textContent?.substring(selectionOffset) ?? this.emptyLineValue;\n\n if (selectionNode.textContent) {\n selectionNode.textContent = selectionNode.textContent.substring(0, selectionOffset);\n }\n }\n\n if (currentNode.textContent?.trim() === '') {\n currentNode.innerHTML = this.emptyLineValue;\n }\n\n const row = document.createElement('p');\n if (newRowValue) {\n row.textContent = newRowValue;\n } else {\n row.innerHTML = this.emptyLineValue;\n }\n currentNode.after(row);\n\n this.setSelection(row, 0, 0);\n\n this.validateLine(currentNode);\n this.validateLine(row);\n if (currentNode.previousSibling) {\n this.validateLine(currentNode.previousSibling);\n }\n this.setErrorIndex(row);\n\n if (row.textContent?.trim() !== '') {\n this.recalculateLinesCount();\n }\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n }\n }\n } else if (\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight'\n ) {\n if (currentNode instanceof HTMLParagraphElement) {\n this.handleCursorMovement(currentNode, event);\n }\n this.toggleErrorsPopperByKeyboard(200);\n } else if (this.isDeleteKey(event) && currentNode instanceof HTMLParagraphElement) {\n if (currentNode.textContent?.trim() === '' && !this.isRangeSelection()) {\n // Backspace on empty row\n const prevNode = currentNode.previousSibling;\n if (prevNode instanceof HTMLParagraphElement) {\n event.preventDefault();\n this.textarea.removeChild(currentNode);\n this.toggleErrorsPopperByKeyboard(0);\n\n if (\n prevNode.textContent?.trim() === '' &&\n prevNode.previousSibling === null &&\n this.textarea.childNodes.length === 1\n ) {\n this.textarea.textContent = '';\n this.setSelection(this.textarea, 0, 0);\n } else {\n if (prevNode instanceof HTMLParagraphElement) {\n const text = prevNode.childNodes.item(0);\n const offset = text.textContent?.length ?? 0;\n this.setSelection(text, offset, offset);\n } else {\n console.warn('incorrect prevNode type', prevNode);\n }\n }\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n }\n } else if (this.isRangeSelection()) {\n const selection = document.getSelection();\n\n const direction = this.getSelectionDirection();\n const anchorElement =\n direction === 'backward' ? selection?.focusNode : selection?.anchorNode;\n const focusElement =\n direction === 'backward' ? selection?.anchorNode : selection?.focusNode;\n const anchorOffset =\n direction === 'backward' ? selection?.focusOffset : selection?.anchorOffset;\n const focusOffset =\n direction === 'backward' ? selection?.anchorOffset : selection?.focusOffset;\n\n // Backspace on selected full row\n if (\n anchorElement === focusElement &&\n anchorOffset === 0 &&\n ((focusElement === currentNode && focusOffset === 1) ||\n focusOffset === currentNode.textContent?.length)\n ) {\n event.preventDefault();\n\n const anchorParagraph = anchorElement?.parentElement;\n const focusParagraph = focusElement?.parentElement;\n const childNodes = this.textarea.childNodes;\n if (\n anchorParagraph === childNodes.item(0) &&\n focusParagraph === childNodes.item(childNodes.length - 1)\n ) {\n this.textarea.textContent = '';\n this.setSelection(this.textarea, 0, 0);\n } else {\n currentNode.innerHTML = this.emptyLineValue;\n this.validateLine(currentNode);\n }\n\n this.setErrorIndex(currentNode);\n this.recalculateLinesCount();\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n } else if (\n focusElement !== anchorElement &&\n focusElement instanceof Text &&\n anchorElement instanceof Text &&\n focusElement?.textContent === focusElement?.parentNode?.textContent &&\n anchorElement?.textContent === anchorElement?.parentNode?.textContent &&\n anchorOffset === 0 &&\n focusOffset === focusElement?.parentNode?.textContent?.length\n ) { // Backspace on selected few full rows\n event.preventDefault();\n\n const paragraphs = Array.from(this.textarea.children);\n const anchorParagraph = anchorElement.parentElement;\n const focusParagraph = focusElement.parentElement;\n const childNodes = this.textarea.childNodes;\n\n if (\n anchorParagraph === childNodes.item(0) &&\n focusParagraph === childNodes.item(childNodes.length - 1)\n ) {\n this.textarea.textContent = '';\n this.setSelection(this.textarea, 0, 0);\n } else {\n let isCleaning = false;\n\n for (const paragraph of paragraphs) {\n if (paragraph === anchorParagraph || isCleaning) {\n isCleaning = true;\n\n if (paragraph === focusParagraph) {\n focusParagraph.innerHTML = this.emptyLineValue;\n this.setSelection(focusParagraph, 0, 0);\n break;\n } else {\n this.textarea.removeChild(paragraph);\n }\n }\n }\n\n this.validateLine(currentNode);\n }\n\n this.setErrorIndex(currentNode);\n this.recalculateLinesCount();\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n }\n }\n } else if (event.key === 'z' && (event.ctrlKey || event.metaKey)) {\n event.preventDefault();\n }\n }\n\n render() {\n const SInputField = Root;\n const { styles, showErrors } = this.asProps;\n const { visibleErrorPopper } = this.state;\n\n const { errorMessage, isCommonError } = this.errorMessage;\n const visibleErrorTooltip =\n showErrors && visibleErrorPopper && Boolean(errorMessage) && !this.isDisabled;\n\n const { __excludeProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <>\n <Tooltip\n interaction='none'\n placement={isCommonError ? 'right-start' : 'right'}\n visible={visibleErrorTooltip}\n theme='warning'\n offset={isCommonError ? undefined : [0, 26]}\n preventOverflow={{\n boundary: this.containerRef.current ?? undefined,\n tether: false,\n }}\n >\n {({ popper, setTrigger }) => {\n if (!this.popper) {\n this.setPopperTrigger = setTrigger;\n // @ts-ignore\n this.popper = popper;\n }\n\n return <Tooltip.Popper id={this.popperDescribedId}>{errorMessage}</Tooltip.Popper>;\n }}\n </Tooltip>\n <SInputField\n render={Box}\n ref={this.containerRef}\n __excludeProps={['onBlur', 'value', ...__excludeProps]}\n />\n </>,\n );\n }\n\n private prepareNodesForPaste(value: string | string[]): HTMLParagraphElement[] {\n const listOfNodes: HTMLParagraphElement[] = [];\n const { pasteProps } = this.asProps;\n const lineProcessing =\n pasteProps?.lineProcessing ??\n ((line: string) => {\n const trimmedLine = line.trim();\n return trimmedLine === '' ? line : trimmedLine;\n });\n const skipEmptyLines = pasteProps?.skipEmptyLines ?? this.skipEmptyLines;\n const delimiter = pasteProps?.delimiter ?? this.delimiter;\n const lines: string[] = Array.isArray(value) ? value : value.split(delimiter);\n\n lines.forEach((line, index) => {\n const preparedLine = lineProcessing(line, index, lines.length);\n\n if ((preparedLine === '' && skipEmptyLines === false) || preparedLine !== '') {\n const node = document.createElement('p');\n\n if (preparedLine === '') {\n node.innerHTML = this.emptyLineValue;\n } else if (preparedLine.trim() === '') {\n const allSpacesRegExp = new RegExp('\\\\s', 'g');\n node.innerHTML = DOMPurify.sanitize(\n preparedLine.replace(allSpacesRegExp, this.spaceLineValue),\n );\n } else {\n node.append(document.createTextNode(preparedLine));\n }\n\n listOfNodes.push(node);\n\n this.validateLine(node);\n }\n });\n\n return listOfNodes;\n }\n\n private recalculateErrors(): void {\n const errors: ErrorItem[] = [];\n\n this.textarea.childNodes.forEach((node, index) => {\n if (node instanceof HTMLParagraphElement && node.getAttribute('aria-invalid') === 'true') {\n const errorItem = {\n errorMessage: node.dataset.errormessage ?? '',\n lineNode: node,\n lineIndex: index,\n };\n errors.push(errorItem);\n }\n });\n\n this.asProps.onErrorsChange(errors);\n }\n\n private recalculateLinesCount(): void {\n if (this.linesCountTimeout) {\n clearTimeout(this.linesCountTimeout);\n }\n\n this.linesCountTimeout = window.setTimeout(() => {\n let lines = 0;\n const { maxLines, linesCount } = this.asProps;\n\n this.textarea.childNodes.forEach((node) => {\n if (node instanceof HTMLParagraphElement) {\n node.dataset.overMaxRows = 'false';\n\n if (\n node.textContent !== this.getEmptyParagraph().textContent &&\n node.textContent !== ''\n ) {\n lines++;\n\n if (lines > maxLines) {\n node.dataset.overMaxRows = 'true';\n }\n }\n }\n });\n\n if (linesCount !== lines) {\n this.asProps.onChangeLinesCount(lines);\n }\n }, 100);\n }\n\n private getValues(): string[] {\n const values: string[] = [];\n this.textarea.childNodes.forEach((node) => {\n if (node.textContent?.trim() === '') {\n values.push('');\n } else {\n values.push(node.textContent ?? '');\n }\n });\n\n return values;\n }\n\n private shouldChangePopperTrigger(node: HTMLElement): boolean {\n return (\n this.textarea !== node || (this.textarea === node && Boolean(this.asProps.commonErrorMessage))\n );\n }\n\n private toggleErrorsPopperByKeyboard(timer: number) {\n if (this.toggleErrorsPopperTimeout) {\n clearTimeout(this.toggleErrorsPopperTimeout);\n }\n\n if (!this.isScrolling) {\n setTimeout(() => {\n const rowNode = this.getNodeFromSelection();\n\n this.toggleErrorsPopper('keyboardLineIndex', rowNode, timer);\n }, 0);\n } else {\n this.toggleErrorsPopperTimeout = window.setTimeout(() => {\n this.toggleErrorsPopperByKeyboard(timer);\n }, 50);\n }\n }\n\n private toggleErrorsPopper(key: IndexKeys, target?: unknown, timer?: number) {\n if (target instanceof HTMLDivElement || target instanceof HTMLParagraphElement) {\n if (this.changeTriggerTimeout) {\n clearTimeout(this.changeTriggerTimeout);\n }\n\n this.changeTriggerTimeout = window.setTimeout(() => {\n const targetElement = target === this.textarea ? this.getNodeFromSelection() : target;\n\n let lineIndex = -1;\n let isInvalidRow = false;\n\n if (targetElement instanceof HTMLParagraphElement) {\n isInvalidRow = targetElement.getAttribute('aria-invalid') === 'true';\n lineIndex = Array.from(this.textarea.childNodes).indexOf(targetElement);\n } else if (targetElement === this.textarea) {\n lineIndex = 0;\n }\n\n if (targetElement instanceof HTMLElement) {\n this.setState(\n (prevState) => {\n const newState: State = {\n visibleErrorPopper:\n this.isFocusing && Boolean(this.asProps.commonErrorMessage) ? true : isInvalidRow,\n mouseLineIndex: prevState.mouseLineIndex,\n keyboardLineIndex: prevState.keyboardLineIndex,\n };\n\n if (this.isFocusing || (key === 'mouseLineIndex' && isInvalidRow)) {\n newState[key] = lineIndex;\n }\n\n return newState;\n },\n () => {\n this.errorByInteraction = key === 'mouseLineIndex' ? 'mouse' : 'keyboard';\n\n const trigger = isInvalidRow ? targetElement : this.textarea;\n\n if (this.shouldChangePopperTrigger(trigger)) {\n this.setPopperTrigger?.(trigger);\n\n this.forceUpdate();\n }\n },\n );\n }\n }, timer ?? 50);\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n\n private toggleAriaInvalid(showErrors: boolean, errorsLength: number): void {\n if (showErrors && errorsLength > 0) {\n this.textarea.setAttribute('aria-describedby', this.popperDescribedId);\n this.textarea.setAttribute('aria-invalid', 'true');\n } else {\n this.textarea.removeAttribute('aria-invalid');\n this.textarea.removeAttribute('aria-describedby');\n }\n }\n\n private handleChangeErrorIndex(errorIndex: number): void {\n const error: ErrorItem | undefined = this.asProps.errors[errorIndex];\n const childNodes = this.textarea.childNodes;\n\n const node = error ? error.lineNode ?? childNodes.item(error.lineIndex) : null;\n const selection = document.getSelection();\n\n if (selection && node instanceof HTMLParagraphElement) {\n this.setState({ visibleErrorPopper: false });\n\n setTimeout(() => {\n const text = node.childNodes.item(0);\n if (text instanceof Text) {\n this.setSelection(text, 0, text.length);\n } else {\n this.setSelection(node, 0, 1);\n }\n }, 150);\n }\n }\n\n private validateLine(node: Node): boolean {\n const { lineValidation } = this.asProps;\n if (lineValidation && node instanceof HTMLElement) {\n const { isValid, errorMessage } = lineValidation(node.textContent ?? '', this.getValues());\n\n if (!isValid) {\n node.setAttribute('aria-invalid', 'true');\n node.dataset.errormessage = errorMessage;\n } else {\n node.removeAttribute('aria-invalid');\n node.dataset.errormessage = undefined;\n }\n\n return isValid;\n }\n\n return true;\n }\n\n private setSelection(\n node: Node,\n start: number,\n end: number,\n scrollType: 'center' | 'nearest' = 'center',\n ): void {\n const selection = document.getSelection();\n const range = document.createRange();\n range.setStart(node, start);\n range.setEnd(node, end);\n\n selection?.removeAllRanges();\n selection?.addRange(range);\n\n const nodeToScroll = node instanceof Text ? node.parentNode : node;\n\n if (nodeToScroll instanceof HTMLElement) {\n nodeToScroll.scrollIntoView({\n block: scrollType,\n inline: scrollType,\n behavior: 'smooth',\n });\n }\n }\n\n private getNodeFromSelection(): Node | null {\n const selection = document.getSelection();\n\n const rowNode =\n selection?.focusNode instanceof Text ? selection.focusNode.parentNode : selection?.focusNode;\n\n return rowNode ?? null;\n }\n\n private handleCursorMovement(currentNode: HTMLParagraphElement, event: KeyboardEvent): void {\n let nextNode: ChildNode | null = null;\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n nextNode = currentNode.previousSibling;\n break;\n case 'ArrowDown':\n event.preventDefault();\n nextNode = currentNode.nextSibling;\n break;\n case 'ArrowLeft': {\n if (currentNode.textContent === this.getEmptyParagraph().textContent) {\n event.preventDefault();\n nextNode = currentNode.previousSibling;\n }\n break;\n }\n case 'ArrowRight': {\n if (currentNode.textContent === this.getEmptyParagraph().textContent) {\n event.preventDefault();\n nextNode = currentNode.nextSibling;\n }\n }\n }\n\n if (nextNode instanceof HTMLParagraphElement) {\n const selection = document.getSelection();\n const firstNode = nextNode.childNodes.item(0);\n const nodeToSetSelection = firstNode instanceof Text ? firstNode : nextNode;\n const textNode = nextNode.textContent?.trim() ?? '';\n const currentOffset = selection?.focusOffset ?? 0;\n let offset = currentOffset <= textNode.length ? currentOffset : textNode.length;\n\n // it only works if node is empty, that's why here we could set 0 or node.length\n if (event.key === 'ArrowLeft') {\n offset = textNode.length;\n } else if (event.key === 'ArrowRight') {\n offset = 0;\n }\n\n this.setSelection(nodeToSetSelection, offset, offset, 'nearest');\n }\n }\n\n private setErrorIndex(nodeToCompare: Node): void {\n const errorIndex = Array.from(this.textarea.childNodes)\n .filter((node) => {\n return node instanceof Element && node.getAttribute('aria-invalid') === 'true';\n })\n .findIndex((node) => {\n return node === nodeToCompare;\n });\n\n this.handlers.errorIndex(errorIndex);\n }\n\n private isDeleteKey(event: KeyboardEvent): boolean {\n return event.key === 'Backspace' || (event.key === 'x' && (event.ctrlKey || event.metaKey));\n }\n\n private getEmptyParagraph() {\n const element = document.createElement('p');\n\n element.innerHTML = this.emptyLineValue;\n\n return element;\n }\n\n private addEventListeners(textarea: HTMLElement) {\n textarea.addEventListener('paste', this.handlePaste);\n textarea.addEventListener('input', this.handleChange);\n textarea.addEventListener('focus', this.handleFocus);\n textarea.addEventListener('blur', this.handleBlur);\n textarea.addEventListener('keydown', this.handleKeyDown);\n textarea.addEventListener('mousedown', this.handleMouseDown);\n textarea.addEventListener('mousemove', this.handleMouseMove);\n textarea.addEventListener('mouseleave', this.handleMouseLeave);\n textarea.addEventListener('scroll', this.handleScroll);\n\n textarea.removeEventListener('keydown', this.handleSelectAll);\n }\n\n private removeEventListeners(textarea: HTMLElement) {\n textarea.removeEventListener('paste', this.handlePaste);\n textarea.removeEventListener('input', this.handleChange);\n textarea.removeEventListener('focus', this.handleFocus);\n textarea.removeEventListener('blur', this.handleBlur);\n textarea.removeEventListener('keydown', this.handleKeyDown);\n textarea.removeEventListener('mousedown', this.handleMouseDown);\n textarea.removeEventListener('mousemove', this.handleMouseMove);\n textarea.removeEventListener('mouseleave', this.handleMouseLeave);\n textarea.removeEventListener('scroll', this.handleScroll);\n\n textarea.addEventListener('keydown', this.handleSelectAll);\n }\n\n private handleSelectAll(event: KeyboardEvent) {\n if (event.key === 'a' && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n\n const node = event.target;\n if (node instanceof HTMLElement && node === this.textarea) {\n this.setSelection(node, 0, node.childNodes.length);\n }\n }\n }\n\n private isRangeSelection(): boolean {\n const selection = document.getSelection();\n\n return (\n selection?.focusNode !== selection?.anchorNode ||\n selection?.focusOffset !== selection?.anchorOffset\n );\n }\n\n private getSelectionDirection(): 'forward' | 'backward' | null {\n const selection = document.getSelection();\n\n if (selection?.anchorNode && selection?.focusNode) {\n const documentPosition = selection.anchorNode.compareDocumentPosition(selection.focusNode);\n\n if (\n (documentPosition === 0 && selection.anchorOffset > selection.focusOffset) || // if nodes are the same\n documentPosition === Node.DOCUMENT_POSITION_PRECEDING\n ) {\n return 'backward';\n }\n\n return 'forward';\n }\n\n return null;\n }\n}\n\nexport { InputField };\nexport type { InputFieldProps, ErrorItem };\n"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACxD,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,mBAAmB,MAAM,kCAAkC;AAClE,SAASC,GAAG,QAAQ,mBAAmB;AAEvC,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAOC,KAAK,MAAM,OAAO;AAAC;AAAA,IAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAapBC,UAAU,0BAAAC,UAAA;EAmDd,SAAAD,WAAYE,KAAyB,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAJ,UAAA;IACrCG,KAAA,GAAAE,UAAA,OAAAL,UAAA,GAAME,KAAK;IAAEI,eAAA,CAAAH,KAAA,eA9BH,IAAI;IAAAG,eAAA,CAAAH,KAAA,oBACC,IAAI;IAAAG,eAAA,CAAAH,KAAA,oBACJ,UAAU;IAAAG,eAAA,CAAAH,KAAA,oBACV,QAAQ;IAAAG,eAAA,CAAAH,KAAA,+BAEVP,KAAK,CAACW,SAAS,CAAiB,CAAC;IAAAD,eAAA,CAAAH,KAAA;IAAAG,eAAA,CAAAH,KAAA,YAGP,IAAI;IAAAG,eAAA,CAAAH,KAAA,sBACU,IAAI;IAAAG,eAAA,CAAAH,KAAA,wBAET,IAAI;IAAAG,eAAA,CAAAH,KAAA,0BAE/B,CAAC;IAAAG,eAAA,CAAAH,KAAA,iBACV,KAAK;IAAAG,eAAA,CAAAH,KAAA,sBACA,CAAC;IAAAG,eAAA,CAAAH,KAAA,+BAEQ,CAAC;IAAAG,eAAA,CAAAH,KAAA,gBAEhB,KAAK;IAAAG,eAAA,CAAAH,KAAA,uBAEE,CAAC;IAAAG,eAAA,CAAAH,KAAA,WAEb;MACNK,kBAAkB,EAAE,KAAK;MACzBC,iBAAiB,EAAE,CAAC,CAAC;MACrBC,cAAc,EAAE,CAAC;IACnB,CAAC;IAKCP,KAAA,CAAKQ,WAAW,GAAGR,KAAA,CAAKQ,WAAW,CAACC,IAAI,CAAAT,KAAK,CAAC;IAC9CA,KAAA,CAAKU,YAAY,GAAGV,KAAA,CAAKU,YAAY,CAACD,IAAI,CAAAT,KAAK,CAAC;IAChDA,KAAA,CAAKW,WAAW,GAAGX,KAAA,CAAKW,WAAW,CAACF,IAAI,CAAAT,KAAK,CAAC;IAC9CA,KAAA,CAAKY,UAAU,GAAGZ,KAAA,CAAKY,UAAU,CAACH,IAAI,CAAAT,KAAK,CAAC;IAC5CA,KAAA,CAAKa,aAAa,GAAGb,KAAA,CAAKa,aAAa,CAACJ,IAAI,CAAAT,KAAK,CAAC;IAClDA,KAAA,CAAKc,eAAe,GAAGd,KAAA,CAAKc,eAAe,CAACL,IAAI,CAAAT,KAAK,CAAC;IACtDA,KAAA,CAAKe,eAAe,GAAGf,KAAA,CAAKe,eAAe,CAACN,IAAI,CAAAT,KAAK,CAAC;IACtDA,KAAA,CAAKgB,gBAAgB,GAAGhB,KAAA,CAAKgB,gBAAgB,CAACP,IAAI,CAAAT,KAAK,CAAC;IACxDA,KAAA,CAAKiB,YAAY,GAAGjB,KAAA,CAAKiB,YAAY,CAACR,IAAI,CAAAT,KAAK,CAAC;IAChDA,KAAA,CAAKkB,eAAe,GAAGlB,KAAA,CAAKkB,eAAe,CAACT,IAAI,CAAAT,KAAK,CAAC;IAEtDA,KAAA,CAAKmB,QAAQ,GAAGnB,KAAA,CAAKoB,4BAA4B,CAACrB,KAAK,CAAC;IAAC,OAAAC,KAAA;EAC3D;EAACqB,SAAA,CAAAxB,UAAA,EAAAC,UAAA;EAAA,OAAAwB,YAAA,CAAAzB,UAAA;IAAA0B,GAAA;IAAAC,KAAA,EAED,SAAAC,iBAAiBA,CAAA,EAAG;MAClB,OAAO;QACLD,KAAK,EAAE,IAAI;QACXE,UAAU,EAAE,IAAI;QAChBC,UAAU,EAAE;MACd,CAAC;IACH;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAAI,iBAAiBA,CAAA,EAAG;MAAA,IAAAC,qBAAA;MAClB,CAAAA,qBAAA,OAAI,CAACC,YAAY,CAACC,OAAO,cAAAF,qBAAA,eAAzBA,qBAAA,CAA2BG,MAAM,CAAC,IAAI,CAACb,QAAQ,CAAC;MAEhD,IAAI,CAACc,oBAAoB,CAAC,CAAC;IAC7B;EAAC;IAAAV,GAAA;IAAAC,KAAA,EAED,SAAAU,kBAAkBA,CAACC,SAA6B,EAAEC,SAAgB,EAAQ;MAAA,IAAAC,MAAA;MACxE,IAAAC,WAAA,GAUI,IAAI,CAACvC,KAAK;QATZyB,KAAK,GAAAc,WAAA,CAALd,KAAK;QACLe,MAAM,GAAAD,WAAA,CAANC,MAAM;QACNZ,UAAU,GAAAW,WAAA,CAAVX,UAAU;QACVa,UAAU,GAAAF,WAAA,CAAVE,UAAU;QACVC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;QACRC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;QACRC,mBAAmB,GAAAL,WAAA,CAAnBK,mBAAmB;QACnBC,cAAc,GAAAN,WAAA,CAAdM,cAAc;QAAAC,oBAAA,GAAAP,WAAA,CACb,kBAAkB;QAAGQ,eAAe,GAAAD,oBAAA,cAAG,EAAE,GAAAA,oBAAA;MAG5C,IAAIV,SAAS,CAACX,KAAK,KAAKA,KAAK,EAAE;QAC7B,IAAMuB,YAAY,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAACC,SAAS,CAAC;QAC1D,IACE,OAAO1B,KAAK,KAAK,QAAQ,GACrBA,KAAK,KAAKuB,YAAY,GACtBvB,KAAK,CAACyB,IAAI,CAAC,IAAI,CAACC,SAAS,CAAC,KAAKH,YAAY,EAC/C;UACA,IAAI,CAACd,oBAAoB,CAAC,CAAC;QAC7B;MACF;MAEA,IAAIE,SAAS,CAACK,UAAU,KAAKA,UAAU,IAAIL,SAAS,CAACI,MAAM,CAACY,MAAM,KAAKZ,MAAM,CAACY,MAAM,EAAE;QACpF,IAAI,CAACC,iBAAiB,CAACZ,UAAU,EAAED,MAAM,CAACY,MAAM,CAAC;QAEjD,IAAIX,UAAU,KAAK,KAAK,EAAE;UACxB,IAAI,CAACrB,QAAQ,CAACkC,YAAY,CAAC,kBAAkB,EAAEP,eAAe,CAAC;QACjE;MACF;MAEA,IAAIX,SAAS,CAACR,UAAU,KAAKA,UAAU,IAAIgB,mBAAmB,EAAE;QAC9D,IAAI,CAACW,sBAAsB,CAAC3B,UAAU,CAAC;MACzC;MAEA,IAAIQ,SAAS,CAACM,QAAQ,KAAKA,QAAQ,IAAIN,SAAS,CAACO,QAAQ,KAAKA,QAAQ,EAAE;QACtE,IAAI,IAAI,CAACa,UAAU,EAAE;UACnB,IAAI,CAACpC,QAAQ,CAACkC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC;UACtD,IAAI,CAACG,oBAAoB,CAAC,IAAI,CAACrC,QAAQ,CAAC;QAC1C,CAAC,MAAM;UACL,IAAI,CAACA,QAAQ,CAACkC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC;UACrD,IAAI,CAACI,iBAAiB,CAAC,IAAI,CAACtC,QAAQ,CAAC;QACvC;QAEA,IAAIsB,QAAQ,EAAE;UACZ,IAAI,CAACtB,QAAQ,CAACkC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;QAC9C,CAAC,MAAM;UACL,IAAI,CAAClC,QAAQ,CAACkC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;QAC7C;MACF;MAEA,IAAQ/C,iBAAiB,GAAK,IAAI,CAACoD,KAAK,CAAhCpD,iBAAiB;MAEzB,IAAI8B,SAAS,CAAC9B,iBAAiB,KAAK,CAAC,CAAC,IAAI8B,SAAS,CAAC9B,iBAAiB,KAAKA,iBAAiB,EAAE;QAC3F,IAAIsC,cAAc,EAAE;UAAA,IAAAe,qBAAA;UAClB,IAAMC,KAAK,GAAG,IAAI,CAACZ,SAAS,CAAC,CAAC;UAC9B,IAAMa,QAAQ,GAAGjB,cAAc,EAAAe,qBAAA,GAACC,KAAK,CAACxB,SAAS,CAAC9B,iBAAiB,CAAC,cAAAqD,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAEC,KAAK,CAAC;UAChF,IAAME,gBAAgB,GAAGC,QAAQ,CAACC,cAAc,CAACH,QAAQ,CAAC;UAC1D,IAAMI,SAAS,GAAG,IAAI,CAAC9C,QAAQ,CAAC+C,UAAU,CAACC,IAAI,CAAC/B,SAAS,CAAC9B,iBAAiB,CAAC;UAE5E,IAAI2D,SAAS,YAAYG,oBAAoB,EAAE;YAC7C,IAAIP,QAAQ,KAAK,EAAE,EAAE;cACnBI,SAAS,CAACI,SAAS,GAAG,IAAI,CAACC,cAAc;YAC3C,CAAC,MAAM;cACLL,SAAS,CAACM,YAAY,CAACT,gBAAgB,EAAEG,SAAS,CAACC,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxE;UACF;UAEA,IAAI,CAACK,YAAY,CAACP,SAAS,CAAC;UAE5BQ,UAAU,CAAC,YAAM;YACf,IAAMC,OAAO,GAAGrC,MAAI,CAAClB,QAAQ,CAAC+C,UAAU,CAACC,IAAI,CAAC7D,iBAAiB,CAAC;YAChE,IAAIoE,OAAO,EAAE;cACXrC,MAAI,CAACsC,aAAa,CAACD,OAAO,CAAC;YAC7B;UACF,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACT;QAEA,IAAI,CAAClC,UAAU,EAAE;UACf,IAAI,CAACoC,iBAAiB,CAAC,CAAC;QAC1B;QACA,IAAI,CAACC,qBAAqB,CAAC,CAAC;QAC5B,IAAI,CAACC,OAAO,CAACC,iBAAiB,CAACzE,iBAAiB,CAAC;MACnD;IACF;EAAC;IAAAiB,GAAA;IAAAC,KAAA,EAED,SAAAwD,oBAAoBA,CAAA,EAAG;MACrB,IAAI,CAACxB,oBAAoB,CAAC,IAAI,CAACrC,QAAQ,CAAC;IAC1C;EAAC;IAAAI,GAAA;IAAA0D,GAAA,EAED,SAAAA,IAAA,EAA0B;MACxB,IAAAC,aAAA,GAA+B,IAAI,CAACJ,OAAO;QAAnCrC,QAAQ,GAAAyC,aAAA,CAARzC,QAAQ;QAAEC,QAAQ,GAAAwC,aAAA,CAARxC,QAAQ;MAE1B,OAAOyC,OAAO,CAAC1C,QAAQ,IAAIC,QAAQ,CAAC;IACtC;EAAC;IAAAnB,GAAA;IAAA0D,GAAA,EAED,SAAAA,IAAA,EAAwB;MACtB,IAAQG,GAAG,GAAK,IAAI,CAACN,OAAO,CAApBM,GAAG;MACX,wBAAAC,MAAA,CAAwBD,GAAG;IAC7B;EAAC;IAAA7D,GAAA;IAAA0D,GAAA,EAED,SAAAA,IAAA,EAAmB;MAAA,IAAAK,qBAAA,EAAAC,UAAA,EAAAC,WAAA;MACjB,IAAAC,cAAA,GAA8D,IAAI,CAACX,OAAO;QAAlEvC,MAAM,GAAAkD,cAAA,CAANlD,MAAM;QAAEZ,UAAU,GAAA8D,cAAA,CAAV9D,UAAU;QAAE+D,kBAAkB,GAAAD,cAAA,CAAlBC,kBAAkB;QAAEC,SAAS,GAAAF,cAAA,CAATE,SAAS;MACzD,IAAAC,WAAA,GAA8C,IAAI,CAAClC,KAAK;QAAhDnD,cAAc,GAAAqF,WAAA,CAAdrF,cAAc;QAAED,iBAAiB,GAAAsF,WAAA,CAAjBtF,iBAAiB;MACzC,IAAMuF,gBAAgB,GACpB,IAAI,CAACC,kBAAkB,KAAK,UAAU,GAClCxF,iBAAiB,GACjB,IAAI,CAACwF,kBAAkB,KAAK,OAAO,GACjCvF,cAAc,GACd,CAAC,CAAC;MACV,IAAIwF,SAAgC,GAAGxD,MAAM,CAACZ,UAAU,CAAC;MAEzD,IAAIkE,gBAAgB,KAAK,CAAC,CAAC,EAAE;QAC3BE,SAAS,GAAGxD,MAAM,CAACyD,IAAI,CAAC,UAACC,CAAC;UAAA,OAAK,CAAAA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAEC,SAAS,MAAKL,gBAAgB;QAAA,EAAC;MACnE;MAEA,IAAMM,YAAY,GAChB5D,MAAM,CAACY,MAAM,KAAK,CAAC,IAAI,CAACwC,SAAS,CAAC;MAAA,EAC9B,IAAI,IAAAL,qBAAA,IAAAC,UAAA,GACJQ,SAAS,cAAAR,UAAA,uBAATA,UAAA,CAAWY,YAAY,cAAAb,qBAAA,cAAAA,qBAAA,GACtBI,kBAAkB,KAAK,EAAE,IAAInD,MAAM,CAACY,MAAM,KAAK,CAAC,GAC7CwC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEQ,YAAY,GACvBT,kBAAmB;MAC7B,IAAMU,aAAa,GACjB,GAAAZ,WAAA,GAACO,SAAS,cAAAP,WAAA,eAATA,WAAA,CAAWW,YAAY,MACvBT,kBAAkB,KAAK,EAAE,IAAInD,MAAM,CAACY,MAAM,KAAK,CAAC,GAAG,EAACwC,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEQ,YAAY,IAAG,IAAI,CAAC;MAEtF,OAAO;QACLA,YAAY,EAAZA,YAAY;QACZC,aAAa,EAAbA;MACF,CAAC;IACH;EAAC;IAAA7E,GAAA;IAAAC,KAAA,EAED,SAAAJ,4BAA4BA,CAACrB,KAAyB,EAAE;MACtD,IAAMoB,QAAQ,GAAG4C,QAAQ,CAACsC,aAAa,CAAC,KAAK,CAAC;MAC9ClF,QAAQ,CAACkC,YAAY,CAAC,iBAAiB,EAAEtD,KAAK,CAAC0C,QAAQ,IAAI1C,KAAK,CAAC2C,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;MAC7FvB,QAAQ,CAACkC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;MACxClC,QAAQ,CAACkC,YAAY,CAAC,WAAW,EAAE,UAAU,CAAC;MAE9C,IAAItD,KAAK,CAACuG,EAAE,EAAE;QACZnF,QAAQ,CAACkC,YAAY,CAAC,IAAI,EAAEtD,KAAK,CAACuG,EAAE,CAAC;MACvC;MACA,IAAIvG,KAAK,CAACwG,WAAW,EAAE;QACrBpF,QAAQ,CAACkC,YAAY,CAAC,aAAa,EAAEtD,KAAK,CAACwG,WAAW,CAAC;MACzD;MACA,IAAAC,iBAAA,GAA+BpH,gBAAgB,CAACW,KAAK,CAAC;QAA9C0G,kBAAkB,GAAAD,iBAAA,CAAlBC,kBAAkB;MAC1B,KAAK,IAAMlF,GAAG,IAAIkF,kBAAkB,EAAE;QACpC,IAAMC,QAA4B,GAAI3G,KAAK,CAASwB,GAAG,CAAC;QACxD,IAAImF,QAAQ,EAAE;UACZvF,QAAQ,CAACkC,YAAY,CAAC9B,GAAG,EAAEmF,QAAQ,CAAC;QACtC;MACF;MAEA,IAAI,CAAC3G,KAAK,CAAC0C,QAAQ,EAAE;QACnBtB,QAAQ,CAACkC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;MACxC,CAAC,MAAM;QACLlC,QAAQ,CAACkC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;MACzC;MAEA,IAAI,CAACtD,KAAK,CAAC0C,QAAQ,IAAI,CAAC1C,KAAK,CAAC2C,QAAQ,EAAE;QACtC,IAAI,CAACe,iBAAiB,CAACtC,QAAQ,CAAC;MAClC,CAAC,MAAM;QACLA,QAAQ,CAACwF,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACzF,eAAe,CAACT,IAAI,CAAC,IAAI,CAAC,CAAC;MACvE;MAEA,OAAOU,QAAQ;IACjB;EAAC;IAAAI,GAAA;IAAAC,KAAA,EAED,SAAAS,oBAAoBA,CAAA,EAAG;MACrB,IAAA2E,YAAA,GAAsC,IAAI,CAAC7G,KAAK;QAAxCyB,KAAK,GAAAoF,YAAA,CAALpF,KAAK;QAAEqF,kBAAkB,GAAAD,YAAA,CAAlBC,kBAAkB;MAEjC,IAAIrF,KAAK,KAAK,EAAE,EAAE;QAChB,IAAI,CAACL,QAAQ,CAAC2F,WAAW,GAAG,EAAE;QAC9BD,kBAAkB,CAAC,CAAC,CAAC;MACvB,CAAC,MAAM;QAAA,IAAAE,cAAA;QACL,IAAMC,WAAW,GAAG,IAAI,CAACC,oBAAoB,CAACzF,KAAK,CAAC;QAEpD,CAAAuF,cAAA,OAAI,CAAC5F,QAAQ,EAAC+F,eAAe,CAAAC,KAAA,CAAAJ,cAAA,EAAAK,kBAAA,CAAIJ,WAAW,EAAC;QAE7C,IAAI,CAACnC,qBAAqB,CAAC,CAAC;QAC5B,IAAI,CAACD,iBAAiB,CAAC,CAAC;MAC1B;IACF;EAAC;IAAArD,GAAA;IAAAC,KAAA,EAED,SAAAP,YAAYA,CAAA,EAAS;MAAA,IAAAoG,MAAA;MACnB,IAAI,IAAI,CAACC,gBAAgB,EAAE;QACzBC,YAAY,CAAC,IAAI,CAACD,gBAAgB,CAAC;MACrC;MAEA,IAAI,CAACE,WAAW,GAAG,IAAI;MAEvB,IAAI,CAACF,gBAAgB,GAAGG,MAAM,CAAChD,UAAU,CAAC,YAAM;QAC9C4C,MAAI,CAACG,WAAW,GAAG,KAAK;MAC1B,CAAC,EAAE,EAAE,CAAC;IACR;EAAC;IAAAjG,GAAA;IAAAC,KAAA,EAED,SAAAV,eAAeA,CAAC4G,KAAiB,EAAQ;MACvC,IAAMC,OAAO,GAAGD,KAAK,CAACE,MAAM;MAE5B,IAAID,OAAO,YAAYE,WAAW,EAAE;QAClC;QACA,IAAI,CAACC,kBAAkB,CAAC,mBAAmB,EAAEH,OAAO,CAAC;QAErD,IAAI,CAAChD,aAAa,CAACgD,OAAO,CAAC;MAC7B;IACF;EAAC;IAAApG,GAAA;IAAAC,KAAA,EAED,SAAAT,eAAeA,CAAC2G,KAAiB,EAAQ;MACvC,IAAI,CAAC5B,kBAAkB,GAAG,OAAO;MACjC,IAAM6B,OAAO,GAAGD,KAAK,CAACE,MAAM;MAE5B,IAAID,OAAO,KAAK,IAAI,CAACxG,QAAQ,EAAE;QAC7B,IACE,IAAI,CAAC4G,UAAU,IACdJ,OAAO,YAAYE,WAAW,IAAIF,OAAO,CAACK,YAAY,CAAC,cAAc,CAAC,KAAK,MAAO,EACnF;UACA,IAAI,CAACF,kBAAkB,CAAC,gBAAgB,EAAEH,OAAO,CAAC;QACpD,CAAC,MAAM;UACL,IAAI,CAACM,QAAQ,CAAC;YAAE5H,kBAAkB,EAAE;UAAM,CAAC,CAAC;QAC9C;MACF;IACF;EAAC;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAAR,gBAAgBA,CAAA,EAAS;MACvB,IAAI,IAAI,CAACkH,oBAAoB,EAAE;QAC7BX,YAAY,CAAC,IAAI,CAACW,oBAAoB,CAAC;MACzC;MAEA,IAAI,IAAI,CAACH,UAAU,EAAE;QACnB,IAAI,CAACjC,kBAAkB,GAAG,UAAU;QACpC,IAAMqC,OAAO,GAAG,IAAI,CAACC,oBAAoB,CAAC,CAAC;QAE3C,IAAI,CAACN,kBAAkB,CAAC,mBAAmB,EAAEK,OAAO,EAAE,CAAC,CAAC;QACxD,IAAI,CAACF,QAAQ,CAAC;UAAE1H,cAAc,EAAE,CAAC;QAAE,CAAC,CAAC;MACvC,CAAC,MAAM;QACL,IAAI,CAAC0H,QAAQ,CAAC;UAAE5H,kBAAkB,EAAE;QAAM,CAAC,CAAC;MAC9C;IACF;EAAC;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAAhB,WAAWA,CAACkH,KAAqB,EAAE;MAAA,IAAAW,oBAAA;MACjCX,KAAK,CAACY,cAAc,CAAC,CAAC;MACtB,IAAQC,UAAU,GAAK,IAAI,CAACzD,OAAO,CAA3ByD,UAAU;MAClB,IAAM/G,KAAK,IAAA6G,oBAAA,GAAGX,KAAK,CAACc,aAAa,cAAAH,oBAAA,uBAAnBA,oBAAA,CAAqBI,OAAO,CAAC,YAAY,CAAC;MACxD,IAAMzB,WAAW,GAAGxF,KAAK,GAAG,IAAI,CAACyF,oBAAoB,CAACzF,KAAK,CAAC,GAAG,EAAE;MAEjE,IAAIwF,WAAW,CAAC7D,MAAM,KAAK,CAAC,EAAE;MAE9B,IAAMuF,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;MAEzC,IAAID,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEE,UAAU,IAAIF,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEG,SAAS,EAAE;QACjD,IAAMC,YAAY,GAAGJ,SAAS,CAACI,YAAY;QAC3C,IAAMC,WAAW,GAAGL,SAAS,CAACK,WAAW;QACzC,IAAMC,gBAAgB,GAAGN,SAAS,CAACE,UAAU,CAACK,uBAAuB,CAACP,SAAS,CAACG,SAAS,CAAC;QAC1F,IAAMK,SAAS,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;QAE9C,IAAMC,aAAa,GAAGF,SAAS,KAAK,SAAS,GAAGR,SAAS,CAACE,UAAU,GAAGF,SAAS,CAACG,SAAS;QAC1F,IAAMQ,YAAY,GAAGH,SAAS,KAAK,SAAS,GAAGR,SAAS,CAACG,SAAS,GAAGH,SAAS,CAACE,UAAU;QACzF,IAAMU,UAAU,GAAGJ,SAAS,KAAK,SAAS,GAAGJ,YAAY,GAAGC,WAAW;QACvE,IAAMQ,QAAQ,GAAGL,SAAS,KAAK,SAAS,GAAGH,WAAW,GAAGD,YAAY;QACrE,IAAMF,UAAU,GACdQ,aAAa,YAAYI,IAAI,GAAGJ,aAAa,CAACK,aAAa,GAAGL,aAAa;QAC7E,IAAMP,SAAS,GAAGQ,YAAY,YAAYG,IAAI,GAAGH,YAAY,CAACI,aAAa,GAAGJ,YAAY;QAE1F,IAAIK,QAA0B,GAAG,IAAI;QACrC,IAAIC,QAAuB,GAAG,IAAI;QAElC,IAAIN,YAAY,KAAK,IAAI,CAAClI,QAAQ,EAAE;UAAA,IAAAyI,eAAA,EAAAC,qBAAA;UAClC,CAAAD,eAAA,OAAI,CAACzI,QAAQ,EAAC+F,eAAe,CAAAC,KAAA,CAAAyC,eAAA,EAAAxC,kBAAA,CAAIJ,WAAW,EAAC;UAE7C,IAAM8C,gBAAgB,GAAG9C,WAAW,CAACA,WAAW,CAAC7D,MAAM,GAAG,CAAC,CAAC;UAC5DuG,QAAQ,GAAGI,gBAAgB,CAAC5F,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;UAC9CwF,QAAQ,GAAG,EAAAE,qBAAA,GAACC,gBAAgB,CAAChD,WAAW,cAAA+C,qBAAA,cAAAA,qBAAA,GAAI,EAAE,EAAE1G,MAAM;QACxD,CAAC,MAAM,IACL0F,SAAS,YAAYzE,oBAAoB,IACzCwE,UAAU,YAAYxE,oBAAoB,EAC1C;UAAA,IAAA2F,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA;UACA,IAAMC,MAAM,IAAAL,qBAAA,GAAGnB,UAAU,aAAVA,UAAU,gBAAAoB,sBAAA,GAAVpB,UAAU,CAAE9B,WAAW,cAAAkD,sBAAA,uBAAvBA,sBAAA,CAAyBK,SAAS,CAAC,CAAC,EAAEf,UAAU,CAAC,cAAAS,qBAAA,cAAAA,qBAAA,GAAI,EAAE;UACtE,IAAMO,KAAK,IAAAL,qBAAA,GAAGpB,SAAS,aAATA,SAAS,gBAAAqB,sBAAA,GAATrB,SAAS,CAAE/B,WAAW,cAAAoD,sBAAA,uBAAtBA,sBAAA,CAAwBG,SAAS,CAACd,QAAQ,CAAC,cAAAU,qBAAA,cAAAA,qBAAA,GAAI,EAAE;UAE/D,IAAMM,iBAAiB,GAAGH,MAAM,CAACI,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAGJ,MAAM;UAC5D,IAAMK,gBAAgB,GAAGH,KAAK,CAACE,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,GAAGF,KAAK;UAEzD5B,SAAS,CAACgC,kBAAkB,CAAC,CAAC;UAE9B,IAAI1B,gBAAgB,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC7H,QAAQ,CAACwJ,WAAW,CAAC9B,SAAS,CAAC;UACtC;UAEA,IAAM+B,iBAAiB,GAAG5D,WAAW,CAAC6D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;UACrD,IAAMf,iBAAgB,GAAG9C,WAAW,CAACA,WAAW,CAAC7D,MAAM,GAAG,CAAC,CAAC;UAE5DyF,UAAU,CAAC9B,WAAW,GAAGyD,iBAAiB,KAAAJ,qBAAA,GAAIS,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAE9D,WAAW,cAAAqD,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAC;UAEnFvB,UAAU,CAAC0B,KAAK,CAAAnD,KAAA,CAAhByB,UAAU,EAAAxB,kBAAA,CAAUJ,WAAW,EAAC;UAEhC,IAAI8C,iBAAgB,EAAE;YAAA,IAAAgB,sBAAA,EAAAC,sBAAA;YACpBjB,iBAAgB,CAAChD,WAAW,GAAG,EAAAgE,sBAAA,GAAChB,iBAAgB,CAAChD,WAAW,cAAAgE,sBAAA,cAAAA,sBAAA,GAAI,EAAE,IAAIL,gBAAgB;YACtFf,QAAQ,GAAGI,iBAAgB,CAAC5F,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;YAC9CwF,QAAQ,GAAG,EAAAoB,sBAAA,GAACjB,iBAAgB,CAAChD,WAAW,cAAAiE,sBAAA,cAAAA,sBAAA,GAAI,EAAE,EAAE5H,MAAM;YAEtD,IAAI,CAACqB,YAAY,CAACsF,iBAAgB,CAAC;YACnC,IAAI,CAACnF,aAAa,CAACmF,iBAAgB,CAAC;UACtC,CAAC,MAAM;YAAA,IAAAkB,sBAAA,EAAAC,sBAAA;YACLtB,QAAQ,GAAG,EAAAqB,sBAAA,GAACpC,UAAU,CAAC9B,WAAW,cAAAkE,sBAAA,cAAAA,sBAAA,GAAI,EAAE,EAAE7H,MAAM;YAChDyF,UAAU,CAAC9B,WAAW,GAAG,EAAAmE,sBAAA,GAACrC,UAAU,CAAC9B,WAAW,cAAAmE,sBAAA,cAAAA,sBAAA,GAAI,EAAE,IAAIR,gBAAgB;YAC1Ef,QAAQ,GAAGd,UAAU,CAAC1E,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;YAExC,IAAI,CAACK,YAAY,CAACoE,UAAU,CAAC;YAC7B,IAAI,CAACjE,aAAa,CAACiE,UAAU,CAAC;UAChC;QACF;QAEA,IAAIc,QAAQ,YAAYF,IAAI,EAAE;UAC5B,IAAI,CAAC0B,YAAY,CAACxB,QAAQ,EAAEC,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,CAAC,EAAEA,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,CAAC,CAAC;UACzD,IAAI,CAAC7B,kBAAkB,CAAC,mBAAmB,EAAE4B,QAAQ,CAACyB,UAAU,CAAC;QACnE,CAAC,MAAM;UAAA,IAAAC,SAAA;UACLC,OAAO,CAACC,IAAI,CAAC,sBAAsB,EAAE5B,QAAQ,GAAA0B,SAAA,GAAE1B,QAAQ,cAAA0B,SAAA,uBAARA,SAAA,CAAUD,UAAU,CAAC;QACtE;MACF;MAEA,IAAI,CAACtG,qBAAqB,CAAC,CAAC;MAE5B,IAAI0D,UAAU,CAACgD,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAACzG,OAAO,CAACtC,UAAU,EAAE;QAC3D,IAAI,CAACoC,iBAAiB,CAAC,CAAC;MAC1B;IACF;EAAC;IAAArD,GAAA;IAAAC,KAAA,EAED,SAAAd,YAAYA,CAACgH,KAAY,EAAE;MACzB,IAAME,MAAM,GAAGF,KAAK,CAACE,MAAM;MAC3B,IAAIA,MAAM,YAAY4D,cAAc,IAAI9D,KAAK,YAAY+D,UAAU,EAAE;QAAA,IAAAC,sBAAA;QACnE,IAAMC,KAAK,GAAG,IAAI,CAACxK,QAAQ,CAAC+C,UAAU;QACtC,IAAM0H,SAAS,GAAGD,KAAK,CAACxH,IAAI,CAAC,CAAC,CAAC;QAC/B,IAAM0H,UAAU,GAAGF,KAAK,CAACxH,IAAI,CAAC,CAAC,CAAC;QAChC,IAAMuE,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;QAEzC,IAAIiD,SAAS,YAAYpC,IAAI,EAAE;UAAA,IAAAsC,qBAAA;UAC7B,IAAMC,QAAQ,IAAAD,qBAAA,GAAGF,SAAS,CAAC9E,WAAW,cAAAgF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;UAC5C,IAAME,QAAQ,GAAGjI,QAAQ,CAACsC,aAAa,CAAC,GAAG,CAAC;UAC5C,IAAM4F,IAAI,GAAGlI,QAAQ,CAACC,cAAc,CAAC+H,QAAQ,CAAC;UAC9CC,QAAQ,CAAChK,MAAM,CAACiK,IAAI,CAAC;UACrBL,SAAS,CAACM,WAAW,CAACF,QAAQ,CAAC;UAE/BtD,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEyD,WAAW,CAACH,QAAQ,EAAED,QAAQ,CAAC5I,MAAM,CAAC;QACnD,CAAC,MAAM,IAAI,CAACyI,SAAS,IAAKA,SAAS,YAAYQ,aAAa,IAAIT,KAAK,CAACxI,MAAM,KAAK,CAAE,EAAE;UACnF,IAAI,CAAChC,QAAQ,CAAC2F,WAAW,GAAG,EAAE;UAC9B,IAAI,CAACmB,QAAQ,CAAC;YAAE3H,iBAAiB,EAAE;UAAE,CAAC,CAAC;QACzC,CAAC,MAAM,IAAIsL,SAAS,YAAYxH,oBAAoB,IAAI,GAAAsH,sBAAA,GAACE,SAAS,CAAC9E,WAAW,cAAA4E,sBAAA,eAArBA,sBAAA,CAAuBlB,IAAI,CAAC,CAAC,GAAE;UACtF,IAAImB,KAAK,CAACxI,MAAM,IAAI,CAAC,IAAI0I,UAAU,YAAYO,aAAa,EAAE;YAC5D,IAAI,CAACjL,QAAQ,CAAC2F,WAAW,GAAG,EAAE;YAC9B,IAAI,CAACmB,QAAQ,CAAC;cAAE3H,iBAAiB,EAAE;YAAE,CAAC,CAAC;UACzC;QACF;QAEA,IAAI+L,OAAO,GAAG,EAAE;QAChB,IAAIlE,OAAO,GAAGO,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAS;QAElC,OAAO,EAAAyD,QAAA,GAAAnE,OAAO,cAAAmE,QAAA,uBAAPA,QAAA,CAASnB,UAAU,MAAK,IAAI,CAAChK,QAAQ,IAAIkL,OAAO,GAAG,CAAC,EAAE;UAAA,IAAAC,QAAA,EAAAC,SAAA;UAC3DpE,OAAO,IAAAoE,SAAA,GAAGpE,OAAO,cAAAoE,SAAA,uBAAPA,SAAA,CAASpB,UAAU;UAC7BkB,OAAO,EAAE;QACX;QAEA,IAAIlE,OAAO,YAAY/D,oBAAoB,EAAE;UAAA,IAAAoI,oBAAA,EAAAC,YAAA;UAC3C,IAAMvI,UAAU,GAAGiE,OAAO,CAACjE,UAAU;UACrC,IAAM4C,WAAW,IAAA0F,oBAAA,GAAGrE,OAAO,CAACrB,WAAW,cAAA0F,oBAAA,cAAAA,oBAAA,GAAI,EAAE;UAE7C,IAAItI,UAAU,CAACf,MAAM,GAAG,CAAC,EAAE;YAAA,IAAAuJ,qBAAA;YACzB,IAAMC,MAAM,IAAAD,qBAAA,GAAGxI,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC2C,WAAW,cAAA4F,qBAAA,uBAA9BA,qBAAA,CAAgCvJ,MAAM;YAErDgF,OAAO,CAACrB,WAAW,GAAGA,WAAW;YAEjC,IAAI6F,MAAM,EAAE;cACV,IAAI,CAACzB,YAAY,CAAC/C,OAAO,CAACjE,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC,EAAEwI,MAAM,EAAEA,MAAM,CAAC;YAC/D;UACF;UAEA,IAAI7F,WAAW,CAAC3D,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAMyJ,WAAW,GAAG9F,WAAW,CAAC+F,EAAE,CAAC,CAAC,CAAC;YACrC,IAAMC,UAAU,GAAGhG,WAAW,CAAC+F,EAAE,CAAC/F,WAAW,CAAC3D,MAAM,GAAG,CAAC,CAAC;YAEzD,IACEyJ,WAAW,KAAK,IAAI,CAACG,iBAAiB,CAAC,CAAC,CAACjG,WAAW,IACpDgG,UAAU,KAAK,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAACjG,WAAW,EACnD;cACA,IAAI6F,OAAqB,GAAG,IAAI;cAChC,IAAIC,WAAW,KAAK,IAAI,CAACG,iBAAiB,CAAC,CAAC,CAACjG,WAAW,EAAE;gBACxDqB,OAAO,CAACrB,WAAW,GAAGA,WAAW,CAACuD,SAAS,CAAC,CAAC,CAAC;gBAC9CsC,OAAM,GACJjF,KAAK,CAACsF,SAAS,KAAK,uBAAuB,IAC3CtF,KAAK,CAACsF,SAAS,KAAK,sBAAsB,GACtC,CAAC,GACD7E,OAAO,CAACrB,WAAW,CAAC3D,MAAM;cAClC,CAAC,MAAM,IAAI2J,UAAU,KAAK,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAACjG,WAAW,EAAE;gBAC9DqB,OAAO,CAACrB,WAAW,GAAGA,WAAW,CAACuD,SAAS,CAAC,CAAC,EAAEvD,WAAW,CAAC3D,MAAM,GAAG,CAAC,CAAC;gBACtEwJ,OAAM,GAAGxE,OAAO,CAACrB,WAAW,CAAC3D,MAAM;cACrC;cAEA,IAAIwJ,OAAM,EAAE;gBACV,IAAI,CAACzB,YAAY,CAAC/C,OAAO,CAACjE,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC,EAAEwI,OAAM,EAAEA,OAAM,CAAC;cAC/D;YACF;UACF,CAAC,MAAM,IAAIzI,UAAU,CAACf,MAAM,KAAK,CAAC,IAAIe,UAAU,CAAC,CAAC,CAAC,YAAYkI,aAAa,EAAE;YAC5EjE,OAAO,CAAC9D,SAAS,GAAG,IAAI,CAACC,cAAc;UACzC;UAEA,IAAA2I,cAAA,GAA+B,IAAI,CAACnI,OAAO;YAAnCvC,MAAM,GAAA0K,cAAA,CAAN1K,MAAM;YAAEC,UAAU,GAAAyK,cAAA,CAAVzK,UAAU;UAC1B,IAAM0K,OAAO,GAAG,IAAI,CAAC1I,YAAY,CAAC2D,OAAO,CAAC;UAC1C,IAAI,CAACvD,iBAAiB,CAAC,CAAC;UACxB,IAAI,CAACD,aAAa,CAACwD,OAAO,CAAC;UAE3B,IAAI,CAAC+E,OAAO,IAAI1K,UAAU,EAAE;YAC1B,IAAI,CAACsF,kBAAkB,CAAC,mBAAmB,EAAEK,OAAO,EAAE,CAAC,CAAC;UAC1D;UAEA,IAAMgF,OAAO,GACX,CAACD,OAAO,IAAKA,OAAO,IAAI3K,MAAM,CAACY,MAAM,KAAK,CAAC,IAAIZ,MAAM,CAAC,CAAC,CAAC,CAAC6K,QAAQ,KAAKjF,OAAQ,GAC1EA,OAAO,GACP,IAAI,CAAChH,QAAQ;UAEnB,IAAIqB,UAAU,IAAI,EAAAiK,YAAA,OAAI,CAACY,MAAM,cAAAZ,YAAA,uBAAXA,YAAA,CAAa1K,OAAO,CAAC2B,KAAK,CAAC4J,QAAQ,CAACC,SAAS,MAAKJ,OAAO,EAAE;YAC3E,IAAI,IAAI,CAACK,yBAAyB,CAACL,OAAO,CAAC,EAAE;cAAA,IAAAM,qBAAA;cAC3C,CAAAA,qBAAA,OAAI,CAACC,gBAAgB,cAAAD,qBAAA,eAArBA,qBAAA,CAAAE,IAAA,KAAI,EAAoBR,OAAO,CAAC;YAClC,CAAC,MAAM;cACL,IAAI,CAAClF,QAAQ,CAAC;gBAAE5H,kBAAkB,EAAE;cAAM,CAAC,CAAC;YAC9C;UACF;QACF,CAAC,MAAM,IAAI8H,OAAO,KAAK,IAAI,EAAE;UAAA,IAAAyF,sBAAA;UAC3B,CAAAA,sBAAA,OAAI,CAACF,gBAAgB,cAAAE,sBAAA,eAArBA,sBAAA,CAAAD,IAAA,KAAI,EAAoB,IAAI,CAACxM,QAAQ,CAAC;UAEtC,IAAI,CAAAuH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAS,MAAK,IAAI,CAAC1H,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAAC+C,UAAU,CAACf,MAAM,GAAG,CAAC,EAAE;YACjF,IAAM0K,SAAS,GAAGnF,SAAS,CAACK,WAAW;YACvC,IAAM+E,cAAc,GAAG,IAAI,CAAC3M,QAAQ,CAAC+C,UAAU,CAACC,IAAI,CAAC0J,SAAS,GAAG,CAAC,CAAC;YACnE,IAAME,OAAO,GAAG,IAAI,CAAC5M,QAAQ,CAAC+C,UAAU,CAACC,IAAI,CAAC0J,SAAS,CAAC;YAExD,IAAI,CAAC1M,QAAQ,CAACwJ,WAAW,CAACoD,OAAO,CAAC;YAElC,IAAID,cAAc,YAAY1J,oBAAoB,EAAE;cAClD0J,cAAc,CAACzJ,SAAS,GAAG,IAAI,CAACC,cAAc;YAChD;YAEA,IAAIwJ,cAAc,EAAE;cAClB,IAAI,CAAC5C,YAAY,CAAC4C,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YACzC;UACF,CAAC,MAAM;YACL,IAAI,CAAC5C,YAAY,CAAC,IAAI,CAAC/J,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;UACxC;QACF;QAEA,IAAI,CAAC0D,qBAAqB,CAAC,CAAC;MAC9B;IACF;EAAC;IAAAtD,GAAA;IAAAC,KAAA,EAED,SAAAb,WAAWA,CAAA,EAAG;MACZ,IAAI,CAACoH,UAAU,GAAG,IAAI;MACtB,IAAI,CAACjC,kBAAkB,GAAG,UAAU;MAEpC,IAAI,IAAI,CAAChB,OAAO,CAACtC,UAAU,EAAE;QAC3B,IAAI,CAACwL,4BAA4B,CAAC,GAAG,CAAC;MACxC,CAAC,MAAM;QACL,IAAI,CAAClG,kBAAkB,CAAC,mBAAmB,EAAE,IAAI,CAAC3G,QAAQ,CAAC;MAC7D;IACF;EAAC;IAAAI,GAAA;IAAAC,KAAA,EAED,SAAAZ,UAAUA,CAAC8G,KAAY,EAAE;MAAA,IAAAuG,MAAA;MACvB,IAAI,CAAClG,UAAU,GAAG,KAAK;MACvB,IAAI,CAACE,QAAQ,CAAC;QAAE5H,kBAAkB,EAAE;MAAM,CAAC,CAAC;MAE5C,IAAA6N,cAAA,GAAsC,IAAI,CAACpJ,OAAO;QAA1CyD,UAAU,GAAA2F,cAAA,CAAV3F,UAAU;QAAE4F,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAE3M,KAAK,GAAA0M,cAAA,CAAL1M,KAAK;MAEjC,IAAI+G,UAAU,CAACgD,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC/B,IAAI,CAAC3G,iBAAiB,CAAC,CAAC;MAC1B;MAEA,IAAMwJ,aAAa,GACjB,OAAO5M,KAAK,KAAK,QAAQ,GAAG,IAAI,CAACwB,SAAS,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAACC,SAAS,CAAC,GAAG,IAAI,CAACF,SAAS,CAAC,CAAC;MAEtFmL,MAAM,CAACC,aAAa,EAAO1G,KAAK,CAAC;MAEjCjD,UAAU,CAAC,YAAM;QACfwJ,MAAI,CAAChG,QAAQ,CAAC;UAAE3H,iBAAiB,EAAE,CAAC;QAAE,CAAC,CAAC;MAC1C,CAAC,EAAE,GAAG,CAAC;IACT;EAAC;IAAAiB,GAAA;IAAAC,KAAA,EAED,SAAAX,aAAaA,CAAC6G,KAAoB,EAAE;MAAA,IAAA2G,MAAA;MAClC,IAAI,CAACvI,kBAAkB,GAAG,UAAU;MACpC,IAAQwI,eAAe,GAAK,IAAI,CAACxJ,OAAO,CAAhCwJ,eAAe;MAEvB,IAAMC,WAAW,GAAG,IAAI,CAACnG,oBAAoB,CAAC,CAAC;MAE/C,IAAIV,KAAK,CAACnG,GAAG,KAAK,OAAO,IAAI+M,eAAe,aAAfA,eAAe,eAAfA,eAAe,CAAE/C,QAAQ,CAAC7D,KAAK,CAACnG,GAAG,CAAC,EAAE;QACjE,IAAIgN,WAAW,KAAK,IAAI,CAACpN,QAAQ,EAAE;UACjCuG,KAAK,CAACY,cAAc,CAAC,CAAC;QACxB;QACA,IAAIiG,WAAW,YAAYnK,oBAAoB,EAAE;UAAA,IAAAoK,qBAAA;UAC/C,IAAMC,eAAe,IAAAD,qBAAA,GAAGD,WAAW,CAACzH,WAAW,cAAA0H,qBAAA,uBAAvBA,qBAAA,CAAyBhE,IAAI,CAAC,CAAC;UAEvD,IAAI,CAACiE,eAAe,EAAE;YACpB/G,KAAK,CAACY,cAAc,CAAC,CAAC;UACxB,CAAC,MAAM;YAAA,IAAAoG,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,gBAAA;YACLnH,KAAK,CAACY,cAAc,CAAC,CAAC;YACtB,IAAMI,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;YACzC,IAAMmG,aAAa,GACjB,CAAApG,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAS,aAAYW,IAAI,GAChCd,SAAS,CAACG,SAAS,GACnBH,SAAS,aAATA,SAAS,gBAAAgG,oBAAA,GAAThG,SAAS,CAAEG,SAAS,cAAA6F,oBAAA,uBAApBA,oBAAA,CAAsBxK,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;YAC9C,IAAM4K,eAAe,GAAGrG,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,WAAW;YAE9C,IAAIiG,WAAW,GAAG,EAAE;YAEpB,IACEF,aAAa,YAAYtF,IAAI,IAC7BuF,eAAe,KAAKE,SAAS,IAC7BF,eAAe,OAAAJ,qBAAA,GAAKG,aAAa,CAAChI,WAAW,cAAA6H,qBAAA,uBAAzBA,qBAAA,CAA2BxL,MAAM,GACrD;cAAA,IAAA+L,sBAAA,EAAAC,sBAAA;cACAH,WAAW,IAAAE,sBAAA,IAAAC,sBAAA,GACTL,aAAa,CAAChI,WAAW,cAAAqI,sBAAA,uBAAzBA,sBAAA,CAA2B9E,SAAS,CAAC0E,eAAe,CAAC,cAAAG,sBAAA,cAAAA,sBAAA,GAAI,IAAI,CAAC5K,cAAc;cAE9E,IAAIwK,aAAa,CAAChI,WAAW,EAAE;gBAC7BgI,aAAa,CAAChI,WAAW,GAAGgI,aAAa,CAAChI,WAAW,CAACuD,SAAS,CAAC,CAAC,EAAE0E,eAAe,CAAC;cACrF;YACF;YAEA,IAAI,EAAAH,sBAAA,GAAAL,WAAW,CAACzH,WAAW,cAAA8H,sBAAA,uBAAvBA,sBAAA,CAAyBpE,IAAI,CAAC,CAAC,MAAK,EAAE,EAAE;cAC1C+D,WAAW,CAAClK,SAAS,GAAG,IAAI,CAACC,cAAc;YAC7C;YAEA,IAAM8K,GAAG,GAAGrL,QAAQ,CAACsC,aAAa,CAAC,GAAG,CAAC;YACvC,IAAI2I,WAAW,EAAE;cACfI,GAAG,CAACtI,WAAW,GAAGkI,WAAW;YAC/B,CAAC,MAAM;cACLI,GAAG,CAAC/K,SAAS,GAAG,IAAI,CAACC,cAAc;YACrC;YACAiK,WAAW,CAACjE,KAAK,CAAC8E,GAAG,CAAC;YAEtB,IAAI,CAAClE,YAAY,CAACkE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAE5B,IAAI,CAAC5K,YAAY,CAAC+J,WAAW,CAAC;YAC9B,IAAI,CAAC/J,YAAY,CAAC4K,GAAG,CAAC;YACtB,IAAIb,WAAW,CAACc,eAAe,EAAE;cAC/B,IAAI,CAAC7K,YAAY,CAAC+J,WAAW,CAACc,eAAe,CAAC;YAChD;YACA,IAAI,CAAC1K,aAAa,CAACyK,GAAG,CAAC;YAEvB,IAAI,EAAAP,gBAAA,GAAAO,GAAG,CAACtI,WAAW,cAAA+H,gBAAA,uBAAfA,gBAAA,CAAiBrE,IAAI,CAAC,CAAC,MAAK,EAAE,EAAE;cAClC,IAAI,CAAC3F,qBAAqB,CAAC,CAAC;YAC9B;YAEAJ,UAAU,CAAC,YAAM;cACf4J,MAAI,CAACzJ,iBAAiB,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC,CAAC;YAEL,IAAI,CAACoJ,4BAA4B,CAAC,CAAC,CAAC;UACtC;QACF;MACF,CAAC,MAAM,IACLtG,KAAK,CAACnG,GAAG,KAAK,WAAW,IACzBmG,KAAK,CAACnG,GAAG,KAAK,SAAS,IACvBmG,KAAK,CAACnG,GAAG,KAAK,WAAW,IACzBmG,KAAK,CAACnG,GAAG,KAAK,YAAY,EAC1B;QACA,IAAIgN,WAAW,YAAYnK,oBAAoB,EAAE;UAC/C,IAAI,CAACkL,oBAAoB,CAACf,WAAW,EAAE7G,KAAK,CAAC;QAC/C;QACA,IAAI,CAACsG,4BAA4B,CAAC,GAAG,CAAC;MACxC,CAAC,MAAM,IAAI,IAAI,CAACuB,WAAW,CAAC7H,KAAK,CAAC,IAAI6G,WAAW,YAAYnK,oBAAoB,EAAE;QAAA,IAAAoL,sBAAA;QACjF,IAAI,EAAAA,sBAAA,GAAAjB,WAAW,CAACzH,WAAW,cAAA0I,sBAAA,uBAAvBA,sBAAA,CAAyBhF,IAAI,CAAC,CAAC,MAAK,EAAE,IAAI,CAAC,IAAI,CAACiF,gBAAgB,CAAC,CAAC,EAAE;UACtE;UACA,IAAMC,QAAQ,GAAGnB,WAAW,CAACc,eAAe;UAC5C,IAAIK,QAAQ,YAAYtL,oBAAoB,EAAE;YAAA,IAAAuL,qBAAA;YAC5CjI,KAAK,CAACY,cAAc,CAAC,CAAC;YACtB,IAAI,CAACnH,QAAQ,CAACwJ,WAAW,CAAC4D,WAAW,CAAC;YACtC,IAAI,CAACP,4BAA4B,CAAC,CAAC,CAAC;YAEpC,IACE,EAAA2B,qBAAA,GAAAD,QAAQ,CAAC5I,WAAW,cAAA6I,qBAAA,uBAApBA,qBAAA,CAAsBnF,IAAI,CAAC,CAAC,MAAK,EAAE,IACnCkF,QAAQ,CAACL,eAAe,KAAK,IAAI,IACjC,IAAI,CAAClO,QAAQ,CAAC+C,UAAU,CAACf,MAAM,KAAK,CAAC,EACrC;cACA,IAAI,CAAChC,QAAQ,CAAC2F,WAAW,GAAG,EAAE;cAC9B,IAAI,CAACoE,YAAY,CAAC,IAAI,CAAC/J,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC,MAAM;cACL,IAAIuO,QAAQ,YAAYtL,oBAAoB,EAAE;gBAAA,IAAAwL,qBAAA,EAAAC,iBAAA;gBAC5C,IAAM5D,IAAI,GAAGyD,QAAQ,CAACxL,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;gBACxC,IAAMwI,MAAM,IAAAiD,qBAAA,IAAAC,iBAAA,GAAG5D,IAAI,CAACnF,WAAW,cAAA+I,iBAAA,uBAAhBA,iBAAA,CAAkB1M,MAAM,cAAAyM,qBAAA,cAAAA,qBAAA,GAAI,CAAC;gBAC5C,IAAI,CAAC1E,YAAY,CAACe,IAAI,EAAEU,MAAM,EAAEA,MAAM,CAAC;cACzC,CAAC,MAAM;gBACLtB,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAEoE,QAAQ,CAAC;cACnD;YACF;YAEAjL,UAAU,CAAC,YAAM;cACf4J,MAAI,CAACzJ,iBAAiB,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC,CAAC;YAEL,IAAI,CAACoJ,4BAA4B,CAAC,CAAC,CAAC;UACtC;QACF,CAAC,MAAM,IAAI,IAAI,CAACyB,gBAAgB,CAAC,CAAC,EAAE;UAAA,IAAAK,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA;UAClC,IAAMvH,UAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;UAEzC,IAAMO,SAAS,GAAG,IAAI,CAACC,qBAAqB,CAAC,CAAC;UAC9C,IAAMC,aAAa,GACjBF,SAAS,KAAK,UAAU,GAAGR,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEG,SAAS,GAAGH,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEE,UAAU;UACzE,IAAMS,YAAY,GAChBH,SAAS,KAAK,UAAU,GAAGR,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEE,UAAU,GAAGF,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEG,SAAS;UACzE,IAAMC,YAAY,GAChBI,SAAS,KAAK,UAAU,GAAGR,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEK,WAAW,GAAGL,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEI,YAAY;UAC7E,IAAMC,WAAW,GACfG,SAAS,KAAK,UAAU,GAAGR,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEI,YAAY,GAAGJ,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAEK,WAAW;;UAE7E;UACA,IACEK,aAAa,KAAKC,YAAY,IAC9BP,YAAY,KAAK,CAAC,KAChBO,YAAY,KAAKkF,WAAW,IAAIxF,WAAW,KAAK,CAAC,IACjDA,WAAW,OAAA+G,sBAAA,GAAKvB,WAAW,CAACzH,WAAW,cAAAgJ,sBAAA,uBAAvBA,sBAAA,CAAyB3M,MAAM,EAAC,EAClD;YACAuE,KAAK,CAACY,cAAc,CAAC,CAAC;YAEtB,IAAM4H,eAAe,GAAG9G,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEK,aAAa;YACpD,IAAM0G,cAAc,GAAG9G,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEI,aAAa;YAClD,IAAMvF,UAAU,GAAG,IAAI,CAAC/C,QAAQ,CAAC+C,UAAU;YAC3C,IACEgM,eAAe,KAAKhM,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC,IACtCgM,cAAc,KAAKjM,UAAU,CAACC,IAAI,CAACD,UAAU,CAACf,MAAM,GAAG,CAAC,CAAC,EACzD;cACA,IAAI,CAAChC,QAAQ,CAAC2F,WAAW,GAAG,EAAE;cAC9B,IAAI,CAACoE,YAAY,CAAC,IAAI,CAAC/J,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC,MAAM;cACLoN,WAAW,CAAClK,SAAS,GAAG,IAAI,CAACC,cAAc;cAC3C,IAAI,CAACE,YAAY,CAAC+J,WAAW,CAAC;YAChC;YAEA,IAAI,CAAC5J,aAAa,CAAC4J,WAAW,CAAC;YAC/B,IAAI,CAAC1J,qBAAqB,CAAC,CAAC;YAE5BJ,UAAU,CAAC,YAAM;cACf4J,MAAI,CAACzJ,iBAAiB,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC,CAAC;YAEL,IAAI,CAACoJ,4BAA4B,CAAC,CAAC,CAAC;UACtC,CAAC,MAAM,IACL3E,YAAY,KAAKD,aAAa,IAC9BC,YAAY,YAAYG,IAAI,IAC5BJ,aAAa,YAAYI,IAAI,IAC7B,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEvC,WAAW,OAAKuC,YAAY,aAAZA,YAAY,gBAAA0G,qBAAA,GAAZ1G,YAAY,CAAE8B,UAAU,cAAA4E,qBAAA,uBAAxBA,qBAAA,CAA0BjJ,WAAW,KACnE,CAAAsC,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEtC,WAAW,OAAKsC,aAAa,aAAbA,aAAa,gBAAA4G,qBAAA,GAAb5G,aAAa,CAAE+B,UAAU,cAAA6E,qBAAA,uBAAzBA,qBAAA,CAA2BlJ,WAAW,KACrEgC,YAAY,KAAK,CAAC,IAClBC,WAAW,MAAKM,YAAY,aAAZA,YAAY,gBAAA4G,sBAAA,GAAZ5G,YAAY,CAAE8B,UAAU,cAAA8E,sBAAA,gBAAAA,sBAAA,GAAxBA,sBAAA,CAA0BnJ,WAAW,cAAAmJ,sBAAA,uBAArCA,sBAAA,CAAuC9M,MAAM,GAC7D;YAAE;YACFuE,KAAK,CAACY,cAAc,CAAC,CAAC;YAEtB,IAAM8H,UAAU,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACnP,QAAQ,CAACoP,QAAQ,CAAC;YACrD,IAAML,gBAAe,GAAG9G,aAAa,CAACK,aAAa;YACnD,IAAM0G,eAAc,GAAG9G,YAAY,CAACI,aAAa;YACjD,IAAMvF,WAAU,GAAG,IAAI,CAAC/C,QAAQ,CAAC+C,UAAU;YAE3C,IACEgM,gBAAe,KAAKhM,WAAU,CAACC,IAAI,CAAC,CAAC,CAAC,IACtCgM,eAAc,KAAKjM,WAAU,CAACC,IAAI,CAACD,WAAU,CAACf,MAAM,GAAG,CAAC,CAAC,EACzD;cACA,IAAI,CAAChC,QAAQ,CAAC2F,WAAW,GAAG,EAAE;cAC9B,IAAI,CAACoE,YAAY,CAAC,IAAI,CAAC/J,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACxC,CAAC,MAAM;cACL,IAAIqP,UAAU,GAAG,KAAK;cAAC,IAAAC,SAAA,GAAAC,0BAAA,CAECN,UAAU;gBAAAO,KAAA;cAAA;gBAAlC,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAoC;kBAAA,IAAzB7M,SAAS,GAAA0M,KAAA,CAAAnP,KAAA;kBAClB,IAAIyC,SAAS,KAAKiM,gBAAe,IAAIM,UAAU,EAAE;oBAC/CA,UAAU,GAAG,IAAI;oBAEjB,IAAIvM,SAAS,KAAKkM,eAAc,EAAE;sBAChCA,eAAc,CAAC9L,SAAS,GAAG,IAAI,CAACC,cAAc;sBAC9C,IAAI,CAAC4G,YAAY,CAACiF,eAAc,EAAE,CAAC,EAAE,CAAC,CAAC;sBACvC;oBACF,CAAC,MAAM;sBACL,IAAI,CAAChP,QAAQ,CAACwJ,WAAW,CAAC1G,SAAS,CAAC;oBACtC;kBACF;gBACF;cAAC,SAAA8M,GAAA;gBAAAN,SAAA,CAAAxK,CAAA,CAAA8K,GAAA;cAAA;gBAAAN,SAAA,CAAAO,CAAA;cAAA;cAED,IAAI,CAACxM,YAAY,CAAC+J,WAAW,CAAC;YAChC;YAEA,IAAI,CAAC5J,aAAa,CAAC4J,WAAW,CAAC;YAC/B,IAAI,CAAC1J,qBAAqB,CAAC,CAAC;YAE5BJ,UAAU,CAAC,YAAM;cACf4J,MAAI,CAACzJ,iBAAiB,CAAC,CAAC;YAC1B,CAAC,EAAE,CAAC,CAAC;YAEL,IAAI,CAACoJ,4BAA4B,CAAC,CAAC,CAAC;UACtC;QACF;MACF,CAAC,MAAM,IAAItG,KAAK,CAACnG,GAAG,KAAK,GAAG,KAAKmG,KAAK,CAACuJ,OAAO,IAAIvJ,KAAK,CAACwJ,OAAO,CAAC,EAAE;QAChExJ,KAAK,CAACY,cAAc,CAAC,CAAC;MACxB;IACF;EAAC;IAAA/G,GAAA;IAAAC,KAAA,EAED,SAAA2P,MAAMA,CAAA,EAAG;MAAA,IAAAC,IAAA,QAAAtM,OAAA;QAAAuM,KAAA;QAAAC,sBAAA;QAAAC,MAAA;MACP,IAAMC,WAAW,GAkCHlS,GAAG;MAjCjB,IAAAmS,cAAA,GAA+B,IAAI,CAAC3M,OAAO;QAAnC4M,MAAM,GAAAD,cAAA,CAANC,MAAM;QAAElP,UAAU,GAAAiP,cAAA,CAAVjP,UAAU;MAC1B,IAAQnC,kBAAkB,GAAK,IAAI,CAACqD,KAAK,CAAjCrD,kBAAkB;MAE1B,IAAAsR,kBAAA,GAAwC,IAAI,CAACxL,YAAY;QAAjDA,YAAY,GAAAwL,kBAAA,CAAZxL,YAAY;QAAEC,aAAa,GAAAuL,kBAAA,CAAbvL,aAAa;MACnC,IAAMwL,mBAAmB,GACvBpP,UAAU,IAAInC,kBAAkB,IAAI8E,OAAO,CAACgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC5C,UAAU;MAE/E,IAAAsO,kBAAA,GAA2BzS,gBAAgB,CAAC,IAAI,CAAC0F,OAAO,CAAC;QAAjDgN,cAAc,GAAAD,kBAAA,CAAdC,cAAc;MAEtB,OAAAT,KAAA,GAAOnS,OAAO,CAACwS,MAAM,CAAC,eACpBjS,KAAA,CAAA4G,aAAA,CAAA5G,KAAA,CAAAsS,QAAA,qBACEtS,KAAA,CAAA4G,aAAA,CAAC9G,OAAO,EAAA8R,KAAA,CAAAW,EAAA;QAAA,eACM,MAAM;QAAA,aACP5L,aAAa,GAAG,aAAa,GAAG,OAAO;QAAA,WACzCwL,mBAAmB;QAAA,SACtB,SAAS;QAAA,UACPxL,aAAa,GAAG6I,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QAAA,mBAC1B;UACfgD,QAAQ,GAAAX,sBAAA,GAAE,IAAI,CAACxP,YAAY,CAACC,OAAO,cAAAuP,sBAAA,cAAAA,sBAAA,GAAIrC,SAAS;UAChDiD,MAAM,EAAE;QACV;MAAC,IAEA,UAAAC,KAAA,EAA4B;QAAA,IAAzB9E,MAAM,GAAA8E,KAAA,CAAN9E,MAAM;UAAE+E,UAAU,GAAAD,KAAA,CAAVC,UAAU;QACpB,IAAI,CAACb,MAAI,CAAClE,MAAM,EAAE;UAChBkE,MAAI,CAAC7D,gBAAgB,GAAG0E,UAAU;UAClC;UACAb,MAAI,CAAClE,MAAM,GAAGA,MAAM;QACtB;QAEA,oBAAO5N,KAAA,CAAA4G,aAAA,CAAC9G,OAAO,CAAC8S,MAAM;UAAC/L,EAAE,EAAEiL,MAAI,CAACe;QAAkB,GAAEnM,YAA6B,CAAC;MACpF,CACO,CAAC,eACV1G,KAAA,CAAA4G,aAAA,CAACmL,WAAW,EAAAH,KAAA,CAAAW,EAAA,gBAAAO,aAAA,KAAAC,YAAA;QAAA,OAEL,IAAI,CAAC1Q,YAAY;QAAA,mBACL,QAAQ,EAAE,OAAO,EAAAuD,MAAA,CAAA+B,kBAAA,CAAK0K,cAAc;MAAA,GAAAV,IAAA,GACtD,CACD,CAAC;IAEP;EAAC;IAAA7P,GAAA;IAAAC,KAAA,EAED,SAAQyF,oBAAoBA,CAACzF,KAAwB,EAA0B;MAAA,IAAAiR,qBAAA;QAAAC,qBAAA;QAAAC,qBAAA;QAAAC,MAAA;MAC7E,IAAM5L,WAAmC,GAAG,EAAE;MAC9C,IAAQ6L,UAAU,GAAK,IAAI,CAAC/N,OAAO,CAA3B+N,UAAU;MAClB,IAAMjQ,cAAc,IAAA6P,qBAAA,GAClBI,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEjQ,cAAc,cAAA6P,qBAAA,cAAAA,qBAAA,GACzB,UAACK,IAAY,EAAK;QACjB,IAAMC,WAAW,GAAGD,IAAI,CAACtI,IAAI,CAAC,CAAC;QAC/B,OAAOuI,WAAW,KAAK,EAAE,GAAGD,IAAI,GAAGC,WAAW;MAChD,CAAE;MACJ,IAAMC,cAAc,IAAAN,qBAAA,GAAGG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEG,cAAc,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAACM,cAAc;MACxE,IAAM9P,SAAS,IAAAyP,qBAAA,GAAGE,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE3P,SAAS,cAAAyP,qBAAA,cAAAA,qBAAA,GAAI,IAAI,CAACzP,SAAS;MACzD,IAAMU,KAAe,GAAGyM,KAAK,CAAC4C,OAAO,CAACzR,KAAK,CAAC,GAAGA,KAAK,GAAGA,KAAK,CAAC0R,KAAK,CAAChQ,SAAS,CAAC;MAE7EU,KAAK,CAACuP,OAAO,CAAC,UAACL,IAAI,EAAEM,KAAK,EAAK;QAC7B,IAAMC,YAAY,GAAGzQ,cAAc,CAACkQ,IAAI,EAAEM,KAAK,EAAExP,KAAK,CAACT,MAAM,CAAC;QAE9D,IAAKkQ,YAAY,KAAK,EAAE,IAAIL,cAAc,KAAK,KAAK,IAAKK,YAAY,KAAK,EAAE,EAAE;UAC5E,IAAMC,IAAI,GAAGvP,QAAQ,CAACsC,aAAa,CAAC,GAAG,CAAC;UAExC,IAAIgN,YAAY,KAAK,EAAE,EAAE;YACvBC,IAAI,CAACjP,SAAS,GAAGuO,MAAI,CAACtO,cAAc;UACtC,CAAC,MAAM,IAAI+O,YAAY,CAAC7I,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAM+I,eAAe,GAAG,IAAIC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;YAC9CF,IAAI,CAACjP,SAAS,GAAG7E,SAAS,CAACiU,QAAQ,CACjCJ,YAAY,CAACK,OAAO,CAACH,eAAe,EAAEX,MAAI,CAACe,cAAc,CAC3D,CAAC;UACH,CAAC,MAAM;YACLL,IAAI,CAACtR,MAAM,CAAC+B,QAAQ,CAACC,cAAc,CAACqP,YAAY,CAAC,CAAC;UACpD;UAEArM,WAAW,CAAC4M,IAAI,CAACN,IAAI,CAAC;UAEtBV,MAAI,CAACpO,YAAY,CAAC8O,IAAI,CAAC;QACzB;MACF,CAAC,CAAC;MAEF,OAAOtM,WAAW;IACpB;EAAC;IAAAzF,GAAA;IAAAC,KAAA,EAED,SAAQoD,iBAAiBA,CAAA,EAAS;MAChC,IAAMrC,MAAmB,GAAG,EAAE;MAE9B,IAAI,CAACpB,QAAQ,CAAC+C,UAAU,CAACiP,OAAO,CAAC,UAACG,IAAI,EAAEF,KAAK,EAAK;QAChD,IAAIE,IAAI,YAAYlP,oBAAoB,IAAIkP,IAAI,CAACtL,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE;UAAA,IAAA6L,qBAAA;UACxF,IAAM9N,SAAS,GAAG;YAChBI,YAAY,GAAA0N,qBAAA,GAAEP,IAAI,CAACQ,OAAO,CAACC,YAAY,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;YAC7CzG,QAAQ,EAAEkG,IAAI;YACdpN,SAAS,EAAEkN;UACb,CAAC;UACD7Q,MAAM,CAACqR,IAAI,CAAC7N,SAAS,CAAC;QACxB;MACF,CAAC,CAAC;MAEF,IAAI,CAACjB,OAAO,CAACkP,cAAc,CAACzR,MAAM,CAAC;IACrC;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAQqD,qBAAqBA,CAAA,EAAS;MAAA,IAAAoP,MAAA;MACpC,IAAI,IAAI,CAACC,iBAAiB,EAAE;QAC1B3M,YAAY,CAAC,IAAI,CAAC2M,iBAAiB,CAAC;MACtC;MAEA,IAAI,CAACA,iBAAiB,GAAGzM,MAAM,CAAChD,UAAU,CAAC,YAAM;QAC/C,IAAIb,KAAK,GAAG,CAAC;QACb,IAAAuQ,cAAA,GAAiCF,MAAI,CAACnP,OAAO;UAArCsP,QAAQ,GAAAD,cAAA,CAARC,QAAQ;UAAE1S,UAAU,GAAAyS,cAAA,CAAVzS,UAAU;QAE5BuS,MAAI,CAAC9S,QAAQ,CAAC+C,UAAU,CAACiP,OAAO,CAAC,UAACG,IAAI,EAAK;UACzC,IAAIA,IAAI,YAAYlP,oBAAoB,EAAE;YACxCkP,IAAI,CAACQ,OAAO,CAACO,WAAW,GAAG,OAAO;YAElC,IACEf,IAAI,CAACxM,WAAW,KAAKmN,MAAI,CAAClH,iBAAiB,CAAC,CAAC,CAACjG,WAAW,IACzDwM,IAAI,CAACxM,WAAW,KAAK,EAAE,EACvB;cACAlD,KAAK,EAAE;cAEP,IAAIA,KAAK,GAAGwQ,QAAQ,EAAE;gBACpBd,IAAI,CAACQ,OAAO,CAACO,WAAW,GAAG,MAAM;cACnC;YACF;UACF;QACF,CAAC,CAAC;QAEF,IAAI3S,UAAU,KAAKkC,KAAK,EAAE;UACxBqQ,MAAI,CAACnP,OAAO,CAAC+B,kBAAkB,CAACjD,KAAK,CAAC;QACxC;MACF,CAAC,EAAE,GAAG,CAAC;IACT;EAAC;IAAArC,GAAA;IAAAC,KAAA,EAED,SAAQwB,SAASA,CAAA,EAAa;MAC5B,IAAMsR,MAAgB,GAAG,EAAE;MAC3B,IAAI,CAACnT,QAAQ,CAAC+C,UAAU,CAACiP,OAAO,CAAC,UAACG,IAAI,EAAK;QAAA,IAAAiB,iBAAA;QACzC,IAAI,EAAAA,iBAAA,GAAAjB,IAAI,CAACxM,WAAW,cAAAyN,iBAAA,uBAAhBA,iBAAA,CAAkB/J,IAAI,CAAC,CAAC,MAAK,EAAE,EAAE;UACnC8J,MAAM,CAACV,IAAI,CAAC,EAAE,CAAC;QACjB,CAAC,MAAM;UAAA,IAAAY,kBAAA;UACLF,MAAM,CAACV,IAAI,EAAAY,kBAAA,GAAClB,IAAI,CAACxM,WAAW,cAAA0N,kBAAA,cAAAA,kBAAA,GAAI,EAAE,CAAC;QACrC;MACF,CAAC,CAAC;MAEF,OAAOF,MAAM;IACf;EAAC;IAAA/S,GAAA;IAAAC,KAAA,EAED,SAAQgM,yBAAyBA,CAAC8F,IAAiB,EAAW;MAC5D,OACE,IAAI,CAACnS,QAAQ,KAAKmS,IAAI,IAAK,IAAI,CAACnS,QAAQ,KAAKmS,IAAI,IAAInO,OAAO,CAAC,IAAI,CAACL,OAAO,CAACY,kBAAkB,CAAE;IAElG;EAAC;IAAAnE,GAAA;IAAAC,KAAA,EAED,SAAQwM,4BAA4BA,CAACyG,KAAa,EAAE;MAAA,IAAAC,MAAA;MAClD,IAAI,IAAI,CAACC,yBAAyB,EAAE;QAClCpN,YAAY,CAAC,IAAI,CAACoN,yBAAyB,CAAC;MAC9C;MAEA,IAAI,CAAC,IAAI,CAACnN,WAAW,EAAE;QACrB/C,UAAU,CAAC,YAAM;UACf,IAAM0D,OAAO,GAAGuM,MAAI,CAACtM,oBAAoB,CAAC,CAAC;UAE3CsM,MAAI,CAAC5M,kBAAkB,CAAC,mBAAmB,EAAEK,OAAO,EAAEsM,KAAK,CAAC;QAC9D,CAAC,EAAE,CAAC,CAAC;MACP,CAAC,MAAM;QACL,IAAI,CAACE,yBAAyB,GAAGlN,MAAM,CAAChD,UAAU,CAAC,YAAM;UACvDiQ,MAAI,CAAC1G,4BAA4B,CAACyG,KAAK,CAAC;QAC1C,CAAC,EAAE,EAAE,CAAC;MACR;IACF;EAAC;IAAAlT,GAAA;IAAAC,KAAA,EAED,SAAQsG,kBAAkBA,CAACvG,GAAc,EAAEqG,MAAgB,EAAE6M,KAAc,EAAE;MAAA,IAAAG,MAAA;MAC3E,IAAIhN,MAAM,YAAY4D,cAAc,IAAI5D,MAAM,YAAYxD,oBAAoB,EAAE;QAC9E,IAAI,IAAI,CAAC8D,oBAAoB,EAAE;UAC7BX,YAAY,CAAC,IAAI,CAACW,oBAAoB,CAAC;QACzC;QAEA,IAAI,CAACA,oBAAoB,GAAGT,MAAM,CAAChD,UAAU,CAAC,YAAM;UAClD,IAAMoQ,aAAa,GAAGjN,MAAM,KAAKgN,MAAI,CAACzT,QAAQ,GAAGyT,MAAI,CAACxM,oBAAoB,CAAC,CAAC,GAAGR,MAAM;UAErF,IAAI1B,SAAS,GAAG,CAAC,CAAC;UAClB,IAAI4O,YAAY,GAAG,KAAK;UAExB,IAAID,aAAa,YAAYzQ,oBAAoB,EAAE;YACjD0Q,YAAY,GAAGD,aAAa,CAAC7M,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM;YACpE9B,SAAS,GAAGmK,KAAK,CAACC,IAAI,CAACsE,MAAI,CAACzT,QAAQ,CAAC+C,UAAU,CAAC,CAAC6Q,OAAO,CAACF,aAAa,CAAC;UACzE,CAAC,MAAM,IAAIA,aAAa,KAAKD,MAAI,CAACzT,QAAQ,EAAE;YAC1C+E,SAAS,GAAG,CAAC;UACf;UAEA,IAAI2O,aAAa,YAAYhN,WAAW,EAAE;YACxC+M,MAAI,CAAC3M,QAAQ,CACX,UAAC7F,SAAS,EAAK;cACb,IAAM4S,QAAe,GAAG;gBACtB3U,kBAAkB,EAChBuU,MAAI,CAAC7M,UAAU,IAAI5C,OAAO,CAACyP,MAAI,CAAC9P,OAAO,CAACY,kBAAkB,CAAC,GAAG,IAAI,GAAGoP,YAAY;gBACnFvU,cAAc,EAAE6B,SAAS,CAAC7B,cAAc;gBACxCD,iBAAiB,EAAE8B,SAAS,CAAC9B;cAC/B,CAAC;cAED,IAAIsU,MAAI,CAAC7M,UAAU,IAAKxG,GAAG,KAAK,gBAAgB,IAAIuT,YAAa,EAAE;gBACjEE,QAAQ,CAACzT,GAAG,CAAC,GAAG2E,SAAS;cAC3B;cAEA,OAAO8O,QAAQ;YACjB,CAAC,EACD,YAAM;cACJJ,MAAI,CAAC9O,kBAAkB,GAAGvE,GAAG,KAAK,gBAAgB,GAAG,OAAO,GAAG,UAAU;cAEzE,IAAM4L,OAAO,GAAG2H,YAAY,GAAGD,aAAa,GAAGD,MAAI,CAACzT,QAAQ;cAE5D,IAAIyT,MAAI,CAACpH,yBAAyB,CAACL,OAAO,CAAC,EAAE;gBAAA,IAAA8H,qBAAA;gBAC3C,CAAAA,qBAAA,GAAAL,MAAI,CAAClH,gBAAgB,cAAAuH,qBAAA,eAArBA,qBAAA,CAAAtH,IAAA,CAAAiH,MAAI,EAAoBzH,OAAO,CAAC;gBAEhCyH,MAAI,CAACM,WAAW,CAAC,CAAC;cACpB;YACF,CACF,CAAC;UACH;QACF,CAAC,EAAET,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAC;MACjB,CAAC,MAAM;QACL,IAAI,CAACxM,QAAQ,CAAC;UAAE5H,kBAAkB,EAAE;QAAM,CAAC,CAAC;MAC9C;IACF;EAAC;IAAAkB,GAAA;IAAAC,KAAA,EAED,SAAQ4B,iBAAiBA,CAACZ,UAAmB,EAAE2S,YAAoB,EAAQ;MACzE,IAAI3S,UAAU,IAAI2S,YAAY,GAAG,CAAC,EAAE;QAClC,IAAI,CAAChU,QAAQ,CAACkC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAACiP,iBAAiB,CAAC;QACtE,IAAI,CAACnR,QAAQ,CAACkC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;MACpD,CAAC,MAAM;QACL,IAAI,CAAClC,QAAQ,CAACiU,eAAe,CAAC,cAAc,CAAC;QAC7C,IAAI,CAACjU,QAAQ,CAACiU,eAAe,CAAC,kBAAkB,CAAC;MACnD;IACF;EAAC;IAAA7T,GAAA;IAAAC,KAAA,EAED,SAAQ8B,sBAAsBA,CAAC3B,UAAkB,EAAQ;MAAA,IAAA0T,eAAA;QAAAC,MAAA;MACvD,IAAMC,KAA4B,GAAG,IAAI,CAACzQ,OAAO,CAACvC,MAAM,CAACZ,UAAU,CAAC;MACpE,IAAMuC,UAAU,GAAG,IAAI,CAAC/C,QAAQ,CAAC+C,UAAU;MAE3C,IAAMoP,IAAI,GAAGiC,KAAK,IAAAF,eAAA,GAAGE,KAAK,CAACnI,QAAQ,cAAAiI,eAAA,cAAAA,eAAA,GAAInR,UAAU,CAACC,IAAI,CAACoR,KAAK,CAACrP,SAAS,CAAC,GAAG,IAAI;MAC9E,IAAMwC,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;MAEzC,IAAID,SAAS,IAAI4K,IAAI,YAAYlP,oBAAoB,EAAE;QACrD,IAAI,CAAC6D,QAAQ,CAAC;UAAE5H,kBAAkB,EAAE;QAAM,CAAC,CAAC;QAE5CoE,UAAU,CAAC,YAAM;UACf,IAAMwH,IAAI,GAAGqH,IAAI,CAACpP,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;UACpC,IAAI8H,IAAI,YAAYzC,IAAI,EAAE;YACxB8L,MAAI,CAACpK,YAAY,CAACe,IAAI,EAAE,CAAC,EAAEA,IAAI,CAAC9I,MAAM,CAAC;UACzC,CAAC,MAAM;YACLmS,MAAI,CAACpK,YAAY,CAACoI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;UAC/B;QACF,CAAC,EAAE,GAAG,CAAC;MACT;IACF;EAAC;IAAA/R,GAAA;IAAAC,KAAA,EAED,SAAQgD,YAAYA,CAAC8O,IAAU,EAAW;MACxC,IAAQkC,cAAc,GAAK,IAAI,CAAC1Q,OAAO,CAA/B0Q,cAAc;MACtB,IAAIA,cAAc,IAAIlC,IAAI,YAAYzL,WAAW,EAAE;QAAA,IAAA4N,kBAAA;QACjD,IAAAC,eAAA,GAAkCF,cAAc,EAAAC,kBAAA,GAACnC,IAAI,CAACxM,WAAW,cAAA2O,kBAAA,cAAAA,kBAAA,GAAI,EAAE,EAAE,IAAI,CAACzS,SAAS,CAAC,CAAC,CAAC;UAAlFkK,OAAO,GAAAwI,eAAA,CAAPxI,OAAO;UAAE/G,YAAY,GAAAuP,eAAA,CAAZvP,YAAY;QAE7B,IAAI,CAAC+G,OAAO,EAAE;UACZoG,IAAI,CAACjQ,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC;UACzCiQ,IAAI,CAACQ,OAAO,CAACC,YAAY,GAAG5N,YAAY;QAC1C,CAAC,MAAM;UACLmN,IAAI,CAAC8B,eAAe,CAAC,cAAc,CAAC;UACpC9B,IAAI,CAACQ,OAAO,CAACC,YAAY,GAAG9E,SAAS;QACvC;QAEA,OAAO/B,OAAO;MAChB;MAEA,OAAO,IAAI;IACb;EAAC;IAAA3L,GAAA;IAAAC,KAAA,EAED,SAAQ0J,YAAYA,CAClBoI,IAAU,EACVqC,KAAa,EACbC,GAAW,EAEL;MAAA,IADNC,UAAgC,GAAAC,SAAA,CAAA3S,MAAA,QAAA2S,SAAA,QAAA7G,SAAA,GAAA6G,SAAA,MAAG,QAAQ;MAE3C,IAAMpN,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;MACzC,IAAMoN,KAAK,GAAGhS,QAAQ,CAACiS,WAAW,CAAC,CAAC;MACpCD,KAAK,CAACE,QAAQ,CAAC3C,IAAI,EAAEqC,KAAK,CAAC;MAC3BI,KAAK,CAACG,MAAM,CAAC5C,IAAI,EAAEsC,GAAG,CAAC;MAEvBlN,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEyN,eAAe,CAAC,CAAC;MAC5BzN,SAAS,aAATA,SAAS,eAATA,SAAS,CAAE0N,QAAQ,CAACL,KAAK,CAAC;MAE1B,IAAMM,YAAY,GAAG/C,IAAI,YAAY9J,IAAI,GAAG8J,IAAI,CAACnI,UAAU,GAAGmI,IAAI;MAElE,IAAI+C,YAAY,YAAYxO,WAAW,EAAE;QACvCwO,YAAY,CAACC,cAAc,CAAC;UAC1BC,KAAK,EAAEV,UAAU;UACjBW,MAAM,EAAEX,UAAU;UAClBY,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;IACF;EAAC;IAAAlV,GAAA;IAAAC,KAAA,EAED,SAAQ4G,oBAAoBA,CAAA,EAAgB;MAC1C,IAAMM,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;MAEzC,IAAMR,OAAO,GACX,CAAAO,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAS,aAAYW,IAAI,GAAGd,SAAS,CAACG,SAAS,CAACsC,UAAU,GAAGzC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAS;MAE9F,OAAOV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,IAAI;IACxB;EAAC;IAAA5G,GAAA;IAAAC,KAAA,EAED,SAAQ8N,oBAAoBA,CAACf,WAAiC,EAAE7G,KAAoB,EAAQ;MAC1F,IAAIgP,QAA0B,GAAG,IAAI;MAErC,QAAQhP,KAAK,CAACnG,GAAG;QACf,KAAK,SAAS;UACZmG,KAAK,CAACY,cAAc,CAAC,CAAC;UACtBoO,QAAQ,GAAGnI,WAAW,CAACc,eAAe;UACtC;QACF,KAAK,WAAW;UACd3H,KAAK,CAACY,cAAc,CAAC,CAAC;UACtBoO,QAAQ,GAAGnI,WAAW,CAACoI,WAAW;UAClC;QACF,KAAK,WAAW;UAAE;YAChB,IAAIpI,WAAW,CAACzH,WAAW,KAAK,IAAI,CAACiG,iBAAiB,CAAC,CAAC,CAACjG,WAAW,EAAE;cACpEY,KAAK,CAACY,cAAc,CAAC,CAAC;cACtBoO,QAAQ,GAAGnI,WAAW,CAACc,eAAe;YACxC;YACA;UACF;QACA,KAAK,YAAY;UAAE;YACjB,IAAId,WAAW,CAACzH,WAAW,KAAK,IAAI,CAACiG,iBAAiB,CAAC,CAAC,CAACjG,WAAW,EAAE;cACpEY,KAAK,CAACY,cAAc,CAAC,CAAC;cACtBoO,QAAQ,GAAGnI,WAAW,CAACoI,WAAW;YACpC;UACF;MACF;MAEA,IAAID,QAAQ,YAAYtS,oBAAoB,EAAE;QAAA,IAAAwS,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA;QAC5C,IAAMpO,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;QACzC,IAAMiD,SAAS,GAAG8K,QAAQ,CAACxS,UAAU,CAACC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAM4S,kBAAkB,GAAGnL,SAAS,YAAYpC,IAAI,GAAGoC,SAAS,GAAG8K,QAAQ;QAC3E,IAAMhN,QAAQ,IAAAkN,qBAAA,IAAAC,sBAAA,GAAGH,QAAQ,CAAC5P,WAAW,cAAA+P,sBAAA,uBAApBA,sBAAA,CAAsBrM,IAAI,CAAC,CAAC,cAAAoM,qBAAA,cAAAA,qBAAA,GAAI,EAAE;QACnD,IAAMI,aAAa,IAAAF,qBAAA,GAAGpO,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,WAAW,cAAA+N,qBAAA,cAAAA,qBAAA,GAAI,CAAC;QACjD,IAAInK,MAAM,GAAGqK,aAAa,IAAItN,QAAQ,CAACvG,MAAM,GAAG6T,aAAa,GAAGtN,QAAQ,CAACvG,MAAM;;QAE/E;QACA,IAAIuE,KAAK,CAACnG,GAAG,KAAK,WAAW,EAAE;UAC7BoL,MAAM,GAAGjD,QAAQ,CAACvG,MAAM;QAC1B,CAAC,MAAM,IAAIuE,KAAK,CAACnG,GAAG,KAAK,YAAY,EAAE;UACrCoL,MAAM,GAAG,CAAC;QACZ;QAEA,IAAI,CAACzB,YAAY,CAAC6L,kBAAkB,EAAEpK,MAAM,EAAEA,MAAM,EAAE,SAAS,CAAC;MAClE;IACF;EAAC;IAAApL,GAAA;IAAAC,KAAA,EAED,SAAQmD,aAAaA,CAACsS,aAAmB,EAAQ;MAC/C,IAAMtV,UAAU,GAAG0O,KAAK,CAACC,IAAI,CAAC,IAAI,CAACnP,QAAQ,CAAC+C,UAAU,CAAC,CACpDgT,MAAM,CAAC,UAAC5D,IAAI,EAAK;QAChB,OAAOA,IAAI,YAAY6D,OAAO,IAAI7D,IAAI,CAACtL,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM;MAChF,CAAC,CAAC,CACDoP,SAAS,CAAC,UAAC9D,IAAI,EAAK;QACnB,OAAOA,IAAI,KAAK2D,aAAa;MAC/B,CAAC,CAAC;MAEJ,IAAI,CAACI,QAAQ,CAAC1V,UAAU,CAACA,UAAU,CAAC;IACtC;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,SAAQ+N,WAAWA,CAAC7H,KAAoB,EAAW;MACjD,OAAOA,KAAK,CAACnG,GAAG,KAAK,WAAW,IAAKmG,KAAK,CAACnG,GAAG,KAAK,GAAG,KAAKmG,KAAK,CAACuJ,OAAO,IAAIvJ,KAAK,CAACwJ,OAAO,CAAE;IAC7F;EAAC;IAAA3P,GAAA;IAAAC,KAAA,EAED,SAAQuL,iBAAiBA,CAAA,EAAG;MAC1B,IAAMpF,OAAO,GAAG5D,QAAQ,CAACsC,aAAa,CAAC,GAAG,CAAC;MAE3CsB,OAAO,CAACtD,SAAS,GAAG,IAAI,CAACC,cAAc;MAEvC,OAAOqD,OAAO;IAChB;EAAC;IAAApG,GAAA;IAAAC,KAAA,EAED,SAAQiC,iBAAiBA,CAACtC,QAAqB,EAAE;MAC/CA,QAAQ,CAACwF,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACnG,WAAW,CAAC;MACpDW,QAAQ,CAACwF,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACjG,YAAY,CAAC;MACrDS,QAAQ,CAACwF,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAChG,WAAW,CAAC;MACpDQ,QAAQ,CAACwF,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC/F,UAAU,CAAC;MAClDO,QAAQ,CAACwF,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC9F,aAAa,CAAC;MACxDM,QAAQ,CAACwF,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC7F,eAAe,CAAC;MAC5DK,QAAQ,CAACwF,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC5F,eAAe,CAAC;MAC5DI,QAAQ,CAACwF,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC3F,gBAAgB,CAAC;MAC9DG,QAAQ,CAACwF,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC1F,YAAY,CAAC;MAEtDE,QAAQ,CAACmW,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACpW,eAAe,CAAC;IAC/D;EAAC;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAQgC,oBAAoBA,CAACrC,QAAqB,EAAE;MAClDA,QAAQ,CAACmW,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC9W,WAAW,CAAC;MACvDW,QAAQ,CAACmW,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC5W,YAAY,CAAC;MACxDS,QAAQ,CAACmW,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC3W,WAAW,CAAC;MACvDQ,QAAQ,CAACmW,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC1W,UAAU,CAAC;MACrDO,QAAQ,CAACmW,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACzW,aAAa,CAAC;MAC3DM,QAAQ,CAACmW,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACxW,eAAe,CAAC;MAC/DK,QAAQ,CAACmW,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACvW,eAAe,CAAC;MAC/DI,QAAQ,CAACmW,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAACtW,gBAAgB,CAAC;MACjEG,QAAQ,CAACmW,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACrW,YAAY,CAAC;MAEzDE,QAAQ,CAACwF,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACzF,eAAe,CAAC;IAC5D;EAAC;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAQN,eAAeA,CAACwG,KAAoB,EAAE;MAC5C,IAAIA,KAAK,CAACnG,GAAG,KAAK,GAAG,KAAKmG,KAAK,CAACwJ,OAAO,IAAIxJ,KAAK,CAACuJ,OAAO,CAAC,EAAE;QACzDvJ,KAAK,CAACY,cAAc,CAAC,CAAC;QAEtB,IAAMgL,IAAI,GAAG5L,KAAK,CAACE,MAAM;QACzB,IAAI0L,IAAI,YAAYzL,WAAW,IAAIyL,IAAI,KAAK,IAAI,CAACnS,QAAQ,EAAE;UACzD,IAAI,CAAC+J,YAAY,CAACoI,IAAI,EAAE,CAAC,EAAEA,IAAI,CAACpP,UAAU,CAACf,MAAM,CAAC;QACpD;MACF;IACF;EAAC;IAAA5B,GAAA;IAAAC,KAAA,EAED,SAAQiO,gBAAgBA,CAAA,EAAY;MAClC,IAAM/G,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;MAEzC,OACE,CAAAD,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEG,SAAS,OAAKH,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,UAAU,KAC9C,CAAAF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEK,WAAW,OAAKL,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,YAAY;IAEtD;EAAC;IAAAvH,GAAA;IAAAC,KAAA,EAED,SAAQ2H,qBAAqBA,CAAA,EAAkC;MAC7D,IAAMT,SAAS,GAAG3E,QAAQ,CAAC4E,YAAY,CAAC,CAAC;MAEzC,IAAID,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEE,UAAU,IAAIF,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEG,SAAS,EAAE;QACjD,IAAMG,gBAAgB,GAAGN,SAAS,CAACE,UAAU,CAACK,uBAAuB,CAACP,SAAS,CAACG,SAAS,CAAC;QAE1F,IACGG,gBAAgB,KAAK,CAAC,IAAIN,SAAS,CAACI,YAAY,GAAGJ,SAAS,CAACK,WAAW;QAAK;QAC9EC,gBAAgB,KAAKuO,IAAI,CAACC,2BAA2B,EACrD;UACA,OAAO,UAAU;QACnB;QAEA,OAAO,SAAS;MAClB;MAEA,OAAO,IAAI;IACb;EAAC;AAAA,EApsCmDvY,SAAS;AAAAkB,eAAA,CAAzDN,UAAU,iBAMO,UAAU;AAAAM,eAAA,CAN3BN,UAAU,WAOCH,KAAK;AAAAS,eAAA,CAPhBN,UAAU,aASG,CAACR,mBAAmB,CAAC,CAAC,CAAC;AAAAc,eAAA,CATpCN,UAAU,kBAWQ;EACpB4X,YAAY,EAAE,EAAE;EAChBC,IAAI,EAAE,GAAG;EACThU,KAAK,EAAE,QAAQ;EACfiU,OAAO,EAAE,CAAC;EACVC,OAAO,EAAE,EAAE;EACXC,iBAAiB,EAAE,KAAK;EACxBC,iBAAiB,EAAE,CAAC,CAAC;EACrBC,iBAAiB,EAAE;AACrB,CAAC;AAmrCH,SAASlY,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"InputField.js","names":["Component","sstyled","Root","extractAriaProps","uniqueIDEnhancement","Box","Tooltip","DOMPurify","React","style","_sstyled","insert","InputField","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","createRef","visibleErrorPopper","keyboardLineIndex","mouseLineIndex","handlePaste","bind","handleChange","handleFocus","handleBlur","handleKeyDown","handleMouseDown","handleMouseMove","handleMouseLeave","handleScroll","handleSelectAll","textarea","createContentEditableElement","_inherits","_createClass","key","value","uncontrolledProps","linesCount","errorIndex","componentDidMount","_this$containerRef$cu","containerRef","current","append","handleValueOutChange","componentDidUpdate","prevProps","prevState","_this2","_this$props","errors","showErrors","disabled","readonly","highlightErrorIndex","lineProcessing","_this$props$ariaDesc","ariaDescribedby","currentValue","getValues","join","delimiter","length","toggleAriaInvalid","setAttribute","handleChangeErrorIndex","isDisabled","removeEventListeners","addEventListeners","state","_lines$prevState$keyb","lines","newValue","newValueTextNode","document","createTextNode","paragraph","childNodes","item","HTMLParagraphElement","innerHTML","emptyLineValue","replaceChild","validateLine","setTimeout","newNode","setErrorIndex","recalculateErrors","recalculateLinesCount","asProps","onChangeLineIndex","componentWillUnmount","get","_this$asProps","Boolean","uid","concat","_errorItem$errorMessa","_errorItem","_errorItem2","_this$asProps2","commonErrorMessage","prevError","_this$state","currentLineIndex","errorByInteraction","errorItem","find","e","lineIndex","errorMessage","isCommonError","createElement","id","placeholder","_extractAriaProps","extractedAriaProps","ariaProp","addEventListener","_this$props2","onChangeLinesCount","textContent","_this$textarea","listOfNodes","prepareNodesForPaste","replaceChildren","apply","_toConsumableArray","_this3","scrollingTimeout","clearTimeout","isScrolling","window","event","element","target","HTMLElement","toggleErrorsPopper","isFocusing","getAttribute","setState","changeTriggerTimeout","rowNode","getNodeFromSelection","_event$clipboardData","preventDefault","validateOn","clipboardData","getData","selection","getSelection","anchorNode","focusNode","anchorOffset","focusOffset","documentPosition","compareDocumentPosition","direction","getSelectionDirection","anchorElement","focusElement","fromOffset","toOffset","Text","parentElement","textNode","position","_this$textarea2","_lastNodeToInsert$tex","lastNodeToInsert","_anchorNode$textConte","_anchorNode$textConte2","_focusNode$textConten","_focusNode$textConten2","_firstNodeToInsert$te","before","substring","after","noEmptyLineBefore","trim","noEmptyLineAfter","deleteFromDocument","removeChild","firstNodeToInsert","splice","_lastNodeToInsert$tex2","_lastNodeToInsert$tex3","_anchorNode$textConte3","_anchorNode$textConte4","setSelection","parentNode","_textNode","console","warn","includes","HTMLDivElement","InputEvent","_firstNode$textConten2","nodes","firstNode","secondNode","_firstNode$textConten","nodeText","firstRow","text","replaceWith","setPosition","HTMLBRElement","maxDeep","_rowNode","_rowNode2","_rowNode$textContent","_this$popper","_childNodes$item$text","offset","firstSymbol","at","lastSymbol","getEmptyParagraph","inputType","_this$asProps3","isValid","trigger","lineNode","popper","elements","reference","shouldChangePopperTrigger","_this$setPopperTrigge","setPopperTrigger","call","_this$setPopperTrigge2","nodeIndex","emptyParagraph","emptyBr","toggleErrorsPopperByKeyboard","_this4","_this$asProps4","onBlur","valueToChange","_this5","linesDelimiters","currentNode","_currentNode$textCont","currentRowValue","_selection$focusNode","_selectionNode$textCo","_currentNode$textCont2","_row$textContent","selectionNode","selectionOffset","newRowValue","undefined","_selectionNode$textCo2","_selectionNode$textCo3","row","previousSibling","handleCursorMovement","isDeleteKey","_currentNode$textCont3","isRangeSelection","prevNode","_prevNode$textContent","_text$textContent$len","_text$textContent","_currentNode$textCont4","_focusElement$parentN","_anchorElement$parent","_focusElement$parentN2","anchorParagraph","focusParagraph","paragraphs","Array","from","children","isCleaning","_iterator","_createForOfIteratorHelper","_step","s","n","done","err","f","ctrlKey","metaKey","render","_ref","_ref2","_this$containerRef$cu2","_this6","SInputField","_this$asProps5","styles","_this$errorMessage","visibleErrorTooltip","_extractAriaProps2","__excludeProps","Fragment","cn","boundary","tether","_ref3","setTrigger","Popper","popperDescribedId","_objectSpread","_assignProps","_pasteProps$lineProce","_pasteProps$skipEmpty","_pasteProps$delimiter","_this7","pasteProps","line","trimmedLine","skipEmptyLines","isArray","split","forEach","index","preparedLine","node","allSpacesRegExp","RegExp","sanitize","replace","spaceLineValue","push","_node$dataset$errorme","dataset","errormessage","onErrorsChange","_this8","linesCountTimeout","_this8$asProps","maxLines","overMaxRows","values","_node$textContent","_node$textContent2","timer","_this9","toggleErrorsPopperTimeout","_this0","targetElement","isInvalidRow","indexOf","newState","_this0$setPopperTrigg","forceUpdate","errorsLength","removeAttribute","_error$lineNode","_this1","error","lineValidation","_node$textContent3","_lineValidation","start","end","scrollType","arguments","range","createRange","setStart","setEnd","removeAllRanges","addRange","nodeToScroll","scrollIntoView","block","inline","behavior","nextNode","nextSibling","_nextNode$textContent","_nextNode$textContent2","_selection$focusOffse","nodeToSetSelection","currentOffset","nodeToCompare","filter","Element","findIndex","handlers","removeEventListener","Node","DOCUMENT_POSITION_PRECEDING","defaultValue","size","minRows","maxRows","defaultShowErrors","defaultErrorIndex","defaultLinesCount"],"sources":["../../../../src/components/InputField/InputField.tsx"],"sourcesContent":["import { Component, sstyled, Root } from '@semcore/core';\nimport { extractAriaProps } from '@semcore/core/lib/utils/ariaProps';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { Box } from '@semcore/flex-box';\nimport type { PopperContext } from '@semcore/popper';\nimport Tooltip from '@semcore/tooltip';\nimport DOMPurify from 'dompurify';\nimport React from 'react';\n\nimport style from './inputField.shadow.css';\nimport type { InputFieldProps, ErrorItem } from './InputField.types';\n\ntype IndexKeys = 'keyboardLineIndex' | 'mouseLineIndex';\n\ntype State = {\n [key in IndexKeys]: number;\n} & {\n visibleErrorPopper: boolean;\n};\n\nclass InputField<T extends string | string[]> extends Component<\n InputFieldProps<T>,\n {},\n State,\n typeof InputField.enhance\n> {\n static displayName = 'Textarea';\n static style = style;\n\n static enhance = [uniqueIDEnhancement()] as const;\n\n static defaultProps = {\n defaultValue: '',\n size: 'm',\n state: 'normal',\n minRows: 2,\n maxRows: 10,\n defaultShowErrors: false,\n defaultErrorIndex: -1,\n defaultLinesCount: 0,\n };\n\n delimiter = '\\n';\n skipEmptyLines = true;\n emptyLineValue = '&#xfeff;';\n spaceLineValue = '&nbsp;';\n\n containerRef = React.createRef<HTMLDivElement>();\n textarea: HTMLDivElement;\n\n popper: PopperContext['popper'] | null = null;\n setPopperTrigger: PopperContext['setTrigger'] | null = null;\n\n errorByInteraction: 'keyboard' | 'mouse' | null = null;\n\n changeTriggerTimeout = 0;\n isScrolling = false;\n scrollingTimeout = 0;\n\n toggleErrorsPopperTimeout = 0;\n\n isFocusing = false;\n\n linesCountTimeout = 0;\n\n state = {\n visibleErrorPopper: false,\n keyboardLineIndex: -1,\n mouseLineIndex: -1,\n };\n\n constructor(props: InputFieldProps<T>) {\n super(props);\n\n this.handlePaste = this.handlePaste.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handleSelectAll = this.handleSelectAll.bind(this);\n\n this.textarea = this.createContentEditableElement(props);\n }\n\n uncontrolledProps() {\n return {\n value: null,\n linesCount: null,\n errorIndex: null,\n };\n }\n\n componentDidMount() {\n this.containerRef.current?.append(this.textarea);\n\n this.handleValueOutChange();\n }\n\n componentDidUpdate(prevProps: InputFieldProps<T>, prevState: State): void {\n const {\n value,\n errors,\n errorIndex,\n showErrors,\n disabled,\n readonly,\n highlightErrorIndex,\n lineProcessing,\n ['aria-describedby']: ariaDescribedby = '',\n } = this.props;\n\n if (prevProps.value !== value) {\n const currentValue = this.getValues().join(this.delimiter);\n if (\n typeof value === 'string'\n ? value !== currentValue\n : value.join(this.delimiter) !== currentValue\n ) {\n this.handleValueOutChange();\n }\n }\n\n if (prevProps.showErrors !== showErrors || prevProps.errors.length !== errors.length) {\n this.toggleAriaInvalid(showErrors, errors.length);\n\n if (showErrors === false) {\n this.textarea.setAttribute('aria-describedby', ariaDescribedby);\n }\n }\n\n if (prevProps.errorIndex !== errorIndex && highlightErrorIndex) {\n this.handleChangeErrorIndex(errorIndex);\n }\n\n if (prevProps.disabled !== disabled || prevProps.readonly !== readonly) {\n if (this.isDisabled) {\n this.textarea.setAttribute('contenteditable', 'false');\n this.removeEventListeners(this.textarea);\n } else {\n this.textarea.setAttribute('contenteditable', 'true');\n this.addEventListeners(this.textarea);\n }\n\n if (disabled) {\n this.textarea.setAttribute('tabindex', '-1');\n } else {\n this.textarea.setAttribute('tabindex', '0');\n }\n }\n\n const { keyboardLineIndex } = this.state;\n\n if (prevState.keyboardLineIndex !== -1 && prevState.keyboardLineIndex !== keyboardLineIndex) {\n if (lineProcessing) {\n const lines = this.getValues();\n const newValue = lineProcessing(lines[prevState.keyboardLineIndex] ?? '', lines);\n const newValueTextNode = document.createTextNode(newValue);\n const paragraph = this.textarea.childNodes.item(prevState.keyboardLineIndex);\n\n if (paragraph instanceof HTMLParagraphElement) {\n if (newValue === '') {\n paragraph.innerHTML = this.emptyLineValue;\n } else {\n paragraph.replaceChild(newValueTextNode, paragraph.childNodes.item(0));\n }\n }\n\n this.validateLine(paragraph);\n\n setTimeout(() => {\n const newNode = this.textarea.childNodes.item(keyboardLineIndex);\n if (newNode) {\n this.setErrorIndex(newNode);\n }\n }, 0); // need this timeout to update errorIndex to the new (usually empty) line\n }\n\n if (!showErrors) {\n this.recalculateErrors();\n }\n this.recalculateLinesCount();\n this.asProps.onChangeLineIndex(keyboardLineIndex);\n }\n }\n\n componentWillUnmount() {\n this.removeEventListeners(this.textarea);\n }\n\n get isDisabled(): boolean {\n const { disabled, readonly } = this.asProps;\n\n return Boolean(disabled || readonly);\n }\n\n get popperDescribedId() {\n const { uid } = this.asProps;\n return `bulk-textarea-${uid}-popper-describedby`;\n }\n\n get errorMessage() {\n const { errors, errorIndex, commonErrorMessage, prevError } = this.asProps;\n const { mouseLineIndex, keyboardLineIndex } = this.state;\n const currentLineIndex =\n this.errorByInteraction === 'keyboard'\n ? keyboardLineIndex\n : this.errorByInteraction === 'mouse'\n ? mouseLineIndex\n : -1;\n let errorItem: ErrorItem | undefined = errors[errorIndex];\n\n if (currentLineIndex !== -1) {\n errorItem = errors.find((e) => e?.lineIndex === currentLineIndex);\n }\n\n const errorMessage =\n errors.length === 0 && !prevError // show any errors only if there are at least one error\n ? null\n : errorItem?.errorMessage ??\n (commonErrorMessage === '' || errors.length === 0\n ? prevError?.errorMessage\n : commonErrorMessage);\n const isCommonError =\n !errorItem?.errorMessage &&\n (commonErrorMessage === '' || errors.length === 0 ? !prevError?.errorMessage : true);\n\n return {\n errorMessage,\n isCommonError,\n };\n }\n\n createContentEditableElement(props: InputFieldProps<T>) {\n const textarea = document.createElement('div');\n textarea.setAttribute('contentEditable', props.disabled || props.readonly ? 'false' : 'true');\n textarea.setAttribute('role', 'textbox');\n textarea.setAttribute('classname', 'editable');\n\n if (props.id) {\n textarea.setAttribute('id', props.id);\n }\n if (props.placeholder) {\n textarea.setAttribute('placeholder', props.placeholder);\n }\n const { extractedAriaProps } = extractAriaProps(props);\n for (const key in extractedAriaProps) {\n const ariaProp: string | undefined = (props as any)[key];\n if (ariaProp) {\n textarea.setAttribute(key, ariaProp);\n }\n }\n\n if (!props.disabled) {\n textarea.setAttribute('tabIndex', '0');\n } else {\n textarea.setAttribute('tabIndex', '-1');\n }\n\n if (!props.disabled && !props.readonly) {\n this.addEventListeners(textarea);\n } else {\n textarea.addEventListener('keydown', this.handleSelectAll.bind(this));\n }\n\n return textarea;\n }\n\n handleValueOutChange() {\n const { value, onChangeLinesCount } = this.props;\n\n if (value === '') {\n this.textarea.textContent = '';\n onChangeLinesCount(0);\n } else {\n const listOfNodes = this.prepareNodesForPaste(value);\n\n this.textarea.replaceChildren(...listOfNodes);\n\n this.recalculateLinesCount();\n this.recalculateErrors();\n }\n }\n\n handleScroll(): void {\n if (this.scrollingTimeout) {\n clearTimeout(this.scrollingTimeout);\n }\n\n this.isScrolling = true;\n\n this.scrollingTimeout = window.setTimeout(() => {\n this.isScrolling = false;\n }, 50);\n }\n\n handleMouseDown(event: MouseEvent): void {\n const element = event.target;\n\n if (element instanceof HTMLElement) {\n // we need to change keyboardLineIndex, because the caret in real on that current row\n this.toggleErrorsPopper('keyboardLineIndex', element);\n\n this.setErrorIndex(element);\n }\n }\n\n handleMouseMove(event: MouseEvent): void {\n this.errorByInteraction = 'mouse';\n const element = event.target;\n\n if (element !== this.textarea) {\n if (\n this.isFocusing ||\n (element instanceof HTMLElement && element.getAttribute('aria-invalid') === 'true')\n ) {\n this.toggleErrorsPopper('mouseLineIndex', element);\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n }\n\n handleMouseLeave(): void {\n if (this.changeTriggerTimeout) {\n clearTimeout(this.changeTriggerTimeout);\n }\n\n if (this.isFocusing) {\n this.errorByInteraction = 'keyboard';\n const rowNode = this.getNodeFromSelection();\n\n this.toggleErrorsPopper('keyboardLineIndex', rowNode, 0);\n this.setState({ mouseLineIndex: -1 });\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n\n handlePaste(event: ClipboardEvent) {\n event.preventDefault();\n const { validateOn } = this.asProps;\n const value = event.clipboardData?.getData('text/plain');\n const listOfNodes = value ? this.prepareNodesForPaste(value) : [];\n\n if (listOfNodes.length === 0) return;\n\n const selection = document.getSelection();\n\n if (selection?.anchorNode && selection?.focusNode) {\n const anchorOffset = selection.anchorOffset;\n const focusOffset = selection.focusOffset;\n const documentPosition = selection.anchorNode.compareDocumentPosition(selection.focusNode);\n const direction = this.getSelectionDirection();\n\n const anchorElement = direction === 'forward' ? selection.anchorNode : selection.focusNode;\n const focusElement = direction === 'forward' ? selection.focusNode : selection.anchorNode;\n const fromOffset = direction === 'forward' ? anchorOffset : focusOffset;\n const toOffset = direction === 'forward' ? focusOffset : anchorOffset;\n const anchorNode =\n anchorElement instanceof Text ? anchorElement.parentElement : anchorElement;\n const focusNode = focusElement instanceof Text ? focusElement.parentElement : focusElement;\n\n let textNode: ChildNode | null = null;\n let position: number | null = null;\n\n if (focusElement === this.textarea) {\n this.textarea.replaceChildren(...listOfNodes);\n\n const lastNodeToInsert = listOfNodes[listOfNodes.length - 1];\n textNode = lastNodeToInsert.childNodes.item(0);\n position = (lastNodeToInsert.textContent ?? '').length;\n } else if (\n focusNode instanceof HTMLParagraphElement &&\n anchorNode instanceof HTMLParagraphElement\n ) {\n const before = anchorNode?.textContent?.substring(0, fromOffset) ?? '';\n const after = focusNode?.textContent?.substring(toOffset) ?? '';\n\n const noEmptyLineBefore = before.trim() === '' ? '' : before;\n const noEmptyLineAfter = after.trim() === '' ? '' : after;\n\n selection.deleteFromDocument();\n\n if (documentPosition !== 0) {\n this.textarea.removeChild(focusNode);\n }\n\n const firstNodeToInsert = listOfNodes.splice(0, 1)[0];\n const lastNodeToInsert = listOfNodes[listOfNodes.length - 1];\n\n anchorNode.textContent = noEmptyLineBefore + (firstNodeToInsert?.textContent ?? '');\n\n anchorNode.after(...listOfNodes);\n\n if (lastNodeToInsert) {\n lastNodeToInsert.textContent = (lastNodeToInsert.textContent ?? '') + noEmptyLineAfter;\n textNode = lastNodeToInsert.childNodes.item(0);\n position = (lastNodeToInsert.textContent ?? '').length;\n\n this.validateLine(lastNodeToInsert);\n this.setErrorIndex(lastNodeToInsert);\n } else {\n position = (anchorNode.textContent ?? '').length;\n anchorNode.textContent = (anchorNode.textContent ?? '') + noEmptyLineAfter;\n textNode = anchorNode.childNodes.item(0);\n\n this.validateLine(anchorNode);\n this.setErrorIndex(anchorNode);\n }\n }\n\n if (textNode instanceof Text) {\n this.setSelection(textNode, position ?? 1, position ?? 1);\n this.toggleErrorsPopper('keyboardLineIndex', textNode.parentNode);\n } else {\n // eslint-disable-next-line no-console\n console.warn('incorrect child type', textNode, textNode?.parentNode);\n }\n }\n\n this.recalculateLinesCount();\n\n if (validateOn.includes('paste') || this.asProps.showErrors) {\n this.recalculateErrors();\n }\n }\n\n handleChange(event: Event) {\n const target = event.target;\n if (target instanceof HTMLDivElement && event instanceof InputEvent) {\n const nodes = this.textarea.childNodes;\n const firstNode = nodes.item(0);\n const secondNode = nodes.item(1);\n const selection = document.getSelection();\n\n if (firstNode instanceof Text) {\n const nodeText = firstNode.textContent ?? '';\n const firstRow = document.createElement('p');\n const text = document.createTextNode(nodeText);\n firstRow.append(text);\n firstNode.replaceWith(firstRow);\n\n selection?.setPosition(firstRow, nodeText.length);\n } else if (!firstNode || (firstNode instanceof HTMLBRElement && nodes.length === 1)) {\n this.textarea.textContent = '';\n this.setState({ keyboardLineIndex: 0 });\n } else if (firstNode instanceof HTMLParagraphElement && !firstNode.textContent?.trim()) {\n if (nodes.length <= 1 || secondNode instanceof HTMLBRElement) {\n this.textarea.textContent = '';\n this.setState({ keyboardLineIndex: 0 });\n }\n }\n\n let maxDeep = 10;\n let rowNode = selection?.focusNode;\n\n while (rowNode?.parentNode !== this.textarea && maxDeep > 0) {\n rowNode = rowNode?.parentNode;\n maxDeep--;\n }\n\n if (rowNode instanceof HTMLParagraphElement) {\n const childNodes = rowNode.childNodes;\n const textContent = rowNode.textContent ?? '';\n\n if (childNodes.length > 1) {\n const offset = childNodes.item(0).textContent?.length;\n\n rowNode.textContent = textContent;\n\n if (offset) {\n this.setSelection(rowNode.childNodes.item(0), offset, offset);\n }\n }\n\n if (textContent.length > 0) {\n const firstSymbol = textContent.at(0);\n const lastSymbol = textContent.at(textContent.length - 1);\n\n if (\n firstSymbol === this.getEmptyParagraph().textContent ||\n lastSymbol === this.getEmptyParagraph().textContent\n ) {\n let offset: number | null = null;\n if (firstSymbol === this.getEmptyParagraph().textContent) {\n rowNode.textContent = textContent.substring(1);\n offset =\n event.inputType === 'deleteContentBackward' ||\n event.inputType === 'deleteContentForward'\n ? 0\n : rowNode.textContent.length;\n } else if (lastSymbol === this.getEmptyParagraph().textContent) {\n rowNode.textContent = textContent.substring(0, textContent.length - 1);\n offset = rowNode.textContent.length;\n }\n\n if (offset) {\n this.setSelection(rowNode.childNodes.item(0), offset, offset);\n }\n }\n } else if (childNodes.length === 1 && childNodes[0] instanceof HTMLBRElement) {\n rowNode.innerHTML = this.emptyLineValue;\n }\n\n const { errors, showErrors } = this.asProps;\n const isValid = this.validateLine(rowNode);\n this.recalculateErrors();\n this.setErrorIndex(rowNode);\n\n if (!isValid && showErrors) {\n this.toggleErrorsPopper('keyboardLineIndex', rowNode, 0);\n }\n\n const trigger =\n !isValid || (isValid && errors.length === 1 && errors[0].lineNode === rowNode)\n ? rowNode\n : this.textarea;\n\n if (showErrors && this.popper?.current.state.elements.reference !== trigger) {\n if (this.shouldChangePopperTrigger(trigger)) {\n this.setPopperTrigger?.(trigger);\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n } else if (rowNode === null) {\n this.setPopperTrigger?.(this.textarea);\n\n if (selection?.focusNode === this.textarea && this.textarea.childNodes.length > 1) {\n const nodeIndex = selection.focusOffset;\n const emptyParagraph = this.textarea.childNodes.item(nodeIndex - 1);\n const emptyBr = this.textarea.childNodes.item(nodeIndex);\n\n this.textarea.removeChild(emptyBr);\n\n if (emptyParagraph instanceof HTMLParagraphElement) {\n emptyParagraph.innerHTML = this.emptyLineValue;\n }\n\n if (emptyParagraph) {\n this.setSelection(emptyParagraph, 0, 0);\n }\n } else {\n this.setSelection(this.textarea, 0, 0);\n }\n }\n\n this.recalculateLinesCount();\n }\n }\n\n handleFocus() {\n this.isFocusing = true;\n this.errorByInteraction = 'keyboard';\n\n if (this.asProps.showErrors) {\n this.toggleErrorsPopperByKeyboard(150);\n } else {\n this.toggleErrorsPopper('keyboardLineIndex', this.textarea);\n }\n }\n\n handleBlur(event: Event) {\n this.isFocusing = false;\n this.setState({ visibleErrorPopper: false });\n\n const { validateOn, onBlur, value } = this.asProps;\n\n if (validateOn.includes('blur')) {\n this.recalculateErrors();\n }\n\n const valueToChange =\n typeof value === 'string' ? this.getValues().join(this.delimiter) : this.getValues();\n\n onBlur(valueToChange as T, event);\n\n setTimeout(() => {\n this.setState({ keyboardLineIndex: -1 });\n }, 200);\n }\n\n handleKeyDown(event: KeyboardEvent) {\n this.errorByInteraction = 'keyboard';\n const { linesDelimiters } = this.asProps;\n\n const currentNode = this.getNodeFromSelection();\n\n if (event.key === 'Enter' || linesDelimiters?.includes(event.key)) {\n if (currentNode === this.textarea) {\n event.preventDefault();\n }\n if (currentNode instanceof HTMLParagraphElement) {\n const currentRowValue = currentNode.textContent?.trim();\n\n if (!currentRowValue) {\n event.preventDefault();\n } else {\n event.preventDefault();\n const selection = document.getSelection();\n const selectionNode =\n selection?.focusNode instanceof Text\n ? selection.focusNode\n : selection?.focusNode?.childNodes.item(0);\n const selectionOffset = selection?.focusOffset;\n\n let newRowValue = '';\n\n if (\n selectionNode instanceof Text &&\n selectionOffset !== undefined &&\n selectionOffset !== selectionNode.textContent?.length\n ) {\n newRowValue =\n selectionNode.textContent?.substring(selectionOffset) ?? this.emptyLineValue;\n\n if (selectionNode.textContent) {\n selectionNode.textContent = selectionNode.textContent.substring(0, selectionOffset);\n }\n }\n\n if (currentNode.textContent?.trim() === '') {\n currentNode.innerHTML = this.emptyLineValue;\n }\n\n const row = document.createElement('p');\n if (newRowValue) {\n row.textContent = newRowValue;\n } else {\n row.innerHTML = this.emptyLineValue;\n }\n currentNode.after(row);\n\n this.setSelection(row, 0, 0);\n\n this.validateLine(currentNode);\n this.validateLine(row);\n if (currentNode.previousSibling) {\n this.validateLine(currentNode.previousSibling);\n }\n this.setErrorIndex(row);\n\n if (row.textContent?.trim() !== '') {\n this.recalculateLinesCount();\n }\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n }\n }\n } else if (\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight'\n ) {\n if (currentNode instanceof HTMLParagraphElement) {\n this.handleCursorMovement(currentNode, event);\n }\n this.toggleErrorsPopperByKeyboard(200);\n } else if (this.isDeleteKey(event) && currentNode instanceof HTMLParagraphElement) {\n if (currentNode.textContent?.trim() === '' && !this.isRangeSelection()) {\n // Backspace on empty row\n const prevNode = currentNode.previousSibling;\n if (prevNode instanceof HTMLParagraphElement) {\n event.preventDefault();\n this.textarea.removeChild(currentNode);\n this.toggleErrorsPopperByKeyboard(0);\n\n if (\n prevNode.textContent?.trim() === '' &&\n prevNode.previousSibling === null &&\n this.textarea.childNodes.length === 1\n ) {\n this.textarea.textContent = '';\n this.setSelection(this.textarea, 0, 0);\n } else {\n if (prevNode instanceof HTMLParagraphElement) {\n const text = prevNode.childNodes.item(0);\n const offset = text.textContent?.length ?? 0;\n this.setSelection(text, offset, offset);\n } else {\n // eslint-disable-next-line no-console\n console.warn('incorrect prevNode type', prevNode);\n }\n }\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n }\n } else if (this.isRangeSelection()) {\n const selection = document.getSelection();\n\n const direction = this.getSelectionDirection();\n const anchorElement =\n direction === 'backward' ? selection?.focusNode : selection?.anchorNode;\n const focusElement =\n direction === 'backward' ? selection?.anchorNode : selection?.focusNode;\n const anchorOffset =\n direction === 'backward' ? selection?.focusOffset : selection?.anchorOffset;\n const focusOffset =\n direction === 'backward' ? selection?.anchorOffset : selection?.focusOffset;\n\n // Backspace on selected full row\n if (\n anchorElement === focusElement &&\n anchorOffset === 0 &&\n ((focusElement === currentNode && focusOffset === 1) ||\n focusOffset === currentNode.textContent?.length)\n ) {\n event.preventDefault();\n\n const anchorParagraph = anchorElement?.parentElement;\n const focusParagraph = focusElement?.parentElement;\n const childNodes = this.textarea.childNodes;\n if (\n anchorParagraph === childNodes.item(0) &&\n focusParagraph === childNodes.item(childNodes.length - 1)\n ) {\n this.textarea.textContent = '';\n this.setSelection(this.textarea, 0, 0);\n } else {\n currentNode.innerHTML = this.emptyLineValue;\n this.validateLine(currentNode);\n }\n\n this.setErrorIndex(currentNode);\n this.recalculateLinesCount();\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n } else if (\n focusElement !== anchorElement &&\n focusElement instanceof Text &&\n anchorElement instanceof Text &&\n focusElement?.textContent === focusElement?.parentNode?.textContent &&\n anchorElement?.textContent === anchorElement?.parentNode?.textContent &&\n anchorOffset === 0 &&\n focusOffset === focusElement?.parentNode?.textContent?.length\n ) { // Backspace on selected few full rows\n event.preventDefault();\n\n const paragraphs = Array.from(this.textarea.children);\n const anchorParagraph = anchorElement.parentElement;\n const focusParagraph = focusElement.parentElement;\n const childNodes = this.textarea.childNodes;\n\n if (\n anchorParagraph === childNodes.item(0) &&\n focusParagraph === childNodes.item(childNodes.length - 1)\n ) {\n this.textarea.textContent = '';\n this.setSelection(this.textarea, 0, 0);\n } else {\n let isCleaning = false;\n\n for (const paragraph of paragraphs) {\n if (paragraph === anchorParagraph || isCleaning) {\n isCleaning = true;\n\n if (paragraph === focusParagraph) {\n focusParagraph.innerHTML = this.emptyLineValue;\n this.setSelection(focusParagraph, 0, 0);\n break;\n } else {\n this.textarea.removeChild(paragraph);\n }\n }\n }\n\n this.validateLine(currentNode);\n }\n\n this.setErrorIndex(currentNode);\n this.recalculateLinesCount();\n\n setTimeout(() => {\n this.recalculateErrors();\n }, 0);\n\n this.toggleErrorsPopperByKeyboard(0);\n }\n }\n } else if (event.key === 'z' && (event.ctrlKey || event.metaKey)) {\n event.preventDefault();\n }\n }\n\n render() {\n const SInputField = Root;\n const { styles, showErrors } = this.asProps;\n const { visibleErrorPopper } = this.state;\n\n const { errorMessage, isCommonError } = this.errorMessage;\n const visibleErrorTooltip =\n showErrors && visibleErrorPopper && Boolean(errorMessage) && !this.isDisabled;\n\n const { __excludeProps } = extractAriaProps(this.asProps);\n\n return sstyled(styles)(\n <>\n <Tooltip\n interaction='none'\n placement={isCommonError ? 'right-start' : 'right'}\n visible={visibleErrorTooltip}\n theme='warning'\n offset={isCommonError ? undefined : [0, 26]}\n preventOverflow={{\n boundary: this.containerRef.current ?? undefined,\n tether: false,\n }}\n >\n {({ popper, setTrigger }) => {\n if (!this.popper) {\n this.setPopperTrigger = setTrigger;\n // @ts-ignore\n this.popper = popper;\n }\n\n return <Tooltip.Popper id={this.popperDescribedId}>{errorMessage}</Tooltip.Popper>;\n }}\n </Tooltip>\n <SInputField\n render={Box}\n ref={this.containerRef}\n __excludeProps={['onBlur', 'value', ...__excludeProps]}\n />\n </>,\n );\n }\n\n private prepareNodesForPaste(value: string | string[]): HTMLParagraphElement[] {\n const listOfNodes: HTMLParagraphElement[] = [];\n const { pasteProps } = this.asProps;\n const lineProcessing =\n pasteProps?.lineProcessing ??\n ((line: string) => {\n const trimmedLine = line.trim();\n return trimmedLine === '' ? line : trimmedLine;\n });\n const skipEmptyLines = pasteProps?.skipEmptyLines ?? this.skipEmptyLines;\n const delimiter = pasteProps?.delimiter ?? this.delimiter;\n const lines: string[] = Array.isArray(value) ? value : value.split(delimiter);\n\n lines.forEach((line, index) => {\n const preparedLine = lineProcessing(line, index, lines.length);\n\n if ((preparedLine === '' && skipEmptyLines === false) || preparedLine !== '') {\n const node = document.createElement('p');\n\n if (preparedLine === '') {\n node.innerHTML = this.emptyLineValue;\n } else if (preparedLine.trim() === '') {\n const allSpacesRegExp = new RegExp('\\\\s', 'g');\n node.innerHTML = DOMPurify.sanitize(\n preparedLine.replace(allSpacesRegExp, this.spaceLineValue),\n );\n } else {\n node.append(document.createTextNode(preparedLine));\n }\n\n listOfNodes.push(node);\n\n this.validateLine(node);\n }\n });\n\n return listOfNodes;\n }\n\n private recalculateErrors(): void {\n const errors: ErrorItem[] = [];\n\n this.textarea.childNodes.forEach((node, index) => {\n if (node instanceof HTMLParagraphElement && node.getAttribute('aria-invalid') === 'true') {\n const errorItem = {\n errorMessage: node.dataset.errormessage ?? '',\n lineNode: node,\n lineIndex: index,\n };\n errors.push(errorItem);\n }\n });\n\n this.asProps.onErrorsChange(errors);\n }\n\n private recalculateLinesCount(): void {\n if (this.linesCountTimeout) {\n clearTimeout(this.linesCountTimeout);\n }\n\n this.linesCountTimeout = window.setTimeout(() => {\n let lines = 0;\n const { maxLines, linesCount } = this.asProps;\n\n this.textarea.childNodes.forEach((node) => {\n if (node instanceof HTMLParagraphElement) {\n node.dataset.overMaxRows = 'false';\n\n if (\n node.textContent !== this.getEmptyParagraph().textContent &&\n node.textContent !== ''\n ) {\n lines++;\n\n if (lines > maxLines) {\n node.dataset.overMaxRows = 'true';\n }\n }\n }\n });\n\n if (linesCount !== lines) {\n this.asProps.onChangeLinesCount(lines);\n }\n }, 100);\n }\n\n private getValues(): string[] {\n const values: string[] = [];\n this.textarea.childNodes.forEach((node) => {\n if (node.textContent?.trim() === '') {\n values.push('');\n } else {\n values.push(node.textContent ?? '');\n }\n });\n\n return values;\n }\n\n private shouldChangePopperTrigger(node: HTMLElement): boolean {\n return (\n this.textarea !== node || (this.textarea === node && Boolean(this.asProps.commonErrorMessage))\n );\n }\n\n private toggleErrorsPopperByKeyboard(timer: number) {\n if (this.toggleErrorsPopperTimeout) {\n clearTimeout(this.toggleErrorsPopperTimeout);\n }\n\n if (!this.isScrolling) {\n setTimeout(() => {\n const rowNode = this.getNodeFromSelection();\n\n this.toggleErrorsPopper('keyboardLineIndex', rowNode, timer);\n }, 0);\n } else {\n this.toggleErrorsPopperTimeout = window.setTimeout(() => {\n this.toggleErrorsPopperByKeyboard(timer);\n }, 50);\n }\n }\n\n private toggleErrorsPopper(key: IndexKeys, target?: unknown, timer?: number) {\n if (target instanceof HTMLDivElement || target instanceof HTMLParagraphElement) {\n if (this.changeTriggerTimeout) {\n clearTimeout(this.changeTriggerTimeout);\n }\n\n this.changeTriggerTimeout = window.setTimeout(() => {\n const targetElement = target === this.textarea ? this.getNodeFromSelection() : target;\n\n let lineIndex = -1;\n let isInvalidRow = false;\n\n if (targetElement instanceof HTMLParagraphElement) {\n isInvalidRow = targetElement.getAttribute('aria-invalid') === 'true';\n lineIndex = Array.from(this.textarea.childNodes).indexOf(targetElement);\n } else if (targetElement === this.textarea) {\n lineIndex = 0;\n }\n\n if (targetElement instanceof HTMLElement) {\n this.setState(\n (prevState) => {\n const newState: State = {\n visibleErrorPopper:\n this.isFocusing && Boolean(this.asProps.commonErrorMessage) ? true : isInvalidRow,\n mouseLineIndex: prevState.mouseLineIndex,\n keyboardLineIndex: prevState.keyboardLineIndex,\n };\n\n if (this.isFocusing || (key === 'mouseLineIndex' && isInvalidRow)) {\n newState[key] = lineIndex;\n }\n\n return newState;\n },\n () => {\n this.errorByInteraction = key === 'mouseLineIndex' ? 'mouse' : 'keyboard';\n\n const trigger = isInvalidRow ? targetElement : this.textarea;\n\n if (this.shouldChangePopperTrigger(trigger)) {\n this.setPopperTrigger?.(trigger);\n\n this.forceUpdate();\n }\n },\n );\n }\n }, timer ?? 50);\n } else {\n this.setState({ visibleErrorPopper: false });\n }\n }\n\n private toggleAriaInvalid(showErrors: boolean, errorsLength: number): void {\n if (showErrors && errorsLength > 0) {\n this.textarea.setAttribute('aria-describedby', this.popperDescribedId);\n this.textarea.setAttribute('aria-invalid', 'true');\n } else {\n this.textarea.removeAttribute('aria-invalid');\n this.textarea.removeAttribute('aria-describedby');\n }\n }\n\n private handleChangeErrorIndex(errorIndex: number): void {\n const error: ErrorItem | undefined = this.asProps.errors[errorIndex];\n const childNodes = this.textarea.childNodes;\n\n const node = error ? error.lineNode ?? childNodes.item(error.lineIndex) : null;\n const selection = document.getSelection();\n\n if (selection && node instanceof HTMLParagraphElement) {\n this.setState({ visibleErrorPopper: false });\n\n setTimeout(() => {\n const text = node.childNodes.item(0);\n if (text instanceof Text) {\n this.setSelection(text, 0, text.length);\n } else {\n this.setSelection(node, 0, 1);\n }\n }, 150);\n }\n }\n\n private validateLine(node: Node): boolean {\n const { lineValidation } = this.asProps;\n if (lineValidation && node instanceof HTMLElement) {\n const { isValid, errorMessage } = lineValidation(node.textContent ?? '', this.getValues());\n\n if (!isValid) {\n node.setAttribute('aria-invalid', 'true');\n node.dataset.errormessage = errorMessage;\n } else {\n node.removeAttribute('aria-invalid');\n node.dataset.errormessage = undefined;\n }\n\n return isValid;\n }\n\n return true;\n }\n\n private setSelection(\n node: Node,\n start: number,\n end: number,\n scrollType: 'center' | 'nearest' = 'center',\n ): void {\n const selection = document.getSelection();\n const range = document.createRange();\n range.setStart(node, start);\n range.setEnd(node, end);\n\n selection?.removeAllRanges();\n selection?.addRange(range);\n\n const nodeToScroll = node instanceof Text ? node.parentNode : node;\n\n if (nodeToScroll instanceof HTMLElement) {\n nodeToScroll.scrollIntoView({\n block: scrollType,\n inline: scrollType,\n behavior: 'smooth',\n });\n }\n }\n\n private getNodeFromSelection(): Node | null {\n const selection = document.getSelection();\n\n const rowNode =\n selection?.focusNode instanceof Text ? selection.focusNode.parentNode : selection?.focusNode;\n\n return rowNode ?? null;\n }\n\n private handleCursorMovement(currentNode: HTMLParagraphElement, event: KeyboardEvent): void {\n let nextNode: ChildNode | null = null;\n\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n nextNode = currentNode.previousSibling;\n break;\n case 'ArrowDown':\n event.preventDefault();\n nextNode = currentNode.nextSibling;\n break;\n case 'ArrowLeft': {\n if (currentNode.textContent === this.getEmptyParagraph().textContent) {\n event.preventDefault();\n nextNode = currentNode.previousSibling;\n }\n break;\n }\n case 'ArrowRight': {\n if (currentNode.textContent === this.getEmptyParagraph().textContent) {\n event.preventDefault();\n nextNode = currentNode.nextSibling;\n }\n }\n }\n\n if (nextNode instanceof HTMLParagraphElement) {\n const selection = document.getSelection();\n const firstNode = nextNode.childNodes.item(0);\n const nodeToSetSelection = firstNode instanceof Text ? firstNode : nextNode;\n const textNode = nextNode.textContent?.trim() ?? '';\n const currentOffset = selection?.focusOffset ?? 0;\n let offset = currentOffset <= textNode.length ? currentOffset : textNode.length;\n\n // it only works if node is empty, that's why here we could set 0 or node.length\n if (event.key === 'ArrowLeft') {\n offset = textNode.length;\n } else if (event.key === 'ArrowRight') {\n offset = 0;\n }\n\n this.setSelection(nodeToSetSelection, offset, offset, 'nearest');\n }\n }\n\n private setErrorIndex(nodeToCompare: Node): void {\n const errorIndex = Array.from(this.textarea.childNodes)\n .filter((node) => {\n return node instanceof Element && node.getAttribute('aria-invalid') === 'true';\n })\n .findIndex((node) => {\n return node === nodeToCompare;\n });\n\n this.handlers.errorIndex(errorIndex);\n }\n\n private isDeleteKey(event: KeyboardEvent): boolean {\n return event.key === 'Backspace' || (event.key === 'x' && (event.ctrlKey || event.metaKey));\n }\n\n private getEmptyParagraph() {\n const element = document.createElement('p');\n\n element.innerHTML = this.emptyLineValue;\n\n return element;\n }\n\n private addEventListeners(textarea: HTMLElement) {\n textarea.addEventListener('paste', this.handlePaste);\n textarea.addEventListener('input', this.handleChange);\n textarea.addEventListener('focus', this.handleFocus);\n textarea.addEventListener('blur', this.handleBlur);\n textarea.addEventListener('keydown', this.handleKeyDown);\n textarea.addEventListener('mousedown', this.handleMouseDown);\n textarea.addEventListener('mousemove', this.handleMouseMove);\n textarea.addEventListener('mouseleave', this.handleMouseLeave);\n textarea.addEventListener('scroll', this.handleScroll);\n\n textarea.removeEventListener('keydown', this.handleSelectAll);\n }\n\n private removeEventListeners(textarea: HTMLElement) {\n textarea.removeEventListener('paste', this.handlePaste);\n textarea.removeEventListener('input', this.handleChange);\n textarea.removeEventListener('focus', this.handleFocus);\n textarea.removeEventListener('blur', this.handleBlur);\n textarea.removeEventListener('keydown', this.handleKeyDown);\n textarea.removeEventListener('mousedown', this.handleMouseDown);\n textarea.removeEventListener('mousemove', this.handleMouseMove);\n textarea.removeEventListener('mouseleave', this.handleMouseLeave);\n textarea.removeEventListener('scroll', this.handleScroll);\n\n textarea.addEventListener('keydown', this.handleSelectAll);\n }\n\n private handleSelectAll(event: KeyboardEvent) {\n if (event.key === 'a' && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n\n const node = event.target;\n if (node instanceof HTMLElement && node === this.textarea) {\n this.setSelection(node, 0, node.childNodes.length);\n }\n }\n }\n\n private isRangeSelection(): boolean {\n const selection = document.getSelection();\n\n return (\n selection?.focusNode !== selection?.anchorNode ||\n selection?.focusOffset !== selection?.anchorOffset\n );\n }\n\n private getSelectionDirection(): 'forward' | 'backward' | null {\n const selection = document.getSelection();\n\n if (selection?.anchorNode && selection?.focusNode) {\n const documentPosition = selection.anchorNode.compareDocumentPosition(selection.focusNode);\n\n if (\n (documentPosition === 0 && selection.anchorOffset > selection.focusOffset) || // if nodes are the same\n documentPosition === Node.DOCUMENT_POSITION_PRECEDING\n ) {\n return 'backward';\n }\n\n return 'forward';\n }\n\n return null;\n }\n}\n\nexport { InputField };\nexport type { InputFieldProps, ErrorItem };\n"],"mappings":"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","ignoreList":[]}
@@ -23,22 +23,22 @@ var style = (
23
23
  /*__reshadow_css_start__*/
24
24
  (sstyled.insert(
25
25
  /*__inner_css_start__*/
26
- '.___SInputField_3u0ol_gg_>div{box-sizing:content-box;outline:0;border-radius:var(--intergalactic-control-rounded, 6px);border-color:var(--intergalactic-border-primary, #c4c7cf);border-style:solid;border-width:1px;overflow:auto;position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);word-wrap:break-word;word-break:break-word;font-family:inherit}.___SInputField_3u0ol_gg_>div:empty::before{content:"1. "attr(placeholder);color:var(--intergalactic-text-placeholder, #8a8e9b);position:absolute}.___SInputField_3u0ol_gg_>div:nth-child(even){color:red;counter-increment:row;margin-bottom:var(--intergalactic-spacing-1x, 4px);position:relative;word-break:break-all}.___SInputField_3u0ol_gg_>div:nth-child(even)::before{content:counter(row)".";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SInputField_3u0ol_gg_>div>p{counter-increment:row;margin:0 0 var(--intergalactic-spacing-1x, 4px)0;position:relative;word-break:break-all;white-space:pre-wrap;padding:0 var(--intergalactic-spacing-5x, 20px)0 var(--intergalactic-spacing-4x, 16px)}.___SInputField_3u0ol_gg_>div>p:last-of-type{margin-bottom:0}.___SInputField_3u0ol_gg_>div>p:not(:empty)::before{content:counter(row)".";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px);position:absolute;left:0}.___SInputField_3u0ol_gg_>div>p[data-over-max-rows=true]{background-color:var(--intergalactic-bg-secondary-critical, #fff0f7)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+10))>p{padding-left:var(--intergalactic-spacing-6x, 24px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+10))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+10)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_3u0ol_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+100)::before{padding-left:0}.___SInputField_3u0ol_gg_.__showErrors_3u0ol_gg_>div[aria-invalid]>p[aria-invalid]:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZDEwMDJmIj48cGF0aCBkPSJNNyA2aDJ2NEg3VjZabTIgN3YtMkg3djJoMloiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTYuMTUyIDEuMTcyYy43MTktMS41NjMgMi45NzctMS41NjMgMy42OTYgMGw2LjA0MyAxMy4xNDFjLjM2My43OTEtLjIyNSAxLjY4Ny0xLjEwOSAxLjY4N0gxLjIxOGMtLjg4NCAwLTEuNDcyLS44OTYtMS4xMDktMS42ODdMNi4xNTIgMS4xNzJabTcuMzc0IDEyLjgzN0w4IDEuOTkgMi40NzQgMTQuMDFoMTEuMDUyWiIvPjwvc3ZnPgo=\\ );position:absolute;right:0;top:var(--intergalactic-spacing-05x, 2px)}.___SInputField_3u0ol_gg_._size_m_3u0ol_gg_>div{padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);min-height:calc(var(--minRows_3u0ol)*20px);max-height:calc((var(--maxRows_3u0ol) - 1)*(20px + var(--intergalactic-spacing-1x, 4px)) + 18px)}.___SInputField_3u0ol_gg_._size_m_3u0ol_gg_>div:empty{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_3u0ol_gg_._size_l_3u0ol_gg_>div:empty::before,.___SInputField_3u0ol_gg_._size_m_3u0ol_gg_>div:empty::before{left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_3u0ol_gg_._size_l_3u0ol_gg_>div{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);min-height:calc(var(--minRows_3u0ol)*24px);max-height:calc((var(--maxRows_3u0ol) - 1)*(24px + var(--intergalactic-spacing-1x, 4px)) + 20px)}.___SInputField_3u0ol_gg_._size_l_3u0ol_gg_>div:empty{padding-left:calc(var(--intergalactic-spacing-8x, 32px) + var(--intergalactic-spacing-05x, 2px))}.___SInputField_3u0ol_gg_._state_normal_3u0ol_gg_:not(.__disabled_3u0ol_gg_)>div:focus:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));border-color:var(--intergalactic-border-info-active, #006dca)}.___SInputField_3u0ol_gg_._state_valid_3u0ol_gg_>div{border-color:var(--intergalactic-border-success-active, #007c65)}.___SInputField_3u0ol_gg_._state_valid_3u0ol_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInputField_3u0ol_gg_._state_invalid_3u0ol_gg_>div{border-color:var(--intergalactic-border-critical-active, #d1002f);background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgba(209, 0, 47, 1) 0, rgba(209, 0, 47, 1) 2px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);background-repeat:repeat-y}.___SInputField_3u0ol_gg_._state_invalid_3u0ol_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SInputField_3u0ol_gg_.__readonly_3u0ol_gg_>div{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SInputField_3u0ol_gg_.__disabled_3u0ol_gg_>div{opacity:var(--intergalactic-disabled-opacity, 0.3)}',
26
+ '.___SInputField_q6sp2_gg_>div{box-sizing:content-box;outline:0;border-radius:var(--intergalactic-control-rounded, 6px);border-color:var(--intergalactic-border-primary, #c4c7cf);border-style:solid;border-width:1px;overflow:auto;position:relative;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);color:var(--intergalactic-text-primary, #191b23);word-wrap:break-word;word-break:break-word;font-family:inherit}.___SInputField_q6sp2_gg_>div:empty::before{content:"1. "attr(placeholder);color:var(--intergalactic-text-placeholder, #8a8e9b);position:absolute}.___SInputField_q6sp2_gg_>div:nth-child(even){color:red;counter-increment:row;margin-bottom:var(--intergalactic-spacing-1x, 4px);position:relative;word-break:break-all}.___SInputField_q6sp2_gg_>div:nth-child(even)::before{content:counter(row)".";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px)}.___SInputField_q6sp2_gg_>div>p{counter-increment:row;margin:0 0 var(--intergalactic-spacing-1x, 4px)0;position:relative;word-break:break-all;white-space:pre-wrap;padding:0 var(--intergalactic-spacing-5x, 20px)0 var(--intergalactic-spacing-4x, 16px)}.___SInputField_q6sp2_gg_>div>p:last-of-type{margin-bottom:0}.___SInputField_q6sp2_gg_>div>p:not(:empty)::before{content:counter(row)".";display:inline-block;white-space:nowrap;text-align:right;color:var(--intergalactic-text-secondary, #6c6e79);margin-right:var(--intergalactic-spacing-1x, 4px);position:absolute;left:0}.___SInputField_q6sp2_gg_>div>p[data-over-max-rows=true]{background-color:var(--intergalactic-bg-secondary-critical, #fff0f7)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+10))>p{padding-left:var(--intergalactic-spacing-6x, 24px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+10))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p:nth-child(-n+9)::before{padding-left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+10)::before{padding-left:var(--intergalactic-spacing-2x, 8px)}.___SInputField_q6sp2_gg_>div:has(p:nth-child(n+100))>p:nth-child(n+100)::before{padding-left:0}.___SInputField_q6sp2_gg_.__showErrors_q6sp2_gg_>div[aria-invalid]>p[aria-invalid]:after{content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSIjZDEwMDJmIj48cGF0aCBkPSJNNyA2aDJ2NEg3VjZabTIgN3YtMkg3djJoMloiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTYuMTUyIDEuMTcyYy43MTktMS41NjMgMi45NzctMS41NjMgMy42OTYgMGw2LjA0MyAxMy4xNDFjLjM2My43OTEtLjIyNSAxLjY4Ny0xLjEwOSAxLjY4N0gxLjIxOGMtLjg4NCAwLTEuNDcyLS44OTYtMS4xMDktMS42ODdMNi4xNTIgMS4xNzJabTcuMzc0IDEyLjgzN0w4IDEuOTkgMi40NzQgMTQuMDFoMTEuMDUyWiIvPjwvc3ZnPgo=\\ );position:absolute;right:0;top:var(--intergalactic-spacing-05x, 2px)}.___SInputField_q6sp2_gg_._size_m_q6sp2_gg_>div{padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);min-height:calc(var(--minRows_q6sp2)*20px);max-height:calc((var(--maxRows_q6sp2) - 1)*(20px + var(--intergalactic-spacing-1x, 4px)) + 18px)}.___SInputField_q6sp2_gg_._size_m_q6sp2_gg_>div:empty{padding-left:var(--intergalactic-spacing-8x, 32px)}.___SInputField_q6sp2_gg_._size_l_q6sp2_gg_>div:empty::before,.___SInputField_q6sp2_gg_._size_m_q6sp2_gg_>div:empty::before{left:var(--intergalactic-spacing-4x, 16px)}.___SInputField_q6sp2_gg_._size_l_q6sp2_gg_>div{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-4x, 16px);font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%);min-height:calc(var(--minRows_q6sp2)*24px);max-height:calc((var(--maxRows_q6sp2) - 1)*(24px + var(--intergalactic-spacing-1x, 4px)) + 20px)}.___SInputField_q6sp2_gg_._size_l_q6sp2_gg_>div:empty{padding-left:calc(var(--intergalactic-spacing-8x, 32px) + var(--intergalactic-spacing-05x, 2px))}.___SInputField_q6sp2_gg_._state_normal_q6sp2_gg_:not(.__disabled_q6sp2_gg_)>div:focus:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));border-color:var(--intergalactic-border-info-active, #006dca)}.___SInputField_q6sp2_gg_._state_valid_q6sp2_gg_>div{border-color:var(--intergalactic-border-success-active, #007c65)}.___SInputField_q6sp2_gg_._state_valid_q6sp2_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-valid, 0px 0px 0px 3px rgba(0, 159, 129, 0.5))}.___SInputField_q6sp2_gg_._state_invalid_q6sp2_gg_>div{border-color:var(--intergalactic-border-critical-active, #d1002f);background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgba(209, 0, 47, 1) 0, rgba(209, 0, 47, 1) 2px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);background-repeat:repeat-y}.___SInputField_q6sp2_gg_._state_invalid_q6sp2_gg_>div:focus{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.5))}.___SInputField_q6sp2_gg_.__readonly_q6sp2_gg_>div{background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}.___SInputField_q6sp2_gg_.__disabled_q6sp2_gg_>div{opacity:var(--intergalactic-disabled-opacity, 0.3)}',
27
27
  /*__inner_css_end__*/
28
- "3u0ol_gg_"
28
+ "q6sp2_gg_"
29
29
  ), /*__reshadow_css_end__*/
30
30
  {
31
- "__SInputField": "___SInputField_3u0ol_gg_",
32
- "_showErrors": "__showErrors_3u0ol_gg_",
33
- "_readonly": "__readonly_3u0ol_gg_",
34
- "_disabled": "__disabled_3u0ol_gg_",
35
- "_size_m": "_size_m_3u0ol_gg_",
36
- "--minRows": "--minRows_3u0ol",
37
- "--maxRows": "--maxRows_3u0ol",
38
- "_size_l": "_size_l_3u0ol_gg_",
39
- "_state_normal": "_state_normal_3u0ol_gg_",
40
- "_state_valid": "_state_valid_3u0ol_gg_",
41
- "_state_invalid": "_state_invalid_3u0ol_gg_"
31
+ "__SInputField": "___SInputField_q6sp2_gg_",
32
+ "_showErrors": "__showErrors_q6sp2_gg_",
33
+ "_readonly": "__readonly_q6sp2_gg_",
34
+ "_disabled": "__disabled_q6sp2_gg_",
35
+ "_size_m": "_size_m_q6sp2_gg_",
36
+ "--minRows": "--minRows_q6sp2",
37
+ "--maxRows": "--maxRows_q6sp2",
38
+ "_size_l": "_size_l_q6sp2_gg_",
39
+ "_state_normal": "_state_normal_q6sp2_gg_",
40
+ "_state_valid": "_state_valid_q6sp2_gg_",
41
+ "_state_invalid": "_state_invalid_q6sp2_gg_"
42
42
  })
43
43
  );
44
44
  var InputField = /* @__PURE__ */ function(_Component) {