@startlibs/components 1.1.5 → 1.2.0-rc.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.
Files changed (123) hide show
  1. package/lib/BasicBulletList.mjs +1 -1
  2. package/lib/BasicBulletList.mjs.map +1 -1
  3. package/lib/Button.mjs +3 -3
  4. package/lib/Button.mjs.map +1 -1
  5. package/lib/ContextMenu.mjs +22 -6
  6. package/lib/ContextMenu.mjs.map +1 -1
  7. package/lib/Dialog.mjs +60 -24
  8. package/lib/Dialog.mjs.map +1 -1
  9. package/lib/Icon.mjs +10 -4
  10. package/lib/Icon.mjs.map +1 -1
  11. package/lib/Loading.mjs +26 -3
  12. package/lib/Loading.mjs.map +1 -1
  13. package/lib/PageLoader.mjs +2 -2
  14. package/lib/PageLoader.mjs.map +1 -1
  15. package/lib/PersistentNotifications.mjs +1 -1
  16. package/lib/PersistentNotifications.mjs.map +1 -1
  17. package/lib/SplitColumnsContainer.mjs +77 -6
  18. package/lib/SplitColumnsContainer.mjs.map +1 -1
  19. package/lib/TextButton.mjs +1 -1
  20. package/lib/TextButton.mjs.map +1 -1
  21. package/lib/ToastNotifications.mjs +16 -14
  22. package/lib/ToastNotifications.mjs.map +1 -1
  23. package/lib/alt/dialogs/DialogWithImageHeader.mjs +1 -1
  24. package/lib/alt/dialogs/DialogWithImageHeader.mjs.map +1 -1
  25. package/lib/alt/dialogs/DialogWithSidebar.mjs +7 -3
  26. package/lib/alt/dialogs/DialogWithSidebar.mjs.map +1 -1
  27. package/lib/alt/dialogs/MobileBubbleDialog.mjs +1 -1
  28. package/lib/alt/dialogs/MobileBubbleDialog.mjs.map +1 -1
  29. package/lib/containers/DialogContainer.mjs +29 -10
  30. package/lib/containers/DialogContainer.mjs.map +1 -1
  31. package/lib/index.cjs +286 -93
  32. package/lib/index.cjs.map +1 -1
  33. package/lib/willUseIsSticky.mjs +23 -2
  34. package/lib/willUseIsSticky.mjs.map +1 -1
  35. package/lib-yak/BasicBulletList.mjs +27 -0
  36. package/lib-yak/BasicBulletList.mjs.map +1 -0
  37. package/lib-yak/Button.mjs +374 -0
  38. package/lib-yak/Button.mjs.map +1 -0
  39. package/lib-yak/ContextMenu.mjs +642 -0
  40. package/lib-yak/ContextMenu.mjs.map +1 -0
  41. package/lib-yak/Dialog.mjs +469 -0
  42. package/lib-yak/Dialog.mjs.map +1 -0
  43. package/lib-yak/Draggable.mjs +892 -0
  44. package/lib-yak/Draggable.mjs.map +1 -0
  45. package/lib-yak/ErrorBoundary.mjs +108 -0
  46. package/lib-yak/ErrorBoundary.mjs.map +1 -0
  47. package/lib-yak/FillLastLineResizer.mjs +238 -0
  48. package/lib-yak/FillLastLineResizer.mjs.map +1 -0
  49. package/lib-yak/Flip.mjs +644 -0
  50. package/lib-yak/Flip.mjs.map +1 -0
  51. package/lib-yak/FlipList.mjs +186 -0
  52. package/lib-yak/FlipList.mjs.map +1 -0
  53. package/lib-yak/FormatDate.mjs +25 -0
  54. package/lib-yak/FormatDate.mjs.map +1 -0
  55. package/lib-yak/Icon.mjs +74 -0
  56. package/lib-yak/Icon.mjs.map +1 -0
  57. package/lib-yak/Image.mjs +41 -0
  58. package/lib-yak/Image.mjs.map +1 -0
  59. package/lib-yak/Link.mjs +116 -0
  60. package/lib-yak/Link.mjs.map +1 -0
  61. package/lib-yak/Loading.mjs +54 -0
  62. package/lib-yak/Loading.mjs.map +1 -0
  63. package/lib-yak/LoadingDiv.mjs +82 -0
  64. package/lib-yak/LoadingDiv.mjs.map +1 -0
  65. package/lib-yak/Notifications.mjs +99 -0
  66. package/lib-yak/Notifications.mjs.map +1 -0
  67. package/lib-yak/PageLoader.mjs +61 -0
  68. package/lib-yak/PageLoader.mjs.map +1 -0
  69. package/lib-yak/PersistentNotifications.mjs +209 -0
  70. package/lib-yak/PersistentNotifications.mjs.map +1 -0
  71. package/lib-yak/Popup.mjs +66 -0
  72. package/lib-yak/Popup.mjs.map +1 -0
  73. package/lib-yak/SplitColumnsContainer.mjs +140 -0
  74. package/lib-yak/SplitColumnsContainer.mjs.map +1 -0
  75. package/lib-yak/SwitchDiv.mjs +60 -0
  76. package/lib-yak/SwitchDiv.mjs.map +1 -0
  77. package/lib-yak/TextButton.mjs +61 -0
  78. package/lib-yak/TextButton.mjs.map +1 -0
  79. package/lib-yak/ToastNotifications.mjs +316 -0
  80. package/lib-yak/ToastNotifications.mjs.map +1 -0
  81. package/lib-yak/Tooltip.mjs +176 -0
  82. package/lib-yak/Tooltip.mjs.map +1 -0
  83. package/lib-yak/TransitionDiv.mjs +59 -0
  84. package/lib-yak/TransitionDiv.mjs.map +1 -0
  85. package/lib-yak/WarningDialog.mjs +107 -0
  86. package/lib-yak/WarningDialog.mjs.map +1 -0
  87. package/lib-yak/alt/buttons/OnClickLoadingButton.mjs +36 -0
  88. package/lib-yak/alt/buttons/OnClickLoadingButton.mjs.map +1 -0
  89. package/lib-yak/alt/dialogs/DialogWithImageHeader.mjs +50 -0
  90. package/lib-yak/alt/dialogs/DialogWithImageHeader.mjs.map +1 -0
  91. package/lib-yak/alt/dialogs/DialogWithSidebar.mjs +193 -0
  92. package/lib-yak/alt/dialogs/DialogWithSidebar.mjs.map +1 -0
  93. package/lib-yak/alt/dialogs/MobileBubbleDialog.mjs +82 -0
  94. package/lib-yak/alt/dialogs/MobileBubbleDialog.mjs.map +1 -0
  95. package/lib-yak/containers/DialogContainer.mjs +482 -0
  96. package/lib-yak/containers/DialogContainer.mjs.map +1 -0
  97. package/lib-yak/containers/Reposition.mjs +35 -0
  98. package/lib-yak/containers/Reposition.mjs.map +1 -0
  99. package/lib-yak/containers/usePositioning.mjs +311 -0
  100. package/lib-yak/containers/usePositioning.mjs.map +1 -0
  101. package/lib-yak/index.mjs +37 -0
  102. package/lib-yak/index.mjs.map +1 -0
  103. package/lib-yak/useDialogWithToggle.mjs +18 -0
  104. package/lib-yak/useDialogWithToggle.mjs.map +1 -0
  105. package/lib-yak/willUseIsSticky.mjs +147 -0
  106. package/lib-yak/willUseIsSticky.mjs.map +1 -0
  107. package/package.json +12 -3
  108. package/src/BasicBulletList.jsx +1 -1
  109. package/src/Button.jsx +36 -30
  110. package/src/ContextMenu.jsx +21 -7
  111. package/src/Dialog.jsx +31 -12
  112. package/src/Icon.jsx +5 -4
  113. package/src/Loading.jsx +19 -5
  114. package/src/PageLoader.jsx +3 -3
  115. package/src/PersistentNotifications.jsx +2 -2
  116. package/src/SplitColumnsContainer.jsx +89 -30
  117. package/src/TextButton.jsx +1 -1
  118. package/src/ToastNotifications.jsx +15 -8
  119. package/src/alt/dialogs/DialogWithImageHeader.jsx +2 -2
  120. package/src/alt/dialogs/DialogWithSidebar.jsx +6 -5
  121. package/src/alt/dialogs/MobileBubbleDialog.jsx +1 -1
  122. package/src/containers/DialogContainer.jsx +11 -4
  123. package/src/willUseIsSticky.jsx +22 -2
@@ -1,6 +1,6 @@
1
+ import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
1
2
  import _extends from '@babel/runtime/helpers/extends';
2
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import _taggedTemplateLiteral from '@babel/runtime/helpers/taggedTemplateLiteral';
4
4
  import _get from 'lodash/fp/get';
5
5
  import React, { forwardRef, useRef, useEffect } from 'react';
6
6
  import styled from 'styled-components';
@@ -9,8 +9,9 @@ import { oneWayAnimation, twoWayAnimation, media, identityOpacityFrames, callIfF
9
9
  import { ErrorBoundary } from '../ErrorBoundary.mjs';
10
10
  import { useFlipAnimation } from '../Flip.mjs';
11
11
 
12
- const _excluded = ["timing", "nestedFlip", "enterEffect", "leaveEffect", "modalIn", "modalOut", "blurBackdrop"];
13
12
  var _templateObject, _templateObject2;
13
+ const _excluded = ["tagAs", "withScroll", "fullscreen", "fullscreenOnMobile"],
14
+ _excluded2 = ["timing", "nestedFlip", "enterEffect", "leaveEffect", "modalIn", "modalOut", "blurBackdrop"];
14
15
  const dialogFadeInDown = oneWayAnimation('opacity: 0; transform: translateY(50px);', 'opacity: 1; transform: translateY(0);');
15
16
  const [dialogModalIn, dialogModalOut] = twoWayAnimation('opacity: 0;', 'opacity: 1;');
16
17
  const Modal = /*#__PURE__*/styled.div.withConfig({
@@ -21,10 +22,28 @@ const ModalContainer = /*#__PURE__*/styled.div.withConfig({
21
22
  displayName: "DialogContainer__ModalContainer",
22
23
  componentId: "sc-wendlg-1"
23
24
  })(["position:fixed;top:0;bottom:0;left:0;right:0;scrollbar-color:transparent transparent;"]);
24
- const DialogCenter = /*#__PURE__*/styled.div.withConfig({
25
+
26
+ // R6: "as" não existe no yak. tagAs troca a tag renderizada (form quando a dialog embute um
27
+ // form, senão div). withScroll/fullscreen/fullscreenOnMobile são lidos pelo template abaixo,
28
+ // mas não são atributos DOM válidos: como o alvo do styled() agora é um componente (não mais
29
+ // styled.div puro), o styled-components para de filtrar prop inválida sozinho — tiram-se à mão
30
+ // antes do spread no elemento real.
31
+ const DialogCenterTagAs = /*#__PURE__*/React.forwardRef((_ref, ref) => {
32
+ let {
33
+ tagAs: Tag = 'div',
34
+ withScroll,
35
+ fullscreen,
36
+ fullscreenOnMobile
37
+ } = _ref,
38
+ props = _objectWithoutProperties(_ref, _excluded);
39
+ return /*#__PURE__*/React.createElement(Tag, _extends({
40
+ ref: ref
41
+ }, props));
42
+ });
43
+ const DialogCenter = /*#__PURE__*/styled(DialogCenterTagAs).withConfig({
25
44
  displayName: "DialogContainer__DialogCenter",
26
45
  componentId: "sc-wendlg-2"
27
- })(["@supports (position:sticky){will-change:transform,opacity;&.JS-wc-off{will-change:auto;}}display:-webkit-box;display:-ms-flexbox;display:flex;overflow-y:", ";overflow-x:hidden;scrollbar-color:rgba(255,255,255,0.6) transparent;position:fixed;top:0;bottom:0;left:0;right:0;align-items:center;", " ", ""], props => props.withScroll ? "scroll" : "hidden", media.desktop(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", ";\n "])), props => props.fullscreen ? '1rem' : '3rem 0.5rem;'), media.mobile(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: ", ";\n "])), props => props.fullscreenOnMobile ? '0' : '0.5rem'));
46
+ })(["@supports (position:sticky){will-change:transform,opacity;&.JS-wc-off{will-change:auto;}}display:-webkit-box;display:-ms-flexbox;display:flex;overflow-y:", ";overflow-x:hidden;scrollbar-color:rgba(255,255,255,0.6) transparent;position:fixed;top:0;bottom:0;left:0;right:0;align-items:center;", " ", ""], props => props.withScroll ? "scroll" : "hidden", media.desktop(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", ";\n "])), props => props.fullscreen ? '1rem' : '3rem 0.5rem'), media.mobile(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: ", ";\n "])), props => props.fullscreenOnMobile ? '0' : '0.5rem'));
28
47
  const PopupSlot = /*#__PURE__*/styled(Slot).withConfig({
29
48
  displayName: "DialogContainer__PopupSlot",
30
49
  componentId: "sc-wendlg-3"
@@ -143,7 +162,7 @@ const removeWindowScroll = (opening, keepDisabledScroll) => {
143
162
  }
144
163
  };
145
164
  const [useDialogLayers, getDialogLayersSize] = willUseLayers(React.useLayoutEffect);
146
- const DialogContainer = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
165
+ const DialogContainer = /*#__PURE__*/forwardRef((_ref2, forwardedRef) => {
147
166
  let {
148
167
  children,
149
168
  title,
@@ -172,7 +191,7 @@ const DialogContainer = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
172
191
  skipCheckFocus,
173
192
  autoComplete,
174
193
  blurBackdrop
175
- } = _ref;
194
+ } = _ref2;
176
195
  const dialogRef = useEnsureRef(forwardedRef);
177
196
  const prevActiveElement = useRefState(document.activeElement);
178
197
  const modal = useEnsureRef(modalRef);
@@ -379,13 +398,13 @@ const DialogContainer = /*#__PURE__*/forwardRef((_ref, forwardedRef) => {
379
398
  fullscreen: fullscreen,
380
399
  fullscreenOnMobile: fullscreenOnMobile,
381
400
  ref: modalScroll,
382
- as: usingForm ? 'form' : undefined,
401
+ tagAs: usingForm ? 'form' : undefined,
383
402
  onClick: checkClick,
384
403
  onSubmit: usingForm ? () => {} : undefined,
385
404
  onMouseDown: mouseDown
386
405
  }, content))));
387
406
  });
388
- const AnimatedModal = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
407
+ const AnimatedModal = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
389
408
  let {
390
409
  timing,
391
410
  nestedFlip,
@@ -394,8 +413,8 @@ const AnimatedModal = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
394
413
  modalIn = dialogModalIn,
395
414
  modalOut = dialogModalOut,
396
415
  blurBackdrop
397
- } = _ref2,
398
- props = _objectWithoutProperties(_ref2, _excluded);
416
+ } = _ref3,
417
+ props = _objectWithoutProperties(_ref3, _excluded2);
399
418
  const modal = useEnsureRef(ref);
400
419
  useFlipAnimation(modal, modalIn, modalOut, {
401
420
  timing,
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContainer.mjs","sources":["../../src/containers/DialogContainer.jsx"],"sourcesContent":["import React, {forwardRef, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport _ from 'lodash/fp'\nimport {Fill, Slot, useEnsureRef, useRefState, willUseLayers} from '@startlibs/core'\nimport {callIfFunction, identityOpacityFrames, media, oneWayAnimation, twoWayAnimation} from '@startlibs/utils'\nimport {ErrorBoundary} from '../ErrorBoundary'\nimport {useFlipAnimation} from '../Flip'\n\nexport const dialogFadeInDown = oneWayAnimation('opacity: 0; transform: translateY(50px);', 'opacity: 1; transform: translateY(0);')\nconst [dialogModalIn, dialogModalOut] = twoWayAnimation('opacity: 0;', 'opacity: 1;')\nexport {dialogModalIn, dialogModalOut}\n\nexport const Modal = styled.div`\n position: fixed;\n top:0;\n bottom:0;\n left:0;\n right:0;\n will-change: opacity;\n background-color: rgba(0,0,0,0.7);\n ${props => props.$blurBackdrop && `backdrop-filter: blur(10px);`}\n`\n\nexport const ModalContainer = styled.div`\n position: fixed;\n top:0;\n bottom:0;\n left:0;\n right:0;\n /* Barra invisível mantendo a LARGURA NATIVA da calha (scrollbar-color não\n colapsa a largura como scrollbar-width:none / ::-webkit-scrollbar faziam).\n Essa calha compensa a remoção da scrollbar do body ao abrir a dialog (body\n vira overflow:hidden e o viewport alarga ~15px no fim da animação); sem ela,\n a dialog centralizada dá um pulinho lateral. Aqui: sem barra visível e sem salto. */\n scrollbar-color: transparent transparent;\n`\n\nconst DialogCenter = styled.div`\n @supports (position:sticky) {\n will-change: transform, opacity;\n &.JS-wc-off {\n will-change: auto;\n }\n } \n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n overflow-y: ${props => props.withScroll ? \"scroll\" : \"hidden\"};\n overflow-x:hidden;\n /* idem ModalContainer: calha nativa reservada (sem salto), track invisível — mas o\n polegar é visível, senão dialog mais alta que a tela rola sem nenhuma pista.\n Claro porque a calha fica sobre o backdrop escuro. Sem overflow, o Chromium não\n desenha polegar → não sobra track fantasma. */\n scrollbar-color: rgba(255,255,255,0.6) transparent;\n position:fixed;\n top:0;\n bottom:0;\n left:0;\n right:0;\n align-items: center;\n ${media.desktop`\n padding: ${props => props.fullscreen ? '1rem' : '3rem 0.5rem;'};\n `}\n ${media.mobile`\n padding: ${props => props.fullscreenOnMobile ? '0' : '0.5rem'};\n `}\n`\n\nconst PopupSlot = styled(Slot)`\nposition: absolute;\nleft:0;\ntop: 0;\nwidth: 100%;\n`\nconst RelativeSlot = styled(Slot)`\nwidth:100%;\nposition: absolute;\n`\nconst editableSelector = 'textarea,input,[contenteditable]'\nconst focusableSelector = 'button,a,'+editableSelector\n\nconst shouldPreventResolvers = []\nlet shouldPreventDialogPop = Promise.resolve()\nexport const preventDialogPop = (cb) => {\n shouldPreventDialogPop = shouldPreventDialogPop.then(() => {\n new Promise((res) => {\n shouldPreventResolvers.push(res)\n cb()\n })\n })\n}\nexport const waitForPop = () => {\n return shouldPreventDialogPop\n}\nconst preventDialogPopState = (e) => {\n const resolver = shouldPreventResolvers.shift()\n if (resolver) {\n e.stopImmediatePropagation()\n resolver()\n }\n}\n\nwindow.addEventListener(\"popstate\",preventDialogPopState)\n\nconst fixPosition = (query, fn) => {\n const elements = document.querySelectorAll(query)\n if (elements.length) {\n Array.prototype.slice.call(elements).forEach(fn)\n }\n}\n\nlet openLayers = 0\nlet fakedScrollTop = 0\nexport const isFakeScrolled = () => openLayers>0 && fakedScrollTop > 0\nexport const removeWindowScroll = (opening, keepDisabledScroll) => {\n if (opening) {\n openLayers = Math.max(openLayers+1,1)\n if (openLayers>1) {\n return\n }\n } else {\n openLayers = Math.min(openLayers-1,0)\n if (openLayers<0) {\n return\n }\n }\n const finishReset = (marginRight, scrollTop) => {\n // body.style.paddingRight = marginRight + 'px'\n window.scroll(window.scrollLeft || window.scrollX || 0, scrollTop)\n if (keepDisabledScroll) { return }\n fixPosition('.navbar,.JS-fix-dialog-scroll', n => {\n if (opening) {\n const {right} = window.getComputedStyle(n)\n n.style.right = (parseInt(right) + marginRight) + 'px'\n } else {\n n.style.right = null\n }\n })\n fixPosition('.JS-fix-dialog-scroll-transform', n => {\n if (marginRight) {\n n.style.transform = window.getComputedStyle(n).transform + ` translateX(-${marginRight / 2}px)`\n } else {\n n.style.transform = null\n }\n })\n\n fixPosition('.JS-on-open-dialog', n => {\n if (opening) {\n n.classList.add('JS-dialog-open')\n } else {\n n.classList.remove('JS-dialog-open')\n }\n })\n window.requestAnimationFrame(()=>window.dispatchEvent(new CustomEvent('resize', {detail: {dialog: true}})))\n }\n\n const body = document.body\n let bodyWidth = body.offsetWidth\n if (opening) {\n const scrollTop = window.pageYOffset\n fakedScrollTop = scrollTop\n if (keepDisabledScroll) {\n body.style.overflowY = 'scroll'\n } else {\n body.style.overflow = 'hidden'\n }\n const marginRight = (body.offsetWidth - bodyWidth)\n\n body.style.position = 'fixed'\n body.style.top = -scrollTop + \"px\"\n body.style.left = '0'\n if (!keepDisabledScroll) {\n body.style.right = marginRight + 'px'\n } else {\n body.style.right = '0'\n }\n\n finishReset(marginRight,scrollTop)\n } else {\n fakedScrollTop = 0\n // setTimeout(() => {\n const scrollTop = parseInt(body.style.top)\n body.style.overflow = ''\n\n body.style.position = ''\n body.style.top = ''\n body.style.left = ''\n body.style.right = ''\n finishReset(0,-scrollTop)\n // },250)\n }\n}\n\nconst {href: originalHref, hash: originalHash} = window.location\n\nconst [useDialogLayers, getDialogLayersSize] = willUseLayers(React.useLayoutEffect)\nexport {useDialogLayers, getDialogLayersSize}\n\nexport const DialogContainer = forwardRef((\n {\n children, title, closeDialog, closeOnClick, dontRefocus, onConfirm, prev, next, form, noFormWrap, withFormWrap, placement = 'Dialog',\n DialogErrorContent, customHref, animation = dialogFadeInDown, animationTiming, animationLeaveEffect, animationEnterEffect, skipKeys,fullscreenOnMobile, fullscreen, confirmChanges = false, skipDom, modalRef, skipCheckFocus,\n autoComplete, blurBackdrop\n },\n forwardedRef) => {\n\n const dialogRef = useEnsureRef(forwardedRef)\n const prevActiveElement = useRefState(document.activeElement)\n const modal = useEnsureRef(modalRef)\n const modalScroll = useRef()\n const mouseDownInModal = useRefState()\n const previousHash = useRefState(window.location.hash)\n\n const [layerIndex, {isTop, getSize}] = useDialogLayers({\n onFirst: () => {\n waitForPop().then(() => {\n if (customHref && encodeURI(customHref) === window.location.hash) {\n window.history.replaceState(history.state, '', window.location.pathname)\n window.history.pushState({dialog: true}, '', customHref)\n } else {\n window.history.pushState({dialog: true}, '', window.location.href + (customHref || \"\"))\n }\n })\n // clearPreventDialogPop()\n if (document.body.scrollHeight === document.body.clientHeight) {\n modal.current.style.overflowY = \"scroll\"\n if (modalScroll.current) {\n modalScroll.current.style.overflowY = \"scroll\"\n }\n }\n // resetNavbar(true)\n },\n onRemove: (layers) => {\n if (\n (layers === 0 && _.get('dialog', window.history.state) === true) ||\n (customHref && window.location.hash === encodeURI(customHref))\n ) {\n preventDialogPop(() => {\n window.history.back()\n })\n }\n },\n onEmpty: () => {\n if (document.body.scrollHeight > document.body.clientHeight) {\n if (modalScroll.current) {\n modalScroll.current.style.overflowY = \"hidden\"\n }\n } else if (modal.current) {\n modal.current.style.overflowY = \"scroll\"\n }\n removeWindowScroll(false)\n }\n })\n\n const confirmCloseDialog = () => {\n if (form && form.getHasChanged() && confirmChanges) {\n form.confirm()\n .then(closeDialog)\n } else {\n callIfFunction(closeDialog)\n }\n }\n/*\n useEffect(() => () => {\n setTimeout(() => {\n if (window.location.hash === previousHash.get() && _.get('dialog', window.history.state) === true) {\n console.log(\"???\")\n }\n }, 100)\n }, [])*/\n\n const pastFirstTime = React.useRef()\n\n\n useEffect(() => {\n if (customHref && window.location.hash !== customHref) {\n // if (pastFirstTime.current) {\n waitForPop().then(() => {\n if (window.location.hash) {\n window.history.replaceState({dialog: true}, '', customHref)\n } else {\n window.history.pushState({dialog: true}, '', customHref)\n }\n })\n // } else {\n // window.history.pushState({dialog: true}, '', customHref)\n // pastFirstTime.current = true\n // }\n previousHash.set(encodeURI(customHref))\n }\n }, [customHref])\n\n useEffect(() => {\n window.addEventListener('keydown', checkKey)\n window.addEventListener('focusin', checkFocus)\n window.addEventListener('popstate', checkHistory)\n return () => {\n window.removeEventListener('keydown', checkKey)\n window.removeEventListener('focusin', checkFocus)\n window.removeEventListener('popstate', checkHistory)\n if (!dontRefocus && document.body.contains(prevActiveElement.get()) && prevActiveElement.get().matches(focusableSelector)) {\n setTimeout(() => prevActiveElement.get().focus(), 0)\n }\n }\n }, [])\n\n\n const checkHistory = (e) => {\n if (!isTop()/* || (previousHash.get() !== window.location.hash && !customHref)*/) return\n if (_.get('willOpenDialog', window.history.state) === true) { return }\n if (_.get('dialog', window.history.state) !== true) {\n window.history.pushState({dialog: true}, '', window.location.href)\n }\n confirmCloseDialog()\n }\n\n const checkFocus = (e) => {\n if (!isTop() || skipCheckFocus) return\n if (modal.current && !e.target.closest('.' + modal.current.className.split(' ').join('.'))) {\n const nextTab = modal.current.querySelector('[tabindex]')\n if (nextTab)\n nextTab.focus()\n }\n }\n\n const checkKey = (e) => {\n if (!isTop() || skipKeys || e.target?.className?.indexOf(\"JS-dialog-skip-evts\")>=0 || e.target?.closest(\".JS-dialog-skip-evts\")) return\n if (modal.current && e.shiftKey && e.keyCode === 9 && modal.current.querySelector('[tabindex]') === document.activeElement) {\n e.preventDefault()\n const prevTab = [].slice.call(modal.current.querySelectorAll('[tabindex]')).reduce((acc, el) => el.tabIndex >= acc.tabIndex ? el : acc, {tabIndex: -1})\n if (prevTab && prevTab.focus)\n prevTab.focus()\n }\n if (e.key === 'Escape') {\n e.preventDefault()\n confirmCloseDialog()\n } else if (e.key === 'Enter') {\n if (e.target) {\n const target = e.target.closest(focusableSelector + ',div')\n if (target && (target.tagName.toLowerCase() !== 'input' || target.form || target.type.toLowerCase() === 'file') && target.matches(focusableSelector))\n return\n }\n e.preventDefault()\n e.stopPropagation()\n if (onConfirm) {\n onConfirm()\n } else if (form) {\n form.submitForm()\n }\n } else if (!e.target.matches(editableSelector)) {\n if (e.key === 'ArrowLeft' && prev) {\n prev()\n } else if (e.key === 'ArrowRight' && next) {\n next()\n }\n }\n }\n\n const checkClick = (e) => {\n if (closeOnClick && e.target === e.currentTarget && mouseDownInModal.get()) {\n confirmCloseDialog()\n }\n mouseDownInModal.set(false)\n }\n const mouseDown = (e) => {\n mouseDownInModal.set(e.target === e.currentTarget)\n }\n\n const usingForm = withFormWrap || (form && !noFormWrap)\n\n useFlipAnimation(dialogRef, animation, true, {\n nestedFlip: !skipDom,\n onEnterEnd: () => {\n if (getSize() === 1) {\n removeWindowScroll(true);\n }\n if (document.body.scrollHeight === document.body.clientHeight) {\n modal.current.style.overflowY = \"none\"\n }\n if (modalScroll.current) {\n modalScroll.current.style.overflowY = \"scroll\"\n }\n },\n leaveEffect:animationLeaveEffect,\n enterEffect:animationEnterEffect,\n timing:animationTiming\n })\n useFlipAnimation(modal, !skipDom && identityOpacityFrames, true,{timing:animationTiming})\n\n const content = <>\n <PopupSlot name={'Popup-' + layerIndex}/>\n <ErrorBoundary title={callIfFunction(title)} closeDialog={closeDialog} Error={DialogErrorContent}>\n {callIfFunction(children, {confirmCloseDialog}, dialogRef, fullscreenOnMobile)}\n </ErrorBoundary>\n </>\n\n return (\n <Fill name={placement}>\n {\n skipDom\n ? content\n : <>\n <AnimatedModal timing={animationTiming} blurBackdrop={blurBackdrop}/>\n <ModalContainer ref={modal}>\n\n <DialogCenter autoComplete={autoComplete} className=\"JS-has-wc\" withScroll={getSize()>1} fullscreen={fullscreen} fullscreenOnMobile={fullscreenOnMobile} ref={modalScroll} as={usingForm ? 'form' : undefined} onClick={checkClick}\n onSubmit={usingForm ? () => {} : undefined}\n onMouseDown={mouseDown}>\n {content}\n </DialogCenter>\n </ModalContainer>\n </>\n }\n </Fill>\n )\n})\n\nexport const AnimatedModal = React.forwardRef(({timing,nestedFlip,enterEffect,leaveEffect,modalIn = dialogModalIn, modalOut = dialogModalOut, blurBackdrop,...props},ref) => {\n const modal = useEnsureRef(ref)\n useFlipAnimation(modal, modalIn, modalOut,{timing,nestedFlip,leaveEffect,enterEffect})\n return <Modal {...props} $blurBackdrop={blurBackdrop} ref={modal}/>\n})\n\n"],"names":["dialogFadeInDown","oneWayAnimation","dialogModalIn","dialogModalOut","twoWayAnimation","Modal","styled","div","withConfig","displayName","componentId","props","$blurBackdrop","ModalContainer","DialogCenter","withScroll","media","desktop","_templateObject","_taggedTemplateLiteral","fullscreen","mobile","_templateObject2","fullscreenOnMobile","PopupSlot","Slot","editableSelector","focusableSelector","shouldPreventResolvers","shouldPreventDialogPop","Promise","resolve","preventDialogPop","cb","then","res","push","waitForPop","preventDialogPopState","e","resolver","shift","stopImmediatePropagation","window","addEventListener","fixPosition","query","fn","elements","document","querySelectorAll","length","Array","prototype","slice","call","forEach","openLayers","fakedScrollTop","isFakeScrolled","removeWindowScroll","opening","keepDisabledScroll","Math","max","min","finishReset","marginRight","scrollTop","scroll","scrollLeft","scrollX","n","right","getComputedStyle","style","parseInt","transform","concat","classList","add","remove","requestAnimationFrame","dispatchEvent","CustomEvent","detail","dialog","body","bodyWidth","offsetWidth","pageYOffset","overflowY","overflow","position","top","left","useDialogLayers","getDialogLayersSize","willUseLayers","React","useLayoutEffect","DialogContainer","forwardRef","_ref","forwardedRef","children","title","closeDialog","closeOnClick","dontRefocus","onConfirm","prev","next","form","noFormWrap","withFormWrap","placement","DialogErrorContent","customHref","animation","animationTiming","animationLeaveEffect","animationEnterEffect","skipKeys","confirmChanges","skipDom","modalRef","skipCheckFocus","autoComplete","blurBackdrop","dialogRef","useEnsureRef","prevActiveElement","useRefState","activeElement","modal","modalScroll","useRef","mouseDownInModal","previousHash","location","hash","layerIndex","isTop","getSize","onFirst","encodeURI","history","replaceState","state","pathname","pushState","href","scrollHeight","clientHeight","current","onRemove","layers","_get","back","onEmpty","confirmCloseDialog","getHasChanged","confirm","callIfFunction","useEffect","set","checkKey","checkFocus","checkHistory","removeEventListener","contains","get","matches","setTimeout","focus","target","closest","className","split","join","nextTab","querySelector","_e$target","_e$target2","indexOf","shiftKey","keyCode","preventDefault","prevTab","reduce","acc","el","tabIndex","key","tagName","toLowerCase","type","stopPropagation","submitForm","checkClick","currentTarget","mouseDown","usingForm","useFlipAnimation","nestedFlip","onEnterEnd","leaveEffect","enterEffect","timing","identityOpacityFrames","content","createElement","Fragment","name","ErrorBoundary","Error","Fill","AnimatedModal","ref","as","undefined","onClick","onSubmit","onMouseDown","_ref2","modalIn","modalOut","_objectWithoutProperties","_excluded","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"DialogContainer.mjs","sources":["../../src/containers/DialogContainer.jsx"],"sourcesContent":["import React, {forwardRef, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport _ from 'lodash/fp'\nimport {Fill, Slot, useEnsureRef, useRefState, willUseLayers} from '@startlibs/core'\nimport {callIfFunction, identityOpacityFrames, media, oneWayAnimation, twoWayAnimation} from '@startlibs/utils'\nimport {ErrorBoundary} from '../ErrorBoundary'\nimport {useFlipAnimation} from '../Flip'\n\nexport const dialogFadeInDown = oneWayAnimation('opacity: 0; transform: translateY(50px);', 'opacity: 1; transform: translateY(0);')\nconst [dialogModalIn, dialogModalOut] = twoWayAnimation('opacity: 0;', 'opacity: 1;')\nexport {dialogModalIn, dialogModalOut}\n\nexport const Modal = styled.div`\n position: fixed;\n top:0;\n bottom:0;\n left:0;\n right:0;\n will-change: opacity;\n background-color: rgba(0,0,0,0.7);\n ${props => props.$blurBackdrop && `backdrop-filter: blur(10px);`}\n`\n\nexport const ModalContainer = styled.div`\n position: fixed;\n top:0;\n bottom:0;\n left:0;\n right:0;\n /* Barra invisível mantendo a LARGURA NATIVA da calha (scrollbar-color não\n colapsa a largura como scrollbar-width:none / ::-webkit-scrollbar faziam).\n Essa calha compensa a remoção da scrollbar do body ao abrir a dialog (body\n vira overflow:hidden e o viewport alarga ~15px no fim da animação); sem ela,\n a dialog centralizada dá um pulinho lateral. Aqui: sem barra visível e sem salto. */\n scrollbar-color: transparent transparent;\n`\n\n// R6: \"as\" não existe no yak. tagAs troca a tag renderizada (form quando a dialog embute um\n// form, senão div). withScroll/fullscreen/fullscreenOnMobile são lidos pelo template abaixo,\n// mas não são atributos DOM válidos: como o alvo do styled() agora é um componente (não mais\n// styled.div puro), o styled-components para de filtrar prop inválida sozinho — tiram-se à mão\n// antes do spread no elemento real.\nconst DialogCenterTagAs = React.forwardRef(({tagAs: Tag = 'div', withScroll, fullscreen, fullscreenOnMobile, ...props}, ref) => <Tag ref={ref} {...props}/>)\n\nconst DialogCenter = styled(DialogCenterTagAs)`\n @supports (position:sticky) {\n will-change: transform, opacity;\n &.JS-wc-off {\n will-change: auto;\n }\n }\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n overflow-y: ${props => props.withScroll ? \"scroll\" : \"hidden\"};\n overflow-x:hidden;\n /* idem ModalContainer: calha nativa reservada (sem salto), track invisível — mas o\n polegar é visível, senão dialog mais alta que a tela rola sem nenhuma pista.\n Claro porque a calha fica sobre o backdrop escuro. Sem overflow, o Chromium não\n desenha polegar → não sobra track fantasma. */\n scrollbar-color: rgba(255,255,255,0.6) transparent;\n position:fixed;\n top:0;\n bottom:0;\n left:0;\n right:0;\n align-items: center;\n ${media.desktop`\n padding: ${props => props.fullscreen ? '1rem' : '3rem 0.5rem'};\n `}\n ${media.mobile`\n padding: ${props => props.fullscreenOnMobile ? '0' : '0.5rem'};\n `}\n`\n\nconst PopupSlot = styled(Slot)`\nposition: absolute;\nleft:0;\ntop: 0;\nwidth: 100%;\n`\nconst RelativeSlot = styled(Slot)`\nwidth:100%;\nposition: absolute;\n`\nconst editableSelector = 'textarea,input,[contenteditable]'\nconst focusableSelector = 'button,a,'+editableSelector\n\nconst shouldPreventResolvers = []\nlet shouldPreventDialogPop = Promise.resolve()\nexport const preventDialogPop = (cb) => {\n shouldPreventDialogPop = shouldPreventDialogPop.then(() => {\n new Promise((res) => {\n shouldPreventResolvers.push(res)\n cb()\n })\n })\n}\nexport const waitForPop = () => {\n return shouldPreventDialogPop\n}\nconst preventDialogPopState = (e) => {\n const resolver = shouldPreventResolvers.shift()\n if (resolver) {\n e.stopImmediatePropagation()\n resolver()\n }\n}\n\nwindow.addEventListener(\"popstate\",preventDialogPopState)\n\nconst fixPosition = (query, fn) => {\n const elements = document.querySelectorAll(query)\n if (elements.length) {\n Array.prototype.slice.call(elements).forEach(fn)\n }\n}\n\nlet openLayers = 0\nlet fakedScrollTop = 0\nexport const isFakeScrolled = () => openLayers>0 && fakedScrollTop > 0\nexport const removeWindowScroll = (opening, keepDisabledScroll) => {\n if (opening) {\n openLayers = Math.max(openLayers+1,1)\n if (openLayers>1) {\n return\n }\n } else {\n openLayers = Math.min(openLayers-1,0)\n if (openLayers<0) {\n return\n }\n }\n const finishReset = (marginRight, scrollTop) => {\n // body.style.paddingRight = marginRight + 'px'\n window.scroll(window.scrollLeft || window.scrollX || 0, scrollTop)\n if (keepDisabledScroll) { return }\n fixPosition('.navbar,.JS-fix-dialog-scroll', n => {\n if (opening) {\n const {right} = window.getComputedStyle(n)\n n.style.right = (parseInt(right) + marginRight) + 'px'\n } else {\n n.style.right = null\n }\n })\n fixPosition('.JS-fix-dialog-scroll-transform', n => {\n if (marginRight) {\n n.style.transform = window.getComputedStyle(n).transform + ` translateX(-${marginRight / 2}px)`\n } else {\n n.style.transform = null\n }\n })\n\n fixPosition('.JS-on-open-dialog', n => {\n if (opening) {\n n.classList.add('JS-dialog-open')\n } else {\n n.classList.remove('JS-dialog-open')\n }\n })\n window.requestAnimationFrame(()=>window.dispatchEvent(new CustomEvent('resize', {detail: {dialog: true}})))\n }\n\n const body = document.body\n let bodyWidth = body.offsetWidth\n if (opening) {\n const scrollTop = window.pageYOffset\n fakedScrollTop = scrollTop\n if (keepDisabledScroll) {\n body.style.overflowY = 'scroll'\n } else {\n body.style.overflow = 'hidden'\n }\n const marginRight = (body.offsetWidth - bodyWidth)\n\n body.style.position = 'fixed'\n body.style.top = -scrollTop + \"px\"\n body.style.left = '0'\n if (!keepDisabledScroll) {\n body.style.right = marginRight + 'px'\n } else {\n body.style.right = '0'\n }\n\n finishReset(marginRight,scrollTop)\n } else {\n fakedScrollTop = 0\n // setTimeout(() => {\n const scrollTop = parseInt(body.style.top)\n body.style.overflow = ''\n\n body.style.position = ''\n body.style.top = ''\n body.style.left = ''\n body.style.right = ''\n finishReset(0,-scrollTop)\n // },250)\n }\n}\n\nconst {href: originalHref, hash: originalHash} = window.location\n\nconst [useDialogLayers, getDialogLayersSize] = willUseLayers(React.useLayoutEffect)\nexport {useDialogLayers, getDialogLayersSize}\n\nexport const DialogContainer = forwardRef((\n {\n children, title, closeDialog, closeOnClick, dontRefocus, onConfirm, prev, next, form, noFormWrap, withFormWrap, placement = 'Dialog',\n DialogErrorContent, customHref, animation = dialogFadeInDown, animationTiming, animationLeaveEffect, animationEnterEffect, skipKeys,fullscreenOnMobile, fullscreen, confirmChanges = false, skipDom, modalRef, skipCheckFocus,\n autoComplete, blurBackdrop\n },\n forwardedRef) => {\n\n const dialogRef = useEnsureRef(forwardedRef)\n const prevActiveElement = useRefState(document.activeElement)\n const modal = useEnsureRef(modalRef)\n const modalScroll = useRef()\n const mouseDownInModal = useRefState()\n const previousHash = useRefState(window.location.hash)\n\n const [layerIndex, {isTop, getSize}] = useDialogLayers({\n onFirst: () => {\n waitForPop().then(() => {\n if (customHref && encodeURI(customHref) === window.location.hash) {\n window.history.replaceState(history.state, '', window.location.pathname)\n window.history.pushState({dialog: true}, '', customHref)\n } else {\n window.history.pushState({dialog: true}, '', window.location.href + (customHref || \"\"))\n }\n })\n // clearPreventDialogPop()\n if (document.body.scrollHeight === document.body.clientHeight) {\n modal.current.style.overflowY = \"scroll\"\n if (modalScroll.current) {\n modalScroll.current.style.overflowY = \"scroll\"\n }\n }\n // resetNavbar(true)\n },\n onRemove: (layers) => {\n if (\n (layers === 0 && _.get('dialog', window.history.state) === true) ||\n (customHref && window.location.hash === encodeURI(customHref))\n ) {\n preventDialogPop(() => {\n window.history.back()\n })\n }\n },\n onEmpty: () => {\n if (document.body.scrollHeight > document.body.clientHeight) {\n if (modalScroll.current) {\n modalScroll.current.style.overflowY = \"hidden\"\n }\n } else if (modal.current) {\n modal.current.style.overflowY = \"scroll\"\n }\n removeWindowScroll(false)\n }\n })\n\n const confirmCloseDialog = () => {\n if (form && form.getHasChanged() && confirmChanges) {\n form.confirm()\n .then(closeDialog)\n } else {\n callIfFunction(closeDialog)\n }\n }\n/*\n useEffect(() => () => {\n setTimeout(() => {\n if (window.location.hash === previousHash.get() && _.get('dialog', window.history.state) === true) {\n console.log(\"???\")\n }\n }, 100)\n }, [])*/\n\n const pastFirstTime = React.useRef()\n\n\n useEffect(() => {\n if (customHref && window.location.hash !== customHref) {\n // if (pastFirstTime.current) {\n waitForPop().then(() => {\n if (window.location.hash) {\n window.history.replaceState({dialog: true}, '', customHref)\n } else {\n window.history.pushState({dialog: true}, '', customHref)\n }\n })\n // } else {\n // window.history.pushState({dialog: true}, '', customHref)\n // pastFirstTime.current = true\n // }\n previousHash.set(encodeURI(customHref))\n }\n }, [customHref])\n\n useEffect(() => {\n window.addEventListener('keydown', checkKey)\n window.addEventListener('focusin', checkFocus)\n window.addEventListener('popstate', checkHistory)\n return () => {\n window.removeEventListener('keydown', checkKey)\n window.removeEventListener('focusin', checkFocus)\n window.removeEventListener('popstate', checkHistory)\n if (!dontRefocus && document.body.contains(prevActiveElement.get()) && prevActiveElement.get().matches(focusableSelector)) {\n setTimeout(() => prevActiveElement.get().focus(), 0)\n }\n }\n }, [])\n\n\n const checkHistory = (e) => {\n if (!isTop()/* || (previousHash.get() !== window.location.hash && !customHref)*/) return\n if (_.get('willOpenDialog', window.history.state) === true) { return }\n if (_.get('dialog', window.history.state) !== true) {\n window.history.pushState({dialog: true}, '', window.location.href)\n }\n confirmCloseDialog()\n }\n\n const checkFocus = (e) => {\n if (!isTop() || skipCheckFocus) return\n if (modal.current && !e.target.closest('.' + modal.current.className.split(' ').join('.'))) {\n const nextTab = modal.current.querySelector('[tabindex]')\n if (nextTab)\n nextTab.focus()\n }\n }\n\n const checkKey = (e) => {\n if (!isTop() || skipKeys || e.target?.className?.indexOf(\"JS-dialog-skip-evts\")>=0 || e.target?.closest(\".JS-dialog-skip-evts\")) return\n if (modal.current && e.shiftKey && e.keyCode === 9 && modal.current.querySelector('[tabindex]') === document.activeElement) {\n e.preventDefault()\n const prevTab = [].slice.call(modal.current.querySelectorAll('[tabindex]')).reduce((acc, el) => el.tabIndex >= acc.tabIndex ? el : acc, {tabIndex: -1})\n if (prevTab && prevTab.focus)\n prevTab.focus()\n }\n if (e.key === 'Escape') {\n e.preventDefault()\n confirmCloseDialog()\n } else if (e.key === 'Enter') {\n if (e.target) {\n const target = e.target.closest(focusableSelector + ',div')\n if (target && (target.tagName.toLowerCase() !== 'input' || target.form || target.type.toLowerCase() === 'file') && target.matches(focusableSelector))\n return\n }\n e.preventDefault()\n e.stopPropagation()\n if (onConfirm) {\n onConfirm()\n } else if (form) {\n form.submitForm()\n }\n } else if (!e.target.matches(editableSelector)) {\n if (e.key === 'ArrowLeft' && prev) {\n prev()\n } else if (e.key === 'ArrowRight' && next) {\n next()\n }\n }\n }\n\n const checkClick = (e) => {\n if (closeOnClick && e.target === e.currentTarget && mouseDownInModal.get()) {\n confirmCloseDialog()\n }\n mouseDownInModal.set(false)\n }\n const mouseDown = (e) => {\n mouseDownInModal.set(e.target === e.currentTarget)\n }\n\n const usingForm = withFormWrap || (form && !noFormWrap)\n\n useFlipAnimation(dialogRef, animation, true, {\n nestedFlip: !skipDom,\n onEnterEnd: () => {\n if (getSize() === 1) {\n removeWindowScroll(true);\n }\n if (document.body.scrollHeight === document.body.clientHeight) {\n modal.current.style.overflowY = \"none\"\n }\n if (modalScroll.current) {\n modalScroll.current.style.overflowY = \"scroll\"\n }\n },\n leaveEffect:animationLeaveEffect,\n enterEffect:animationEnterEffect,\n timing:animationTiming\n })\n useFlipAnimation(modal, !skipDom && identityOpacityFrames, true,{timing:animationTiming})\n\n const content = <>\n <PopupSlot name={'Popup-' + layerIndex}/>\n <ErrorBoundary title={callIfFunction(title)} closeDialog={closeDialog} Error={DialogErrorContent}>\n {callIfFunction(children, {confirmCloseDialog}, dialogRef, fullscreenOnMobile)}\n </ErrorBoundary>\n </>\n\n return (\n <Fill name={placement}>\n {\n skipDom\n ? content\n : <>\n <AnimatedModal timing={animationTiming} blurBackdrop={blurBackdrop}/>\n <ModalContainer ref={modal}>\n\n <DialogCenter autoComplete={autoComplete} className=\"JS-has-wc\" withScroll={getSize()>1} fullscreen={fullscreen} fullscreenOnMobile={fullscreenOnMobile} ref={modalScroll} tagAs={usingForm ? 'form' : undefined} onClick={checkClick}\n onSubmit={usingForm ? () => {} : undefined}\n onMouseDown={mouseDown}>\n {content}\n </DialogCenter>\n </ModalContainer>\n </>\n }\n </Fill>\n )\n})\n\nexport const AnimatedModal = React.forwardRef(({timing,nestedFlip,enterEffect,leaveEffect,modalIn = dialogModalIn, modalOut = dialogModalOut, blurBackdrop,...props},ref) => {\n const modal = useEnsureRef(ref)\n useFlipAnimation(modal, modalIn, modalOut,{timing,nestedFlip,leaveEffect,enterEffect})\n return <Modal {...props} $blurBackdrop={blurBackdrop} ref={modal}/>\n})\n\n"],"names":["dialogFadeInDown","oneWayAnimation","dialogModalIn","dialogModalOut","twoWayAnimation","Modal","styled","div","withConfig","displayName","componentId","props","$blurBackdrop","ModalContainer","DialogCenterTagAs","React","forwardRef","_ref","ref","tagAs","Tag","withScroll","fullscreen","fullscreenOnMobile","_objectWithoutProperties","_excluded","createElement","_extends","DialogCenter","media","desktop","_templateObject","_taggedTemplateLiteral","mobile","_templateObject2","PopupSlot","Slot","editableSelector","focusableSelector","shouldPreventResolvers","shouldPreventDialogPop","Promise","resolve","preventDialogPop","cb","then","res","push","waitForPop","preventDialogPopState","e","resolver","shift","stopImmediatePropagation","window","addEventListener","fixPosition","query","fn","elements","document","querySelectorAll","length","Array","prototype","slice","call","forEach","openLayers","fakedScrollTop","isFakeScrolled","removeWindowScroll","opening","keepDisabledScroll","Math","max","min","finishReset","marginRight","scrollTop","scroll","scrollLeft","scrollX","n","right","getComputedStyle","style","parseInt","transform","concat","classList","add","remove","requestAnimationFrame","dispatchEvent","CustomEvent","detail","dialog","body","bodyWidth","offsetWidth","pageYOffset","overflowY","overflow","position","top","left","useDialogLayers","getDialogLayersSize","willUseLayers","useLayoutEffect","DialogContainer","_ref2","forwardedRef","children","title","closeDialog","closeOnClick","dontRefocus","onConfirm","prev","next","form","noFormWrap","withFormWrap","placement","DialogErrorContent","customHref","animation","animationTiming","animationLeaveEffect","animationEnterEffect","skipKeys","confirmChanges","skipDom","modalRef","skipCheckFocus","autoComplete","blurBackdrop","dialogRef","useEnsureRef","prevActiveElement","useRefState","activeElement","modal","modalScroll","useRef","mouseDownInModal","previousHash","location","hash","layerIndex","isTop","getSize","onFirst","encodeURI","history","replaceState","state","pathname","pushState","href","scrollHeight","clientHeight","current","onRemove","layers","_get","back","onEmpty","confirmCloseDialog","getHasChanged","confirm","callIfFunction","useEffect","set","checkKey","checkFocus","checkHistory","removeEventListener","contains","get","matches","setTimeout","focus","target","closest","className","split","join","nextTab","querySelector","_e$target","_e$target2","indexOf","shiftKey","keyCode","preventDefault","prevTab","reduce","acc","el","tabIndex","key","tagName","toLowerCase","type","stopPropagation","submitForm","checkClick","currentTarget","mouseDown","usingForm","useFlipAnimation","nestedFlip","onEnterEnd","leaveEffect","enterEffect","timing","identityOpacityFrames","content","Fragment","name","ErrorBoundary","Error","Fill","AnimatedModal","undefined","onClick","onSubmit","onMouseDown","_ref3","modalIn","modalOut","_excluded2"],"mappings":";;;;;;;;;;;;;;AAQO,MAAMA,gBAAgB,GAAGC,eAAe,CAAC,0CAA0C,EAAE,uCAAuC,EAAC;AAC9H,MAAA,CAACC,aAAa,EAAEC,cAAc,CAAC,GAAGC,eAAe,CAAC,aAAa,EAAE,aAAa,EAAC;MAGxEC,KAAK,gBAAGC,MAAM,CAACC,GAAG,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,wBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAAA,CAAA,CAAA,CAAA,oGAAA,EAAA,EAAA,CAAA,EAQzBC,KAAK,IAAIA,KAAK,CAACC,aAAa,kCAAkC,EACnE;MAEYC,cAAc,gBAAGP,MAAM,CAACC,GAAG,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,iCAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAYvC,CAAA,CAAA,CAAA,uFAAA,CAAA,EAAA;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMI,iBAAiB,gBAAGC,KAAK,CAACC,UAAU,CAAC,CAAAC,IAAA,EAA6EC,GAAG,KAAA;EAAA,IAA/E;MAACC,KAAK,EAAEC,GAAG,GAAG,KAAK;MAAEC,UAAU;MAAEC,UAAU;AAAEC,MAAAA,kBAAAA;AAA4B,KAAC,GAAAN,IAAA;AAANN,IAAAA,KAAK,GAAAa,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AAAA,EAAA,oBAAWV,KAAA,CAAAW,aAAA,CAACN,GAAG,EAAAO,QAAA,CAAA;AAACT,IAAAA,GAAG,EAAEA,GAAAA;GAASP,EAAAA,KAAK,CAAE,CAAC,CAAA;AAAA,CAAC,CAAA,CAAA;AAE5J,MAAMiB,YAAY,gBAAGtB,MAAM,CAACQ,iBAAiB,CAAC,CAAAN,UAAA,CAAA;EAAAC,WAAA,EAAA,+BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAU9BC,CAAAA,CAAAA,CAAAA,2JAAAA,EAAAA,uIAAAA,EAAAA,GAAAA,EAAAA,EAAAA,CAAAA,EAAAA,KAAK,IAAIA,KAAK,CAACU,UAAU,GAAG,QAAQ,GAAG,QAAQ,EAa3DQ,KAAK,CAACC,OAAO,CAAAC,eAAA,KAAAA,eAAA,GAAAC,sBAAA,CAAA,CAAA,iBAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EACFrB,KAAK,IAAIA,KAAK,CAACW,UAAU,GAAG,MAAM,GAAG,aAAa,CAAA,EAE7DO,KAAK,CAACI,MAAM,CAAAC,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,CAAA,CAAA,iBAAA,EAAA,OAAA,CAAA,CAAA,CAAA,EACDrB,KAAK,IAAIA,KAAK,CAACY,kBAAkB,GAAG,GAAG,GAAG,QAAQ,CAEhE,CAAA,CAAA;AAED,MAAMY,SAAS,gBAAG7B,MAAM,CAAC8B,IAAI,CAAC,CAAA5B,UAAA,CAAA;EAAAC,WAAA,EAAA,4BAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAK7B,CAAA,CAAA,CAAA,4CAAA,CAAA,CAAA,CAAA;AAKD,MAAM2B,gBAAgB,GAAG,kCAAkC,CAAA;AAC3D,MAAMC,iBAAiB,GAAG,WAAW,GAACD,gBAAgB,CAAA;AAEtD,MAAME,sBAAsB,GAAG,EAAE,CAAA;AACjC,IAAIC,sBAAsB,GAAGC,OAAO,CAACC,OAAO,EAAE,CAAA;AACjCC,MAAAA,gBAAgB,GAAIC,EAAE,IAAK;AACtCJ,EAAAA,sBAAsB,GAAGA,sBAAsB,CAACK,IAAI,CAAC,MAAM;IACzD,IAAIJ,OAAO,CAAEK,GAAG,IAAK;AACnBP,MAAAA,sBAAsB,CAACQ,IAAI,CAACD,GAAG,CAAC,CAAA;AAChCF,MAAAA,EAAE,EAAE,CAAA;AACN,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;AACJ,EAAC;AACYI,MAAAA,UAAU,GAAGA,MAAM;AAC9B,EAAA,OAAOR,sBAAsB,CAAA;AAC/B,EAAC;AACD,MAAMS,qBAAqB,GAAIC,CAAC,IAAK;AACnC,EAAA,MAAMC,QAAQ,GAAGZ,sBAAsB,CAACa,KAAK,EAAE,CAAA;AAC/C,EAAA,IAAID,QAAQ,EAAE;IACZD,CAAC,CAACG,wBAAwB,EAAE,CAAA;AAC5BF,IAAAA,QAAQ,EAAE,CAAA;AACZ,GAAA;AACF,CAAC,CAAA;AAEDG,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAACN,qBAAqB,CAAC,CAAA;AAEzD,MAAMO,WAAW,GAAGA,CAACC,KAAK,EAAEC,EAAE,KAAK;AACjC,EAAA,MAAMC,QAAQ,GAAGC,QAAQ,CAACC,gBAAgB,CAACJ,KAAK,CAAC,CAAA;EACjD,IAAIE,QAAQ,CAACG,MAAM,EAAE;AACnBC,IAAAA,KAAK,CAACC,SAAS,CAACC,KAAK,CAACC,IAAI,CAACP,QAAQ,CAAC,CAACQ,OAAO,CAACT,EAAE,CAAC,CAAA;AAClD,GAAA;AACF,CAAC,CAAA;AAED,IAAIU,UAAU,GAAG,CAAC,CAAA;AAClB,IAAIC,cAAc,GAAG,CAAC,CAAA;AACf,MAAMC,cAAc,GAAGA,MAAMF,UAAU,GAAC,CAAC,IAAIC,cAAc,GAAG,EAAC;MACzDE,kBAAkB,GAAGA,CAACC,OAAO,EAAEC,kBAAkB,KAAK;AACjE,EAAA,IAAID,OAAO,EAAE;IACXJ,UAAU,GAAGM,IAAI,CAACC,GAAG,CAACP,UAAU,GAAC,CAAC,EAAC,CAAC,CAAC,CAAA;IACrC,IAAIA,UAAU,GAAC,CAAC,EAAE;AAChB,MAAA,OAAA;AACF,KAAA;AACF,GAAC,MAAM;IACLA,UAAU,GAAGM,IAAI,CAACE,GAAG,CAACR,UAAU,GAAC,CAAC,EAAC,CAAC,CAAC,CAAA;IACrC,IAAIA,UAAU,GAAC,CAAC,EAAE;AAChB,MAAA,OAAA;AACF,KAAA;AACF,GAAA;AACA,EAAA,MAAMS,WAAW,GAAGA,CAACC,WAAW,EAAEC,SAAS,KAAK;AAC9C;AACAzB,IAAAA,MAAM,CAAC0B,MAAM,CAAC1B,MAAM,CAAC2B,UAAU,IAAI3B,MAAM,CAAC4B,OAAO,IAAI,CAAC,EAAEH,SAAS,CAAC,CAAA;AAClE,IAAA,IAAIN,kBAAkB,EAAE;AAAE,MAAA,OAAA;AAAO,KAAA;AACjCjB,IAAAA,WAAW,CAAC,+BAA+B,EAAE2B,CAAC,IAAI;AAChD,MAAA,IAAIX,OAAO,EAAE;QACX,MAAM;AAACY,UAAAA,KAAAA;AAAK,SAAC,GAAG9B,MAAM,CAAC+B,gBAAgB,CAACF,CAAC,CAAC,CAAA;AAC1CA,QAAAA,CAAC,CAACG,KAAK,CAACF,KAAK,GAAIG,QAAQ,CAACH,KAAK,CAAC,GAAGN,WAAW,GAAI,IAAI,CAAA;AACxD,OAAC,MAAM;AACLK,QAAAA,CAAC,CAACG,KAAK,CAACF,KAAK,GAAG,IAAI,CAAA;AACtB,OAAA;AACF,KAAC,CAAC,CAAA;AACF5B,IAAAA,WAAW,CAAC,iCAAiC,EAAE2B,CAAC,IAAI;AAClD,MAAA,IAAIL,WAAW,EAAE;AACfK,QAAAA,CAAC,CAACG,KAAK,CAACE,SAAS,GAAGlC,MAAM,CAAC+B,gBAAgB,CAACF,CAAC,CAAC,CAACK,SAAS,GAAAC,eAAAA,CAAAA,MAAA,CAAmBX,WAAW,GAAG,CAAC,EAAK,KAAA,CAAA,CAAA;AACjG,OAAC,MAAM;AACLK,QAAAA,CAAC,CAACG,KAAK,CAACE,SAAS,GAAG,IAAI,CAAA;AAC1B,OAAA;AACF,KAAC,CAAC,CAAA;AAEFhC,IAAAA,WAAW,CAAC,oBAAoB,EAAE2B,CAAC,IAAI;AACrC,MAAA,IAAIX,OAAO,EAAE;AACXW,QAAAA,CAAC,CAACO,SAAS,CAACC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AACnC,OAAC,MAAM;AACLR,QAAAA,CAAC,CAACO,SAAS,CAACE,MAAM,CAAC,gBAAgB,CAAC,CAAA;AACtC,OAAA;AACF,KAAC,CAAC,CAAA;AACFtC,IAAAA,MAAM,CAACuC,qBAAqB,CAAC,MAAIvC,MAAM,CAACwC,aAAa,CAAC,IAAIC,WAAW,CAAC,QAAQ,EAAE;AAACC,MAAAA,MAAM,EAAE;AAACC,QAAAA,MAAM,EAAE,IAAA;AAAI,OAAA;KAAE,CAAC,CAAC,CAAC,CAAA;GAC5G,CAAA;AAED,EAAA,MAAMC,IAAI,GAAGtC,QAAQ,CAACsC,IAAI,CAAA;AAC1B,EAAA,IAAIC,SAAS,GAAGD,IAAI,CAACE,WAAW,CAAA;AAChC,EAAA,IAAI5B,OAAO,EAAE;AACX,IAAA,MAAMO,SAAS,GAAGzB,MAAM,CAAC+C,WAAW,CAAA;AACpChC,IAAAA,cAAc,GAAGU,SAAS,CAAA;AAC1B,IAAA,IAAIN,kBAAkB,EAAE;AACtByB,MAAAA,IAAI,CAACZ,KAAK,CAACgB,SAAS,GAAG,QAAQ,CAAA;AACjC,KAAC,MAAM;AACLJ,MAAAA,IAAI,CAACZ,KAAK,CAACiB,QAAQ,GAAG,QAAQ,CAAA;AAChC,KAAA;AACA,IAAA,MAAMzB,WAAW,GAAIoB,IAAI,CAACE,WAAW,GAAGD,SAAU,CAAA;AAElDD,IAAAA,IAAI,CAACZ,KAAK,CAACkB,QAAQ,GAAG,OAAO,CAAA;IAC7BN,IAAI,CAACZ,KAAK,CAACmB,GAAG,GAAG,CAAC1B,SAAS,GAAG,IAAI,CAAA;AAClCmB,IAAAA,IAAI,CAACZ,KAAK,CAACoB,IAAI,GAAG,GAAG,CAAA;IACrB,IAAI,CAACjC,kBAAkB,EAAE;AACvByB,MAAAA,IAAI,CAACZ,KAAK,CAACF,KAAK,GAAGN,WAAW,GAAG,IAAI,CAAA;AACvC,KAAC,MAAM;AACLoB,MAAAA,IAAI,CAACZ,KAAK,CAACF,KAAK,GAAG,GAAG,CAAA;AACxB,KAAA;AAEAP,IAAAA,WAAW,CAACC,WAAW,EAACC,SAAS,CAAC,CAAA;AACpC,GAAC,MAAM;AACLV,IAAAA,cAAc,GAAG,CAAC,CAAA;AAClB;IACA,MAAMU,SAAS,GAAGQ,QAAQ,CAACW,IAAI,CAACZ,KAAK,CAACmB,GAAG,CAAC,CAAA;AAC1CP,IAAAA,IAAI,CAACZ,KAAK,CAACiB,QAAQ,GAAG,EAAE,CAAA;AAExBL,IAAAA,IAAI,CAACZ,KAAK,CAACkB,QAAQ,GAAG,EAAE,CAAA;AACxBN,IAAAA,IAAI,CAACZ,KAAK,CAACmB,GAAG,GAAG,EAAE,CAAA;AACnBP,IAAAA,IAAI,CAACZ,KAAK,CAACoB,IAAI,GAAG,EAAE,CAAA;AACpBR,IAAAA,IAAI,CAACZ,KAAK,CAACF,KAAK,GAAG,EAAE,CAAA;AACrBP,IAAAA,WAAW,CAAC,CAAC,EAAC,CAACE,SAAS,CAAC,CAAA;AACxB;AACH,GAAA;AACF,EAAC;AAIK,MAAA,CAAC4B,eAAe,EAAEC,mBAAmB,CAAC,GAAGC,aAAa,CAAC9F,KAAK,CAAC+F,eAAe,EAAC;AAG5E,MAAMC,eAAe,gBAAG/F,UAAU,CAAC,CAAAgG,KAAA,EAMxCC,YAAY,KAAK;EAAA,IALjB;IACEC,QAAQ;IAAEC,KAAK;IAAEC,WAAW;IAAEC,YAAY;IAAEC,WAAW;IAAEC,SAAS;IAAEC,IAAI;IAAEC,IAAI;IAAEC,IAAI;IAAEC,UAAU;IAAEC,YAAY;AAAEC,IAAAA,SAAS,GAAG,QAAQ;IACpIC,kBAAkB;IAAEC,UAAU;AAAEC,IAAAA,SAAS,GAAGhI,gBAAgB;IAAEiI,eAAe;IAAEC,oBAAoB;IAAEC,oBAAoB;IAAEC,QAAQ;IAAC7G,kBAAkB;IAAED,UAAU;AAAE+G,IAAAA,cAAc,GAAG,KAAK;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,cAAc;IAC7NC,YAAY;AAAEC,IAAAA,YAAAA;AAChB,GAAC,GAAA1B,KAAA,CAAA;AAGD,EAAA,MAAM2B,SAAS,GAAGC,YAAY,CAAC3B,YAAY,CAAC,CAAA;AAC5C,EAAA,MAAM4B,iBAAiB,GAAGC,WAAW,CAAClF,QAAQ,CAACmF,aAAa,CAAC,CAAA;AAC7D,EAAA,MAAMC,KAAK,GAAGJ,YAAY,CAACL,QAAQ,CAAC,CAAA;AACpC,EAAA,MAAMU,WAAW,GAAGC,MAAM,EAAE,CAAA;AAC5B,EAAA,MAAMC,gBAAgB,GAAGL,WAAW,EAAE,CAAA;EACtC,MAAMM,YAAY,GAAGN,WAAW,CAACxF,MAAM,CAAC+F,QAAQ,CAACC,IAAI,CAAC,CAAA;EAEtD,MAAM,CAACC,UAAU,EAAE;IAACC,KAAK;AAAEC,IAAAA,OAAAA;GAAQ,CAAC,GAAG9C,eAAe,CAAC;IACrD+C,OAAO,EAAEA,MAAM;AACb1G,MAAAA,UAAU,EAAE,CAACH,IAAI,CAAC,MAAM;AACtB,QAAA,IAAIkF,UAAU,IAAI4B,SAAS,CAAC5B,UAAU,CAAC,KAAKzE,MAAM,CAAC+F,QAAQ,CAACC,IAAI,EAAE;AAChEhG,UAAAA,MAAM,CAACsG,OAAO,CAACC,YAAY,CAACD,OAAO,CAACE,KAAK,EAAE,EAAE,EAAExG,MAAM,CAAC+F,QAAQ,CAACU,QAAQ,CAAC,CAAA;AACxEzG,UAAAA,MAAM,CAACsG,OAAO,CAACI,SAAS,CAAC;AAAC/D,YAAAA,MAAM,EAAE,IAAA;AAAI,WAAC,EAAE,EAAE,EAAE8B,UAAU,CAAC,CAAA;AAC1D,SAAC,MAAM;AACLzE,UAAAA,MAAM,CAACsG,OAAO,CAACI,SAAS,CAAC;AAAC/D,YAAAA,MAAM,EAAE,IAAA;AAAI,WAAC,EAAE,EAAE,EAAE3C,MAAM,CAAC+F,QAAQ,CAACY,IAAI,IAAIlC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;AACzF,SAAA;AACF,OAAC,CAAC,CAAA;AACF;MACA,IAAInE,QAAQ,CAACsC,IAAI,CAACgE,YAAY,KAAKtG,QAAQ,CAACsC,IAAI,CAACiE,YAAY,EAAE;AAC7DnB,QAAAA,KAAK,CAACoB,OAAO,CAAC9E,KAAK,CAACgB,SAAS,GAAG,QAAQ,CAAA;QACxC,IAAI2C,WAAW,CAACmB,OAAO,EAAE;AACvBnB,UAAAA,WAAW,CAACmB,OAAO,CAAC9E,KAAK,CAACgB,SAAS,GAAG,QAAQ,CAAA;AAChD,SAAA;AACF,OAAA;AACA;KACD;IACD+D,QAAQ,EAAGC,MAAM,IAAK;AACpB,MAAA,IACGA,MAAM,KAAK,CAAC,IAAIC,IAAA,CAAM,QAAQ,EAAEjH,MAAM,CAACsG,OAAO,CAACE,KAAK,CAAC,KAAK,IAAI,IAC9D/B,UAAU,IAAIzE,MAAM,CAAC+F,QAAQ,CAACC,IAAI,KAAKK,SAAS,CAAC5B,UAAU,CAAE,EAC9D;AACApF,QAAAA,gBAAgB,CAAC,MAAM;AACrBW,UAAAA,MAAM,CAACsG,OAAO,CAACY,IAAI,EAAE,CAAA;AACvB,SAAC,CAAC,CAAA;AACJ,OAAA;KACD;IACDC,OAAO,EAAEA,MAAM;MACb,IAAI7G,QAAQ,CAACsC,IAAI,CAACgE,YAAY,GAAGtG,QAAQ,CAACsC,IAAI,CAACiE,YAAY,EAAE;QAC3D,IAAIlB,WAAW,CAACmB,OAAO,EAAE;AACvBnB,UAAAA,WAAW,CAACmB,OAAO,CAAC9E,KAAK,CAACgB,SAAS,GAAG,QAAQ,CAAA;AAChD,SAAA;AACF,OAAC,MAAM,IAAI0C,KAAK,CAACoB,OAAO,EAAE;AACxBpB,QAAAA,KAAK,CAACoB,OAAO,CAAC9E,KAAK,CAACgB,SAAS,GAAG,QAAQ,CAAA;AAC1C,OAAA;MACA/B,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAC3B,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,MAAMmG,kBAAkB,GAAGA,MAAM;IAC/B,IAAIhD,IAAI,IAAIA,IAAI,CAACiD,aAAa,EAAE,IAAItC,cAAc,EAAE;MAClDX,IAAI,CAACkD,OAAO,EAAE,CACX/H,IAAI,CAACuE,WAAW,CAAC,CAAA;AACtB,KAAC,MAAM;MACLyD,cAAc,CAACzD,WAAW,CAAC,CAAA;AAC7B,KAAA;GACD,CAAA;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEE,EAAsBrG,KAAK,CAACmI,MAAM,GAAE;AAGpC4B,EAAAA,SAAS,CAAC,MAAM;IACd,IAAI/C,UAAU,IAAIzE,MAAM,CAAC+F,QAAQ,CAACC,IAAI,KAAKvB,UAAU,EAAE;AACrD;AACA/E,MAAAA,UAAU,EAAE,CAACH,IAAI,CAAC,MAAM;AACtB,QAAA,IAAIS,MAAM,CAAC+F,QAAQ,CAACC,IAAI,EAAE;AACxBhG,UAAAA,MAAM,CAACsG,OAAO,CAACC,YAAY,CAAC;AAAC5D,YAAAA,MAAM,EAAE,IAAA;AAAI,WAAC,EAAE,EAAE,EAAE8B,UAAU,CAAC,CAAA;AAC7D,SAAC,MAAM;AACLzE,UAAAA,MAAM,CAACsG,OAAO,CAACI,SAAS,CAAC;AAAC/D,YAAAA,MAAM,EAAE,IAAA;AAAI,WAAC,EAAE,EAAE,EAAE8B,UAAU,CAAC,CAAA;AAC1D,SAAA;AACF,OAAC,CAAC,CAAA;AACF;AACA;AACA;AACA;AACAqB,MAAAA,YAAY,CAAC2B,GAAG,CAACpB,SAAS,CAAC5B,UAAU,CAAC,CAAC,CAAA;AACzC,KAAA;AACF,GAAC,EAAE,CAACA,UAAU,CAAC,CAAC,CAAA;AAEhB+C,EAAAA,SAAS,CAAC,MAAM;AACdxH,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAEyH,QAAQ,CAAC,CAAA;AAC5C1H,IAAAA,MAAM,CAACC,gBAAgB,CAAC,SAAS,EAAE0H,UAAU,CAAC,CAAA;AAC9C3H,IAAAA,MAAM,CAACC,gBAAgB,CAAC,UAAU,EAAE2H,YAAY,CAAC,CAAA;AACjD,IAAA,OAAO,MAAM;AACX5H,MAAAA,MAAM,CAAC6H,mBAAmB,CAAC,SAAS,EAAEH,QAAQ,CAAC,CAAA;AAC/C1H,MAAAA,MAAM,CAAC6H,mBAAmB,CAAC,SAAS,EAAEF,UAAU,CAAC,CAAA;AACjD3H,MAAAA,MAAM,CAAC6H,mBAAmB,CAAC,UAAU,EAAED,YAAY,CAAC,CAAA;MACpD,IAAI,CAAC5D,WAAW,IAAI1D,QAAQ,CAACsC,IAAI,CAACkF,QAAQ,CAACvC,iBAAiB,CAACwC,GAAG,EAAE,CAAC,IAAIxC,iBAAiB,CAACwC,GAAG,EAAE,CAACC,OAAO,CAAChJ,iBAAiB,CAAC,EAAE;AACzHiJ,QAAAA,UAAU,CAAC,MAAM1C,iBAAiB,CAACwC,GAAG,EAAE,CAACG,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;AACtD,OAAA;KACD,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAGN,MAAMN,YAAY,GAAIhI,CAAC,IAAK;AAC1B,IAAA,IAAI,CAACsG,KAAK,EAAE,uEAAsE,OAAA;AAClF,IAAA,IAAIe,IAAA,CAAM,gBAAgB,EAAEjH,MAAM,CAACsG,OAAO,CAACE,KAAK,CAAC,KAAK,IAAI,EAAE;AAAE,MAAA,OAAA;AAAO,KAAA;AACrE,IAAA,IAAIS,IAAA,CAAM,QAAQ,EAAEjH,MAAM,CAACsG,OAAO,CAACE,KAAK,CAAC,KAAK,IAAI,EAAE;AAClDxG,MAAAA,MAAM,CAACsG,OAAO,CAACI,SAAS,CAAC;AAAC/D,QAAAA,MAAM,EAAE,IAAA;OAAK,EAAE,EAAE,EAAE3C,MAAM,CAAC+F,QAAQ,CAACY,IAAI,CAAC,CAAA;AACpE,KAAA;AACAS,IAAAA,kBAAkB,EAAE,CAAA;GACrB,CAAA;EAED,MAAMO,UAAU,GAAI/H,CAAC,IAAK;AACxB,IAAA,IAAI,CAACsG,KAAK,EAAE,IAAIhB,cAAc,EAAE,OAAA;AAChC,IAAA,IAAIQ,KAAK,CAACoB,OAAO,IAAI,CAAClH,CAAC,CAACuI,MAAM,CAACC,OAAO,CAAC,GAAG,GAAG1C,KAAK,CAACoB,OAAO,CAACuB,SAAS,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;MAC1F,MAAMC,OAAO,GAAG9C,KAAK,CAACoB,OAAO,CAAC2B,aAAa,CAAC,YAAY,CAAC,CAAA;AACzD,MAAA,IAAID,OAAO,EACTA,OAAO,CAACN,KAAK,EAAE,CAAA;AACnB,KAAA;GACD,CAAA;EAED,MAAMR,QAAQ,GAAI9H,CAAC,IAAK;IAAA,IAAA8I,SAAA,EAAAC,UAAA,CAAA;IACtB,IAAI,CAACzC,KAAK,EAAE,IAAIpB,QAAQ,IAAI,EAAA4D,SAAA,GAAA9I,CAAC,CAACuI,MAAM,cAAAO,SAAA,KAAA,KAAA,CAAA,IAAA,CAAAA,SAAA,GAARA,SAAA,CAAUL,SAAS,MAAAK,IAAAA,IAAAA,SAAA,uBAAnBA,SAAA,CAAqBE,OAAO,CAAC,qBAAqB,CAAC,KAAE,CAAC,IAAAD,CAAAA,UAAA,GAAI/I,CAAC,CAACuI,MAAM,MAAA,IAAA,IAAAQ,UAAA,KAARA,KAAAA,CAAAA,IAAAA,UAAA,CAAUP,OAAO,CAAC,sBAAsB,CAAC,EAAE,OAAA;IACjI,IAAI1C,KAAK,CAACoB,OAAO,IAAIlH,CAAC,CAACiJ,QAAQ,IAAIjJ,CAAC,CAACkJ,OAAO,KAAK,CAAC,IAAIpD,KAAK,CAACoB,OAAO,CAAC2B,aAAa,CAAC,YAAY,CAAC,KAAKnI,QAAQ,CAACmF,aAAa,EAAE;MAC1H7F,CAAC,CAACmJ,cAAc,EAAE,CAAA;AAClB,MAAA,MAAMC,OAAO,GAAG,EAAE,CAACrI,KAAK,CAACC,IAAI,CAAC8E,KAAK,CAACoB,OAAO,CAACvG,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC0I,MAAM,CAAC,CAACC,GAAG,EAAEC,EAAE,KAAKA,EAAE,CAACC,QAAQ,IAAIF,GAAG,CAACE,QAAQ,GAAGD,EAAE,GAAGD,GAAG,EAAE;AAACE,QAAAA,QAAQ,EAAE,CAAC,CAAA;AAAC,OAAC,CAAC,CAAA;MACvJ,IAAIJ,OAAO,IAAIA,OAAO,CAACd,KAAK,EAC1Bc,OAAO,CAACd,KAAK,EAAE,CAAA;AACnB,KAAA;AACA,IAAA,IAAItI,CAAC,CAACyJ,GAAG,KAAK,QAAQ,EAAE;MACtBzJ,CAAC,CAACmJ,cAAc,EAAE,CAAA;AAClB3B,MAAAA,kBAAkB,EAAE,CAAA;AACtB,KAAC,MAAM,IAAIxH,CAAC,CAACyJ,GAAG,KAAK,OAAO,EAAE;MAC5B,IAAIzJ,CAAC,CAACuI,MAAM,EAAE;QACZ,MAAMA,MAAM,GAAGvI,CAAC,CAACuI,MAAM,CAACC,OAAO,CAACpJ,iBAAiB,GAAG,MAAM,CAAC,CAAA;AAC3D,QAAA,IAAImJ,MAAM,KAAKA,MAAM,CAACmB,OAAO,CAACC,WAAW,EAAE,KAAK,OAAO,IAAIpB,MAAM,CAAC/D,IAAI,IAAI+D,MAAM,CAACqB,IAAI,CAACD,WAAW,EAAE,KAAK,MAAM,CAAC,IAAIpB,MAAM,CAACH,OAAO,CAAChJ,iBAAiB,CAAC,EAClJ,OAAA;AACJ,OAAA;MACAY,CAAC,CAACmJ,cAAc,EAAE,CAAA;MAClBnJ,CAAC,CAAC6J,eAAe,EAAE,CAAA;AACnB,MAAA,IAAIxF,SAAS,EAAE;AACbA,QAAAA,SAAS,EAAE,CAAA;OACZ,MAAM,IAAIG,IAAI,EAAE;QACfA,IAAI,CAACsF,UAAU,EAAE,CAAA;AACnB,OAAA;KACD,MAAM,IAAI,CAAC9J,CAAC,CAACuI,MAAM,CAACH,OAAO,CAACjJ,gBAAgB,CAAC,EAAE;AAC9C,MAAA,IAAIa,CAAC,CAACyJ,GAAG,KAAK,WAAW,IAAInF,IAAI,EAAE;AACjCA,QAAAA,IAAI,EAAE,CAAA;OACP,MAAM,IAAItE,CAAC,CAACyJ,GAAG,KAAK,YAAY,IAAIlF,IAAI,EAAE;AACzCA,QAAAA,IAAI,EAAE,CAAA;AACR,OAAA;AACF,KAAA;GACD,CAAA;EAED,MAAMwF,UAAU,GAAI/J,CAAC,IAAK;AACxB,IAAA,IAAImE,YAAY,IAAInE,CAAC,CAACuI,MAAM,KAAKvI,CAAC,CAACgK,aAAa,IAAI/D,gBAAgB,CAACkC,GAAG,EAAE,EAAE;AAC1EX,MAAAA,kBAAkB,EAAE,CAAA;AACtB,KAAA;AACAvB,IAAAA,gBAAgB,CAAC4B,GAAG,CAAC,KAAK,CAAC,CAAA;GAC5B,CAAA;EACD,MAAMoC,SAAS,GAAIjK,CAAC,IAAK;IACvBiG,gBAAgB,CAAC4B,GAAG,CAAC7H,CAAC,CAACuI,MAAM,KAAKvI,CAAC,CAACgK,aAAa,CAAC,CAAA;GACnD,CAAA;AAED,EAAA,MAAME,SAAS,GAAGxF,YAAY,IAAKF,IAAI,IAAI,CAACC,UAAW,CAAA;AAEvD0F,EAAAA,gBAAgB,CAAC1E,SAAS,EAAEX,SAAS,EAAE,IAAI,EAAE;IAC3CsF,UAAU,EAAE,CAAChF,OAAO;IACpBiF,UAAU,EAAEA,MAAM;AAChB,MAAA,IAAI9D,OAAO,EAAE,KAAK,CAAC,EAAE;QACnBlF,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC1B,OAAA;MACA,IAAIX,QAAQ,CAACsC,IAAI,CAACgE,YAAY,KAAKtG,QAAQ,CAACsC,IAAI,CAACiE,YAAY,EAAE;AAC7DnB,QAAAA,KAAK,CAACoB,OAAO,CAAC9E,KAAK,CAACgB,SAAS,GAAG,MAAM,CAAA;AACxC,OAAA;MACA,IAAI2C,WAAW,CAACmB,OAAO,EAAE;AACvBnB,QAAAA,WAAW,CAACmB,OAAO,CAAC9E,KAAK,CAACgB,SAAS,GAAG,QAAQ,CAAA;AAChD,OAAA;KACD;AACDkH,IAAAA,WAAW,EAACtF,oBAAoB;AAChCuF,IAAAA,WAAW,EAACtF,oBAAoB;AAChCuF,IAAAA,MAAM,EAACzF,eAAAA;AACT,GAAC,CAAC,CAAA;EACFoF,gBAAgB,CAACrE,KAAK,EAAE,CAACV,OAAO,IAAIqF,qBAAqB,EAAE,IAAI,EAAC;AAACD,IAAAA,MAAM,EAACzF,eAAAA;AAAe,GAAC,CAAC,CAAA;AAEzF,EAAA,MAAM2F,OAAO,gBAAG7M,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAA8M,QAAA,EACd9M,IAAAA,eAAAA,KAAA,CAAAW,aAAA,CAACS,SAAS,EAAA;IAAC2L,IAAI,EAAE,QAAQ,GAAGvE,UAAAA;AAAW,GAAC,CAAC,eACzCxI,KAAA,CAAAW,aAAA,CAACqM,aAAa,EAAA;AAAC5G,IAAAA,KAAK,EAAE0D,cAAc,CAAC1D,KAAK,CAAE;AAACC,IAAAA,WAAW,EAAEA,WAAY;AAAC4G,IAAAA,KAAK,EAAElG,kBAAAA;GAC3E+C,EAAAA,cAAc,CAAC3D,QAAQ,EAAE;AAACwD,IAAAA,kBAAAA;AAAkB,GAAC,EAAE/B,SAAS,EAAEpH,kBAAkB,CAChE,CACf,CAAC,CAAA;AAEH,EAAA,oBACER,KAAA,CAAAW,aAAA,CAACuM,IAAI,EAAA;AAACH,IAAAA,IAAI,EAAEjG,SAAAA;AAAU,GAAA,EAElBS,OAAO,GACHsF,OAAO,gBACP7M,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAA8M,QAAA,EACA9M,IAAAA,eAAAA,KAAA,CAAAW,aAAA,CAACwM,aAAa,EAAA;AAACR,IAAAA,MAAM,EAAEzF,eAAgB;AAACS,IAAAA,YAAY,EAAEA,YAAAA;AAAa,GAAC,CAAC,eACrE3H,KAAA,CAAAW,aAAA,CAACb,cAAc,EAAA;AAACK,IAAAA,GAAG,EAAE8H,KAAAA;AAAM,GAAA,eAE3BjI,KAAA,CAAAW,aAAA,CAACE,YAAY,EAAA;AAAC6G,IAAAA,YAAY,EAAEA,YAAa;AAACkD,IAAAA,SAAS,EAAC,WAAW;AAACtK,IAAAA,UAAU,EAAEoI,OAAO,EAAE,GAAC,CAAE;AAACnI,IAAAA,UAAU,EAAEA,UAAW;AAACC,IAAAA,kBAAkB,EAAEA,kBAAmB;AAACL,IAAAA,GAAG,EAAE+H,WAAY;AAAC9H,IAAAA,KAAK,EAAEiM,SAAS,GAAG,MAAM,GAAGe,SAAU;AAACC,IAAAA,OAAO,EAAEnB,UAAW;AACxNoB,IAAAA,QAAQ,EAAEjB,SAAS,GAAG,MAAM,EAAE,GAAGe,SAAU;AAC3CG,IAAAA,WAAW,EAAEnB,SAAAA;AAAU,GAAA,EAClCS,OACW,CACA,CACd,CAEF,CAAC,CAAA;AAEX,CAAC,EAAC;AAEK,MAAMM,aAAa,gBAAGnN,KAAK,CAACC,UAAU,CAAC,CAAAuN,KAAA,EAAuHrN,GAAG,KAAK;EAAA,IAA9H;MAACwM,MAAM;MAACJ,UAAU;MAACG,WAAW;MAACD,WAAW;AAACgB,MAAAA,OAAO,GAAGtO,aAAa;AAAEuO,MAAAA,QAAQ,GAAGtO,cAAc;AAAEuI,MAAAA,YAAAA;AAAqB,KAAC,GAAA6F,KAAA;AAAN5N,IAAAA,KAAK,GAAAa,wBAAA,CAAA+M,KAAA,EAAAG,UAAA,CAAA,CAAA;AACjK,EAAA,MAAM1F,KAAK,GAAGJ,YAAY,CAAC1H,GAAG,CAAC,CAAA;AAC/BmM,EAAAA,gBAAgB,CAACrE,KAAK,EAAEwF,OAAO,EAAEC,QAAQ,EAAC;IAACf,MAAM;IAACJ,UAAU;IAACE,WAAW;AAACC,IAAAA,WAAAA;AAAW,GAAC,CAAC,CAAA;EACtF,oBAAO1M,KAAA,CAAAW,aAAA,CAACrB,KAAK,EAAAsB,QAAA,KAAKhB,KAAK,EAAA;AAAEC,IAAAA,aAAa,EAAE8H,YAAa;AAACxH,IAAAA,GAAG,EAAE8H,KAAAA;AAAM,GAAA,CAAC,CAAC,CAAA;AACrE,CAAC;;;;"}