primevue 4.3.7 → 4.3.8

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,7 +19,7 @@ export interface StyleClassOptions {
19
19
  /**
20
20
  * Selector to define the target element. Available selectors are '@next', '@prev', '@parent' and '@grandparent'.
21
21
  */
22
- selector?: HintedString<'@next' | '@prev' | '@parent' | '@grandparent'> | undefined;
22
+ selector?: HintedString<'@next' | '@prev' | '@parent' | '@grandparent'> | string | undefined;
23
23
  /**
24
24
  * Style class to add when item begins to get displayed.
25
25
  */
@@ -57,6 +57,16 @@ export interface StyleClassOptions {
57
57
  * Adds or removes a class when no enter-leave animation is required.
58
58
  */
59
59
  toggleClass?: string | undefined;
60
+ /**
61
+ * Whether to trigger leave animation when the target element resized.
62
+ * @defaultValue false
63
+ */
64
+ hideOnResize?: boolean | undefined;
65
+ /**
66
+ * Target element to listen resize. Valid values are "window", "document" or target element.
67
+ * @defaultValue window
68
+ */
69
+ resizeSelector?: string | undefined;
60
70
  /**
61
71
  * It generates scoped CSS variables using design tokens for the component.
62
72
  */
@@ -1,4 +1,4 @@
1
- import { addClass, removeClass, hasClass } from '@primeuix/utils/dom';
1
+ import { getTargetElement, isElement, addClass, removeClass, hasClass } from '@primeuix/utils/dom';
2
2
  import BaseDirective from '@primevue/core/basedirective';
3
3
  import StyleClassStyle from 'primevue/styleclass/style';
4
4
 
@@ -17,7 +17,7 @@ var StyleClass = BaseStyleClass.extend('styleclass', {
17
17
  methods: {
18
18
  bind: function bind(el, binding) {
19
19
  var _this = this;
20
- var target = this.resolveTarget(el, binding);
20
+ var target = getTargetElement(binding.value.selector, el);
21
21
  this.$el = target;
22
22
  el.$_pstyleclass_clicklistener = function () {
23
23
  if (binding.value.toggleClass) {
@@ -33,6 +33,7 @@ var StyleClass = BaseStyleClass.extend('styleclass', {
33
33
  el.removeEventListener('click', el.$_pstyleclass_clicklistener);
34
34
  el.$_pstyleclass_clicklistener = null;
35
35
  }
36
+ this.unbindResizeListener(el);
36
37
  this.unbindDocumentListener(el);
37
38
  },
38
39
  enter: function enter(target, el, binding) {
@@ -74,6 +75,9 @@ var StyleClass = BaseStyleClass.extend('styleclass', {
74
75
  if (binding.value.hideOnOutsideClick) {
75
76
  this.bindDocumentListener(target, el, binding);
76
77
  }
78
+ if (binding.value.hideOnResize) {
79
+ this.bindResizeListener(target, el, binding);
80
+ }
77
81
  },
78
82
  leave: function leave(target, binding) {
79
83
  if (binding.value.leaveActiveClass) {
@@ -104,19 +108,8 @@ var StyleClass = BaseStyleClass.extend('styleclass', {
104
108
  if (binding.value.hideOnOutsideClick) {
105
109
  this.unbindDocumentListener(target);
106
110
  }
107
- },
108
- resolveTarget: function resolveTarget(el, binding) {
109
- switch (binding.value.selector) {
110
- case '@next':
111
- return el.nextElementSibling;
112
- case '@prev':
113
- return el.previousElementSibling;
114
- case '@parent':
115
- return el.parentElement;
116
- case '@grandparent':
117
- return el.parentElement.parentElement;
118
- default:
119
- return document.querySelector(binding.value.selector);
111
+ if (binding.value.hideOnResize) {
112
+ this.unbindResizeListener(target);
120
113
  }
121
114
  },
122
115
  bindDocumentListener: function bindDocumentListener(target, el, binding) {
@@ -138,6 +131,60 @@ var StyleClass = BaseStyleClass.extend('styleclass', {
138
131
  target.$p_styleclass_documentlistener = null;
139
132
  }
140
133
  },
134
+ bindResizeListener: function bindResizeListener(target, el, binding) {
135
+ var _binding$value$resize;
136
+ target.$p_styleclass_resizeselector = getTargetElement((_binding$value$resize = binding.value.resizeSelector) !== null && _binding$value$resize !== void 0 ? _binding$value$resize : 'window');
137
+ if (isElement(target.$p_styleclass_resizeselector)) {
138
+ this.bindElementResizeListener(target, binding);
139
+ } else {
140
+ this.bindWindowResizeListener(target, binding);
141
+ }
142
+ },
143
+ unbindResizeListener: function unbindResizeListener(target) {
144
+ this.unbindWindowResizeListener(target);
145
+ this.unbindElementResizeListener(target);
146
+ },
147
+ bindWindowResizeListener: function bindWindowResizeListener(target, binding) {
148
+ var _this3 = this;
149
+ if (!target.$p_styleclass_windowresizelistener) {
150
+ target.$p_styleclass_windowresizelistener = function () {
151
+ if (!_this3.isVisible(target)) {
152
+ _this3.unbindWindowResizeListener(target);
153
+ } else {
154
+ _this3.leave(target, binding);
155
+ }
156
+ };
157
+ target.ownerDocument.defaultView.addEventListener('resize', target.$p_styleclass_windowresizelistener);
158
+ }
159
+ },
160
+ unbindWindowResizeListener: function unbindWindowResizeListener(target) {
161
+ if (target.$p_styleclass_windowresizelistener) {
162
+ target.ownerDocument.defaultView.removeEventListener('resize', target.$p_styleclass_windowresizelistener);
163
+ target.$p_styleclass_windowresizelistener = null;
164
+ }
165
+ },
166
+ bindElementResizeListener: function bindElementResizeListener(target, binding) {
167
+ var _this4 = this;
168
+ if (!target.$p_styleclass_resizeobserver && target.$p_styleclass_resizeselector) {
169
+ var isFirstResize = true;
170
+ target.$p_styleclass_resizeobserver = new ResizeObserver(function () {
171
+ if (isFirstResize) {
172
+ isFirstResize = false;
173
+ return;
174
+ }
175
+ if (_this4.isVisible(target)) {
176
+ _this4.leave(target, binding);
177
+ }
178
+ });
179
+ target.$p_styleclass_resizeobserver.observe(target.$p_styleclass_resizeselector);
180
+ }
181
+ },
182
+ unbindElementResizeListener: function unbindElementResizeListener(target) {
183
+ if (target.$p_styleclass_resizeobserver) {
184
+ target.$p_styleclass_resizeobserver.disconnect();
185
+ target.$p_styleclass_resizeobserver = null;
186
+ }
187
+ },
141
188
  isVisible: function isVisible(target) {
142
189
  return target.offsetParent !== null;
143
190
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/styleclass/BaseStyleClass.js","../../src/styleclass/StyleClass.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport StyleClassStyle from 'primevue/styleclass/style';\n\nconst BaseStyleClass = BaseDirective.extend({\n style: StyleClassStyle\n});\n\nexport default BaseStyleClass;\n","import { addClass, hasClass, removeClass } from '@primeuix/utils/dom';\nimport BaseStyleClass from './BaseStyleClass';\n\nconst StyleClass = BaseStyleClass.extend('styleclass', {\n mounted(el, binding) {\n el.setAttribute('data-pd-styleclass', true);\n\n this.bind(el, binding);\n },\n unmounted(el) {\n this.unbind(el);\n },\n methods: {\n bind(el, binding) {\n const target = this.resolveTarget(el, binding);\n\n this.$el = target;\n\n el.$_pstyleclass_clicklistener = () => {\n if (binding.value.toggleClass) {\n if (hasClass(target, binding.value.toggleClass)) removeClass(target, binding.value.toggleClass);\n else addClass(target, binding.value.toggleClass);\n } else {\n if (target.offsetParent === null) this.enter(target, el, binding);\n else this.leave(target, binding);\n }\n };\n\n el.addEventListener('click', el.$_pstyleclass_clicklistener);\n },\n unbind(el) {\n if (el.$_pstyleclass_clicklistener) {\n el.removeEventListener('click', el.$_pstyleclass_clicklistener);\n el.$_pstyleclass_clicklistener = null;\n }\n\n this.unbindDocumentListener(el);\n },\n enter(target, el, binding) {\n if (binding.value.enterActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.height = '0px';\n removeClass(target, binding.value.hiddenClass || binding.value.enterFromClass);\n target.style.maxHeight = target.scrollHeight + 'px';\n addClass(target, binding.value.hiddenClass || binding.value.enterActiveClass);\n target.style.height = '';\n }\n\n addClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n target.$p_styleclass_enterlistener = () => {\n removeClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_enterlistener);\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.maxHeight = '';\n }\n\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_enterlistener);\n }\n } else {\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.bindDocumentListener(target, el, binding);\n }\n },\n leave(target, binding) {\n if (binding.value.leaveActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n addClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n target.$p_styleclass_leavelistener = () => {\n removeClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_leavelistener);\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_leavelistener);\n }\n } else {\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.unbindDocumentListener(target);\n }\n },\n resolveTarget(el, binding) {\n switch (binding.value.selector) {\n case '@next':\n return el.nextElementSibling;\n\n case '@prev':\n return el.previousElementSibling;\n\n case '@parent':\n return el.parentElement;\n\n case '@grandparent':\n return el.parentElement.parentElement;\n\n default:\n return document.querySelector(binding.value.selector);\n }\n },\n bindDocumentListener(target, el, binding) {\n if (!target.$p_styleclass_documentlistener) {\n target.$p_styleclass_documentlistener = (event) => {\n if (!this.isVisible(target) || getComputedStyle(target).getPropertyValue('position') === 'static') {\n this.unbindDocumentListener(target);\n } else if (this.isOutsideClick(event, target, el)) {\n this.leave(target, binding);\n }\n };\n\n target.ownerDocument.addEventListener('click', target.$p_styleclass_documentlistener);\n }\n },\n unbindDocumentListener(target) {\n if (target.$p_styleclass_documentlistener) {\n target.ownerDocument.removeEventListener('click', target.$p_styleclass_documentlistener);\n target.$p_styleclass_documentlistener = null;\n }\n },\n isVisible(target) {\n return target.offsetParent !== null;\n },\n isOutsideClick(event, target, el) {\n return !el.isSameNode(event.target) && !el.contains(event.target) && !target.contains(event.target);\n }\n }\n});\n\nexport default StyleClass;\n"],"names":["BaseStyleClass","BaseDirective","extend","style","StyleClassStyle","StyleClass","mounted","el","binding","setAttribute","bind","unmounted","unbind","methods","_this","target","resolveTarget","$el","$_pstyleclass_clicklistener","value","toggleClass","hasClass","removeClass","addClass","offsetParent","enter","leave","addEventListener","removeEventListener","unbindDocumentListener","enterActiveClass","$_pstyleclass_animating","includes","height","hiddenClass","enterFromClass","maxHeight","scrollHeight","$p_styleclass_enterlistener","enterToClass","hideOnOutsideClick","bindDocumentListener","leaveActiveClass","leaveFromClass","$p_styleclass_leavelistener","leaveToClass","selector","nextElementSibling","previousElementSibling","parentElement","document","querySelector","_this2","$p_styleclass_documentlistener","event","isVisible","getComputedStyle","getPropertyValue","isOutsideClick","ownerDocument","isSameNode","contains"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/styleclass/BaseStyleClass.js","../../src/styleclass/StyleClass.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport StyleClassStyle from 'primevue/styleclass/style';\n\nconst BaseStyleClass = BaseDirective.extend({\n style: StyleClassStyle\n});\n\nexport default BaseStyleClass;\n","import { addClass, getTargetElement, hasClass, isElement, removeClass } from '@primeuix/utils/dom';\nimport BaseStyleClass from './BaseStyleClass';\n\nconst StyleClass = BaseStyleClass.extend('styleclass', {\n mounted(el, binding) {\n el.setAttribute('data-pd-styleclass', true);\n\n this.bind(el, binding);\n },\n unmounted(el) {\n this.unbind(el);\n },\n methods: {\n bind(el, binding) {\n const target = getTargetElement(binding.value.selector, el);\n\n this.$el = target;\n\n el.$_pstyleclass_clicklistener = () => {\n if (binding.value.toggleClass) {\n if (hasClass(target, binding.value.toggleClass)) removeClass(target, binding.value.toggleClass);\n else addClass(target, binding.value.toggleClass);\n } else {\n if (target.offsetParent === null) this.enter(target, el, binding);\n else this.leave(target, binding);\n }\n };\n\n el.addEventListener('click', el.$_pstyleclass_clicklistener);\n },\n unbind(el) {\n if (el.$_pstyleclass_clicklistener) {\n el.removeEventListener('click', el.$_pstyleclass_clicklistener);\n el.$_pstyleclass_clicklistener = null;\n }\n\n this.unbindResizeListener(el);\n this.unbindDocumentListener(el);\n },\n enter(target, el, binding) {\n if (binding.value.enterActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.height = '0px';\n removeClass(target, binding.value.hiddenClass || binding.value.enterFromClass);\n target.style.maxHeight = target.scrollHeight + 'px';\n addClass(target, binding.value.hiddenClass || binding.value.enterActiveClass);\n target.style.height = '';\n }\n\n addClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n target.$p_styleclass_enterlistener = () => {\n removeClass(target, binding.value.enterActiveClass);\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_enterlistener);\n\n if (binding.value.enterActiveClass.includes('slidedown')) {\n target.style.maxHeight = '';\n }\n\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_enterlistener);\n }\n } else {\n if (binding.value.enterFromClass) {\n removeClass(target, binding.value.enterFromClass);\n }\n\n if (binding.value.enterToClass) {\n addClass(target, binding.value.enterToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.bindDocumentListener(target, el, binding);\n }\n\n if (binding.value.hideOnResize) {\n this.bindResizeListener(target, el, binding);\n }\n },\n leave(target, binding) {\n if (binding.value.leaveActiveClass) {\n if (!target.$_pstyleclass_animating) {\n target.$_pstyleclass_animating = true;\n addClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n target.$p_styleclass_leavelistener = () => {\n removeClass(target, binding.value.leaveActiveClass);\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n\n target.removeEventListener('animationend', target.$p_styleclass_leavelistener);\n target.$_pstyleclass_animating = false;\n };\n\n target.addEventListener('animationend', target.$p_styleclass_leavelistener);\n }\n } else {\n if (binding.value.leaveFromClass) {\n removeClass(target, binding.value.leaveFromClass);\n }\n\n if (binding.value.leaveToClass) {\n addClass(target, binding.value.leaveToClass);\n }\n }\n\n if (binding.value.hideOnOutsideClick) {\n this.unbindDocumentListener(target);\n }\n\n if (binding.value.hideOnResize) {\n this.unbindResizeListener(target);\n }\n },\n bindDocumentListener(target, el, binding) {\n if (!target.$p_styleclass_documentlistener) {\n target.$p_styleclass_documentlistener = (event) => {\n if (!this.isVisible(target) || getComputedStyle(target).getPropertyValue('position') === 'static') {\n this.unbindDocumentListener(target);\n } else if (this.isOutsideClick(event, target, el)) {\n this.leave(target, binding);\n }\n };\n\n target.ownerDocument.addEventListener('click', target.$p_styleclass_documentlistener);\n }\n },\n unbindDocumentListener(target) {\n if (target.$p_styleclass_documentlistener) {\n target.ownerDocument.removeEventListener('click', target.$p_styleclass_documentlistener);\n target.$p_styleclass_documentlistener = null;\n }\n },\n bindResizeListener(target, el, binding) {\n target.$p_styleclass_resizeselector = getTargetElement(binding.value.resizeSelector ?? 'window');\n\n if (isElement(target.$p_styleclass_resizeselector)) {\n this.bindElementResizeListener(target, binding);\n } else {\n this.bindWindowResizeListener(target, binding);\n }\n },\n unbindResizeListener(target) {\n this.unbindWindowResizeListener(target);\n this.unbindElementResizeListener(target);\n },\n bindWindowResizeListener(target, binding) {\n if (!target.$p_styleclass_windowresizelistener) {\n target.$p_styleclass_windowresizelistener = () => {\n if (!this.isVisible(target)) {\n this.unbindWindowResizeListener(target);\n } else {\n this.leave(target, binding);\n }\n };\n\n target.ownerDocument.defaultView.addEventListener('resize', target.$p_styleclass_windowresizelistener);\n }\n },\n unbindWindowResizeListener(target) {\n if (target.$p_styleclass_windowresizelistener) {\n target.ownerDocument.defaultView.removeEventListener('resize', target.$p_styleclass_windowresizelistener);\n target.$p_styleclass_windowresizelistener = null;\n }\n },\n bindElementResizeListener(target, binding) {\n if (!target.$p_styleclass_resizeobserver && target.$p_styleclass_resizeselector) {\n let isFirstResize = true;\n\n target.$p_styleclass_resizeobserver = new ResizeObserver(() => {\n if (isFirstResize) {\n isFirstResize = false;\n\n return;\n }\n\n if (this.isVisible(target)) {\n this.leave(target, binding);\n }\n });\n target.$p_styleclass_resizeobserver.observe(target.$p_styleclass_resizeselector);\n }\n },\n unbindElementResizeListener(target) {\n if (target.$p_styleclass_resizeobserver) {\n target.$p_styleclass_resizeobserver.disconnect();\n target.$p_styleclass_resizeobserver = null;\n }\n },\n isVisible(target) {\n return target.offsetParent !== null;\n },\n isOutsideClick(event, target, el) {\n return !el.isSameNode(event.target) && !el.contains(event.target) && !target.contains(event.target);\n }\n }\n});\n\nexport default StyleClass;\n"],"names":["BaseStyleClass","BaseDirective","extend","style","StyleClassStyle","StyleClass","mounted","el","binding","setAttribute","bind","unmounted","unbind","methods","_this","target","getTargetElement","value","selector","$el","$_pstyleclass_clicklistener","toggleClass","hasClass","removeClass","addClass","offsetParent","enter","leave","addEventListener","removeEventListener","unbindResizeListener","unbindDocumentListener","enterActiveClass","$_pstyleclass_animating","includes","height","hiddenClass","enterFromClass","maxHeight","scrollHeight","$p_styleclass_enterlistener","enterToClass","hideOnOutsideClick","bindDocumentListener","hideOnResize","bindResizeListener","leaveActiveClass","leaveFromClass","$p_styleclass_leavelistener","leaveToClass","_this2","$p_styleclass_documentlistener","event","isVisible","getComputedStyle","getPropertyValue","isOutsideClick","ownerDocument","_binding$value$resize","$p_styleclass_resizeselector","resizeSelector","isElement","bindElementResizeListener","bindWindowResizeListener","unbindWindowResizeListener","unbindElementResizeListener","_this3","$p_styleclass_windowresizelistener","defaultView","_this4","$p_styleclass_resizeobserver","isFirstResize","ResizeObserver","observe","disconnect","isSameNode","contains"],"mappings":";;;;AAGA,IAAMA,cAAc,GAAGC,aAAa,CAACC,MAAM,CAAC;AACxCC,EAAAA,KAAK,EAAEC;AACX,CAAC,CAAC;;ACFF,IAAMC,UAAU,GAAGL,cAAc,CAACE,MAAM,CAAC,YAAY,EAAE;AACnDI,EAAAA,OAAO,WAAPA,OAAOA,CAACC,EAAE,EAAEC,OAAO,EAAE;AACjBD,IAAAA,EAAE,CAACE,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC;AAE3C,IAAA,IAAI,CAACC,IAAI,CAACH,EAAE,EAAEC,OAAO,CAAC;EAC1B,CAAC;AACDG,EAAAA,SAAS,EAAA,SAATA,SAASA,CAACJ,EAAE,EAAE;AACV,IAAA,IAAI,CAACK,MAAM,CAACL,EAAE,CAAC;EACnB,CAAC;AACDM,EAAAA,OAAO,EAAE;AACLH,IAAAA,IAAI,WAAJA,IAAIA,CAACH,EAAE,EAAEC,OAAO,EAAE;AAAA,MAAA,IAAAM,KAAA,GAAA,IAAA;MACd,IAAMC,MAAM,GAAGC,gBAAgB,CAACR,OAAO,CAACS,KAAK,CAACC,QAAQ,EAAEX,EAAE,CAAC;MAE3D,IAAI,CAACY,GAAG,GAAGJ,MAAM;MAEjBR,EAAE,CAACa,2BAA2B,GAAG,YAAM;AACnC,QAAA,IAAIZ,OAAO,CAACS,KAAK,CAACI,WAAW,EAAE;AAC3B,UAAA,IAAIC,QAAQ,CAACP,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACI,WAAW,CAAC,EAAEE,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACI,WAAW,CAAC,CAAC,KAC3FG,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACI,WAAW,CAAC;AACpD,QAAA,CAAC,MAAM;UACH,IAAIN,MAAM,CAACU,YAAY,KAAK,IAAI,EAAEX,KAAI,CAACY,KAAK,CAACX,MAAM,EAAER,EAAE,EAAEC,OAAO,CAAC,CAAC,KAC7DM,KAAI,CAACa,KAAK,CAACZ,MAAM,EAAEP,OAAO,CAAC;AACpC,QAAA;MACJ,CAAC;MAEDD,EAAE,CAACqB,gBAAgB,CAAC,OAAO,EAAErB,EAAE,CAACa,2BAA2B,CAAC;IAChE,CAAC;AACDR,IAAAA,MAAM,EAAA,SAANA,MAAMA,CAACL,EAAE,EAAE;MACP,IAAIA,EAAE,CAACa,2BAA2B,EAAE;QAChCb,EAAE,CAACsB,mBAAmB,CAAC,OAAO,EAAEtB,EAAE,CAACa,2BAA2B,CAAC;QAC/Db,EAAE,CAACa,2BAA2B,GAAG,IAAI;AACzC,MAAA;AAEA,MAAA,IAAI,CAACU,oBAAoB,CAACvB,EAAE,CAAC;AAC7B,MAAA,IAAI,CAACwB,sBAAsB,CAACxB,EAAE,CAAC;IACnC,CAAC;IACDmB,KAAK,EAAA,SAALA,KAAKA,CAACX,MAAM,EAAER,EAAE,EAAEC,OAAO,EAAE;AACvB,MAAA,IAAIA,OAAO,CAACS,KAAK,CAACe,gBAAgB,EAAE;AAChC,QAAA,IAAI,CAACjB,MAAM,CAACkB,uBAAuB,EAAE;UACjClB,MAAM,CAACkB,uBAAuB,GAAG,IAAI;UAErC,IAAIzB,OAAO,CAACS,KAAK,CAACe,gBAAgB,CAACE,QAAQ,CAAC,WAAW,CAAC,EAAE;AACtDnB,YAAAA,MAAM,CAACZ,KAAK,CAACgC,MAAM,GAAG,KAAK;AAC3BZ,YAAAA,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACmB,WAAW,IAAI5B,OAAO,CAACS,KAAK,CAACoB,cAAc,CAAC;YAC9EtB,MAAM,CAACZ,KAAK,CAACmC,SAAS,GAAGvB,MAAM,CAACwB,YAAY,GAAG,IAAI;AACnDf,YAAAA,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACmB,WAAW,IAAI5B,OAAO,CAACS,KAAK,CAACe,gBAAgB,CAAC;AAC7EjB,YAAAA,MAAM,CAACZ,KAAK,CAACgC,MAAM,GAAG,EAAE;AAC5B,UAAA;UAEAX,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACe,gBAAgB,CAAC;AAEhD,UAAA,IAAIxB,OAAO,CAACS,KAAK,CAACoB,cAAc,EAAE;YAC9Bd,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACoB,cAAc,CAAC;AACrD,UAAA;UAEAtB,MAAM,CAACyB,2BAA2B,GAAG,YAAM;YACvCjB,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACe,gBAAgB,CAAC;AAEnD,YAAA,IAAIxB,OAAO,CAACS,KAAK,CAACwB,YAAY,EAAE;cAC5BjB,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACwB,YAAY,CAAC;AAChD,YAAA;YAEA1B,MAAM,CAACc,mBAAmB,CAAC,cAAc,EAAEd,MAAM,CAACyB,2BAA2B,CAAC;YAE9E,IAAIhC,OAAO,CAACS,KAAK,CAACe,gBAAgB,CAACE,QAAQ,CAAC,WAAW,CAAC,EAAE;AACtDnB,cAAAA,MAAM,CAACZ,KAAK,CAACmC,SAAS,GAAG,EAAE;AAC/B,YAAA;YAEAvB,MAAM,CAACkB,uBAAuB,GAAG,KAAK;UAC1C,CAAC;UAEDlB,MAAM,CAACa,gBAAgB,CAAC,cAAc,EAAEb,MAAM,CAACyB,2BAA2B,CAAC;AAC/E,QAAA;AACJ,MAAA,CAAC,MAAM;AACH,QAAA,IAAIhC,OAAO,CAACS,KAAK,CAACoB,cAAc,EAAE;UAC9Bd,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACoB,cAAc,CAAC;AACrD,QAAA;AAEA,QAAA,IAAI7B,OAAO,CAACS,KAAK,CAACwB,YAAY,EAAE;UAC5BjB,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACwB,YAAY,CAAC;AAChD,QAAA;AACJ,MAAA;AAEA,MAAA,IAAIjC,OAAO,CAACS,KAAK,CAACyB,kBAAkB,EAAE;QAClC,IAAI,CAACC,oBAAoB,CAAC5B,MAAM,EAAER,EAAE,EAAEC,OAAO,CAAC;AAClD,MAAA;AAEA,MAAA,IAAIA,OAAO,CAACS,KAAK,CAAC2B,YAAY,EAAE;QAC5B,IAAI,CAACC,kBAAkB,CAAC9B,MAAM,EAAER,EAAE,EAAEC,OAAO,CAAC;AAChD,MAAA;IACJ,CAAC;AACDmB,IAAAA,KAAK,WAALA,KAAKA,CAACZ,MAAM,EAAEP,OAAO,EAAE;AACnB,MAAA,IAAIA,OAAO,CAACS,KAAK,CAAC6B,gBAAgB,EAAE;AAChC,QAAA,IAAI,CAAC/B,MAAM,CAACkB,uBAAuB,EAAE;UACjClB,MAAM,CAACkB,uBAAuB,GAAG,IAAI;UACrCT,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAAC6B,gBAAgB,CAAC;AAEhD,UAAA,IAAItC,OAAO,CAACS,KAAK,CAAC8B,cAAc,EAAE;YAC9BxB,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAAC8B,cAAc,CAAC;AACrD,UAAA;UAEAhC,MAAM,CAACiC,2BAA2B,GAAG,YAAM;YACvCzB,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAAC6B,gBAAgB,CAAC;AAEnD,YAAA,IAAItC,OAAO,CAACS,KAAK,CAACgC,YAAY,EAAE;cAC5BzB,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACgC,YAAY,CAAC;AAChD,YAAA;YAEAlC,MAAM,CAACc,mBAAmB,CAAC,cAAc,EAAEd,MAAM,CAACiC,2BAA2B,CAAC;YAC9EjC,MAAM,CAACkB,uBAAuB,GAAG,KAAK;UAC1C,CAAC;UAEDlB,MAAM,CAACa,gBAAgB,CAAC,cAAc,EAAEb,MAAM,CAACiC,2BAA2B,CAAC;AAC/E,QAAA;AACJ,MAAA,CAAC,MAAM;AACH,QAAA,IAAIxC,OAAO,CAACS,KAAK,CAAC8B,cAAc,EAAE;UAC9BxB,WAAW,CAACR,MAAM,EAAEP,OAAO,CAACS,KAAK,CAAC8B,cAAc,CAAC;AACrD,QAAA;AAEA,QAAA,IAAIvC,OAAO,CAACS,KAAK,CAACgC,YAAY,EAAE;UAC5BzB,QAAQ,CAACT,MAAM,EAAEP,OAAO,CAACS,KAAK,CAACgC,YAAY,CAAC;AAChD,QAAA;AACJ,MAAA;AAEA,MAAA,IAAIzC,OAAO,CAACS,KAAK,CAACyB,kBAAkB,EAAE;AAClC,QAAA,IAAI,CAACX,sBAAsB,CAAChB,MAAM,CAAC;AACvC,MAAA;AAEA,MAAA,IAAIP,OAAO,CAACS,KAAK,CAAC2B,YAAY,EAAE;AAC5B,QAAA,IAAI,CAACd,oBAAoB,CAACf,MAAM,CAAC;AACrC,MAAA;IACJ,CAAC;IACD4B,oBAAoB,EAAA,SAApBA,oBAAoBA,CAAC5B,MAAM,EAAER,EAAE,EAAEC,OAAO,EAAE;AAAA,MAAA,IAAA0C,MAAA,GAAA,IAAA;AACtC,MAAA,IAAI,CAACnC,MAAM,CAACoC,8BAA8B,EAAE;AACxCpC,QAAAA,MAAM,CAACoC,8BAA8B,GAAG,UAACC,KAAK,EAAK;AAC/C,UAAA,IAAI,CAACF,MAAI,CAACG,SAAS,CAACtC,MAAM,CAAC,IAAIuC,gBAAgB,CAACvC,MAAM,CAAC,CAACwC,gBAAgB,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;AAC/FL,YAAAA,MAAI,CAACnB,sBAAsB,CAAChB,MAAM,CAAC;AACvC,UAAA,CAAC,MAAM,IAAImC,MAAI,CAACM,cAAc,CAACJ,KAAK,EAAErC,MAAM,EAAER,EAAE,CAAC,EAAE;AAC/C2C,YAAAA,MAAI,CAACvB,KAAK,CAACZ,MAAM,EAAEP,OAAO,CAAC;AAC/B,UAAA;QACJ,CAAC;QAEDO,MAAM,CAAC0C,aAAa,CAAC7B,gBAAgB,CAAC,OAAO,EAAEb,MAAM,CAACoC,8BAA8B,CAAC;AACzF,MAAA;IACJ,CAAC;AACDpB,IAAAA,sBAAsB,EAAA,SAAtBA,sBAAsBA,CAAChB,MAAM,EAAE;MAC3B,IAAIA,MAAM,CAACoC,8BAA8B,EAAE;QACvCpC,MAAM,CAAC0C,aAAa,CAAC5B,mBAAmB,CAAC,OAAO,EAAEd,MAAM,CAACoC,8BAA8B,CAAC;QACxFpC,MAAM,CAACoC,8BAA8B,GAAG,IAAI;AAChD,MAAA;IACJ,CAAC;IACDN,kBAAkB,EAAA,SAAlBA,kBAAkBA,CAAC9B,MAAM,EAAER,EAAE,EAAEC,OAAO,EAAE;AAAA,MAAA,IAAAkD,qBAAA;AACpC3C,MAAAA,MAAM,CAAC4C,4BAA4B,GAAG3C,gBAAgB,CAAA,CAAA0C,qBAAA,GAAClD,OAAO,CAACS,KAAK,CAAC2C,cAAc,MAAA,IAAA,IAAAF,qBAAA,cAAAA,qBAAA,GAAI,QAAQ,CAAC;AAEhG,MAAA,IAAIG,SAAS,CAAC9C,MAAM,CAAC4C,4BAA4B,CAAC,EAAE;AAChD,QAAA,IAAI,CAACG,yBAAyB,CAAC/C,MAAM,EAAEP,OAAO,CAAC;AACnD,MAAA,CAAC,MAAM;AACH,QAAA,IAAI,CAACuD,wBAAwB,CAAChD,MAAM,EAAEP,OAAO,CAAC;AAClD,MAAA;IACJ,CAAC;AACDsB,IAAAA,oBAAoB,EAAA,SAApBA,oBAAoBA,CAACf,MAAM,EAAE;AACzB,MAAA,IAAI,CAACiD,0BAA0B,CAACjD,MAAM,CAAC;AACvC,MAAA,IAAI,CAACkD,2BAA2B,CAAClD,MAAM,CAAC;IAC5C,CAAC;AACDgD,IAAAA,wBAAwB,WAAxBA,wBAAwBA,CAAChD,MAAM,EAAEP,OAAO,EAAE;AAAA,MAAA,IAAA0D,MAAA,GAAA,IAAA;AACtC,MAAA,IAAI,CAACnD,MAAM,CAACoD,kCAAkC,EAAE;QAC5CpD,MAAM,CAACoD,kCAAkC,GAAG,YAAM;AAC9C,UAAA,IAAI,CAACD,MAAI,CAACb,SAAS,CAACtC,MAAM,CAAC,EAAE;AACzBmD,YAAAA,MAAI,CAACF,0BAA0B,CAACjD,MAAM,CAAC;AAC3C,UAAA,CAAC,MAAM;AACHmD,YAAAA,MAAI,CAACvC,KAAK,CAACZ,MAAM,EAAEP,OAAO,CAAC;AAC/B,UAAA;QACJ,CAAC;AAEDO,QAAAA,MAAM,CAAC0C,aAAa,CAACW,WAAW,CAACxC,gBAAgB,CAAC,QAAQ,EAAEb,MAAM,CAACoD,kCAAkC,CAAC;AAC1G,MAAA;IACJ,CAAC;AACDH,IAAAA,0BAA0B,EAAA,SAA1BA,0BAA0BA,CAACjD,MAAM,EAAE;MAC/B,IAAIA,MAAM,CAACoD,kCAAkC,EAAE;AAC3CpD,QAAAA,MAAM,CAAC0C,aAAa,CAACW,WAAW,CAACvC,mBAAmB,CAAC,QAAQ,EAAEd,MAAM,CAACoD,kCAAkC,CAAC;QACzGpD,MAAM,CAACoD,kCAAkC,GAAG,IAAI;AACpD,MAAA;IACJ,CAAC;AACDL,IAAAA,yBAAyB,WAAzBA,yBAAyBA,CAAC/C,MAAM,EAAEP,OAAO,EAAE;AAAA,MAAA,IAAA6D,MAAA,GAAA,IAAA;MACvC,IAAI,CAACtD,MAAM,CAACuD,4BAA4B,IAAIvD,MAAM,CAAC4C,4BAA4B,EAAE;QAC7E,IAAIY,aAAa,GAAG,IAAI;AAExBxD,QAAAA,MAAM,CAACuD,4BAA4B,GAAG,IAAIE,cAAc,CAAC,YAAM;AAC3D,UAAA,IAAID,aAAa,EAAE;AACfA,YAAAA,aAAa,GAAG,KAAK;AAErB,YAAA;AACJ,UAAA;AAEA,UAAA,IAAIF,MAAI,CAAChB,SAAS,CAACtC,MAAM,CAAC,EAAE;AACxBsD,YAAAA,MAAI,CAAC1C,KAAK,CAACZ,MAAM,EAAEP,OAAO,CAAC;AAC/B,UAAA;AACJ,QAAA,CAAC,CAAC;QACFO,MAAM,CAACuD,4BAA4B,CAACG,OAAO,CAAC1D,MAAM,CAAC4C,4BAA4B,CAAC;AACpF,MAAA;IACJ,CAAC;AACDM,IAAAA,2BAA2B,EAAA,SAA3BA,2BAA2BA,CAAClD,MAAM,EAAE;MAChC,IAAIA,MAAM,CAACuD,4BAA4B,EAAE;AACrCvD,QAAAA,MAAM,CAACuD,4BAA4B,CAACI,UAAU,EAAE;QAChD3D,MAAM,CAACuD,4BAA4B,GAAG,IAAI;AAC9C,MAAA;IACJ,CAAC;AACDjB,IAAAA,SAAS,EAAA,SAATA,SAASA,CAACtC,MAAM,EAAE;AACd,MAAA,OAAOA,MAAM,CAACU,YAAY,KAAK,IAAI;IACvC,CAAC;IACD+B,cAAc,EAAA,SAAdA,cAAcA,CAACJ,KAAK,EAAErC,MAAM,EAAER,EAAE,EAAE;AAC9B,MAAA,OAAO,CAACA,EAAE,CAACoE,UAAU,CAACvB,KAAK,CAACrC,MAAM,CAAC,IAAI,CAACR,EAAE,CAACqE,QAAQ,CAACxB,KAAK,CAACrC,MAAM,CAAC,IAAI,CAACA,MAAM,CAAC6D,QAAQ,CAACxB,KAAK,CAACrC,MAAM,CAAC;AACvG,IAAA;AACJ;AACJ,CAAC;;;;"}