@primereact/core 11.0.0-alpha.7 → 11.0.0-alpha.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.
- package/component/index.mjs +1 -1
- package/component/index.mjs.map +1 -1
- package/motion/index.mjs +1 -1
- package/motion/index.mjs.map +1 -1
- package/package.json +4 -4
- package/umd/index.js +27 -6
- package/umd/index.js.map +1 -1
package/umd/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js","../../../../node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.development.js","../../../../node_modules/.pnpm/react@19.2.0/node_modules/react/index.js","../../src/index.ts","../../src/api/FilterMatchMode.ts","../../src/api/FilterOperator.ts","../../../hooks/src/use-attr-selector/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/classnames/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/hasClass.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/addClass.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/calculateBodyScrollbarWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/helpers/blockBodyScroll.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/helpers/saveAs.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/helpers/exportCSV.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/removeClass.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/helpers/unblockBodyScroll.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getCSSVariableByRegex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getHiddenElementDimensions.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getViewport.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getScrollLeft.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getWindowScrollLeft.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getWindowScrollTop.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isRTL.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/absolutePosition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/addStyle.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getOuterWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/relativePosition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/alignOverlay.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getParentNode.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isExist.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/toElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getTargetElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/appendChild.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/calculateScrollbarHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/calculateScrollbarWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/clearSelection.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/setAttributes.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/createElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/createStyleMarkup.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/createStyleAsString.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/createStyleElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/createStyleTag.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/fadeIn.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/fadeOut.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/find.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/findSingle.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/focus.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getAttribute.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/resolveUserAgent.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getBrowser.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getBrowserLanguage.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getCSSProperty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getCursorOffset.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getFocusableElements.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getFirstFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getHiddenElementOuterHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getHiddenElementOuterWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getIndex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getInnerWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getLastFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getNextElementSibling.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getNextFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getOffset.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getOuterHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getParents.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getPreviousElementSibling.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getScrollableParents.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getSelection.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getUserAgent.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/getWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/hasCSSAnimation.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/hasCSSTransition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/invokeElementMethod.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isAndroid.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isAttributeEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isAttributeNotEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isClickable.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isClient.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isVisible.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isHidden.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isIOS.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isPrefersReducedMotion.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isServer.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/isTouchDevice.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/nestedPosition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/remove.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/removeChild.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/removeStyleTag.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/scrollInView.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/setAttribute.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/dom/methods/setCSSProperty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/eventbus/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isFunction.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/mergeprops/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isEmpty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/compare.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/deepEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isFunction.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isNotEmpty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/resolveFieldData.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/equals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/contains.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isObject.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/deepMerge.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/filter.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/findIndexInList.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/findLast.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/findLastIndex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/resolve.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isString.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/toFlatCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/getKeyValue.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/insertIntoOrderedArray.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isArray.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isDate.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isLetter.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isNumber.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isPrintableCharacter.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/isScalar.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/localeComparator.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/matchRegex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/mergeKeys.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/minifyCSS.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/nestedKeys.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/omit.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/removeAccents.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/reorderArray.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/sort.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/stringify.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/toCapitalCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/toKebabCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/toMs.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/toTokenKey.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.1/node_modules/@primeuix/utils/src/object/methods/toValue.ts","../../../hooks/src/use-controlled-state/index.ts","../../../hooks/src/use-event-listener/index.ts","../../../hooks/src/use-previous/index.ts","../../../hooks/src/use-id/index.ts","../../../hooks/src/use-mask/index.ts","../../../hooks/src/use-match-media/index.ts","../../../hooks/src/use-mount-effect/index.ts","../../../hooks/src/use-presence/index.ts","../../../hooks/src/use-props/index.ts","../../../hooks/src/use-scrolltop/index.ts","../../../hooks/src/use-unmount-effect/index.ts","../../../hooks/src/use-update-effect/index.ts","../../../hooks/src/use-view-transition/index.ts","../../src/locale/Locale.context.tsx","../../src/locale/Locale.props.ts","../../src/locale/useLocale.ts","../../src/passthrough/PassThrough.context.tsx","../../src/passthrough/PassThrough.props.ts","../../src/passthrough/usePassThrough.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/definePreset.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/updatePreset.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/service/index.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/utils/sharedUtils.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/utils/themeUtils.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/mix.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/palette.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/shade.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/tint.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/css.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/dt.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/t.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/toVariables.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/config/index.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/updatePrimaryPalette.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/updateSurfacePalette.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/usePreset.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/useTheme.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/stylesheet/index.ts","../../src/theme/Theme.context.tsx","../../src/theme/Theme.props.ts","../../src/theme/useTheme.ts","../../src/config/PrimeReact.context.tsx","../../src/config/PrimeReact.props.ts","../../src/config/usePrimeReact.ts","../../src/utils/combinedRefs.ts","../../src/utils/ConnectedOverlayScrollHandler.ts","../../src/utils/createContext.tsx","../../src/utils/styleRegistry.ts","../../src/utils/index.ts","../../src/base/useBase.ts","../../src/component/Component.tsx","../../src/component/Component.props.ts","../../src/component/useComponent.ts","../../src/component/useComponentPT.ts","../../src/component/useComponentStyle.ts","../../src/use-style/useStyle.ts","../../src/use-style/useStyle.props.ts","../../src/component/useComponentStyleHandler.ts","../../src/component/withComponent.tsx","../../src/headless/useHeadless.ts","../../src/headless/withHeadless.ts","../../src/icon/Icon.tsx","../../src/icon/Icon.props.ts","../../src/icon/Icon.style.ts","../../src/icon/withIcon.tsx","../../src/icon/useIcon.ts","../../../../node_modules/.pnpm/@primeuix+motion@0.0.4/node_modules/@primeuix/motion/src/config/index.ts","../../../../node_modules/.pnpm/@primeuix+motion@0.0.4/node_modules/@primeuix/motion/src/utils/index.ts","../../../styles/src/base/Base.style.ts","../../../primereact/src/base/index.ts","../../src/motion/Motion.tsx","../../src/motion/Motion.context.ts","../../src/motion/useMotion.props.ts","../../src/motion/Motion.props.ts","../../src/motion/useMotion.ts","../../src/stylesheet/PrimeReactStyleSheet.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n oldElement.props,\n oldElement._owner,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ioInfo = payload._ioInfo;\n null != ioInfo && (ioInfo.start = ioInfo.end = performance.now());\n ioInfo = payload._result;\n var thenable = ioInfo();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 1;\n payload._result = moduleObject;\n var _ioInfo = payload._ioInfo;\n null != _ioInfo && (_ioInfo.end = performance.now());\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n }\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 2;\n payload._result = error;\n var _ioInfo2 = payload._ioInfo;\n null != _ioInfo2 && (_ioInfo2.end = performance.now());\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n }\n );\n ioInfo = payload._ioInfo;\n if (null != ioInfo) {\n ioInfo.value = thenable;\n var displayName = thenable.displayName;\n \"string\" === typeof displayName && (ioInfo.name = displayName);\n }\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status)\n return (\n (ioInfo = payload._result),\n void 0 === ioInfo &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ioInfo\n ),\n \"default\" in ioInfo ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ioInfo\n ),\n ioInfo.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function releaseAsyncTransition() {\n ReactSharedInternals.asyncTransitions--;\n }\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n };\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n asyncTransitions: 0,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n var fnName = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = fnName;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function () {\n return null;\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n props,\n owner,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n validateChildKeys(arguments[key]);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++)\n validateChildKeys(arguments[i]);\n i = {};\n var key = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n key &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return ReactElement(\n type,\n key,\n i,\n getOwner(),\n propName ? Error(\"react-stack-top-frame\") : unknownOwnerDebugStack,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n ctor = { _status: -1, _result: ctor };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: ctor,\n _init: lazyInitializer\n },\n ioInfo = {\n name: \"lazy\",\n start: -1,\n end: -1,\n value: null,\n owner: null,\n debugStack: Error(\"react-stack-top-frame\"),\n debugTask: console.createTask ? console.createTask(\"lazy()\") : null\n };\n ctor._ioInfo = ioInfo;\n lazyType._debugInfo = [{ awaited: ioInfo }];\n return lazyType;\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition._updatedFibers = new Set();\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n (ReactSharedInternals.asyncTransitions++,\n returnValue.then(releaseAsyncTransition, releaseAsyncTransition),\n returnValue.then(noop, reportGlobalError));\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (null !== prevTransition.types &&\n prevTransition.types !== currentTransition.types &&\n console.error(\n \"We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.\"\n ),\n (prevTransition.types = currentTransition.types)),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useEffectEvent = function (callback) {\n return resolveDispatcher().useEffectEvent(callback);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.2.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/***************** PrimeReact Core (Auto-Generated) *****************/\n\nexport * from '@primereact/core/api';\nexport * from '@primereact/core/base';\nexport * from '@primereact/core/component';\nexport * from '@primereact/core/config';\nexport * from '@primereact/core/headless';\nexport * from '@primereact/core/icon';\nexport * from '@primereact/core/locale';\nexport * from '@primereact/core/motion';\nexport * from '@primereact/core/passthrough';\nexport * from '@primereact/core/stylesheet';\nexport * from '@primereact/core/theme';\nexport * from '@primereact/core/use-style';\nexport * from '@primereact/core/utils';\n","export const FilterMatchMode = Object.freeze({\n STARTS_WITH: 'startsWith',\n CONTAINS: 'contains',\n NOT_CONTAINS: 'notContains',\n ENDS_WITH: 'endsWith',\n EQUALS: 'equals',\n NOT_EQUALS: 'notEquals',\n IN: 'in',\n LESS_THAN: 'lt',\n LESS_THAN_OR_EQUAL_TO: 'lte',\n GREATER_THAN: 'gt',\n GREATER_THAN_OR_EQUAL_TO: 'gte',\n BETWEEN: 'between',\n DATE_IS: 'dateIs',\n DATE_IS_NOT: 'dateIsNot',\n DATE_BEFORE: 'dateBefore',\n DATE_AFTER: 'dateAfter',\n CUSTOM: 'custom'\n} as const);\n\nexport declare type FilterMatchModeType = (typeof FilterMatchMode)[keyof typeof FilterMatchMode];\n","export const FilterOperator = Object.freeze({ AND: 'and', OR: 'or' });\n\nexport declare type FilterOperatorType = (typeof FilterOperator)[keyof typeof FilterOperator];\n","import * as React from 'react';\n\n/**\n * Generates a unique attribute selector based on the provided prefix.\n *\n * @param prefix - The prefix to prepend to the generated selector.\n * @returns A unique string combining the prefix and the selector.\n *\n * @example\n * ```ts\n * const selector = useAttrSelector('foo');\n * console.log(selector); // e.g., 'foo0'\n * ```\n */\nexport function useAttrSelector(prefix: string = ''): string {\n const id = React.useId();\n\n return React.useMemo(() => `${prefix}${id.replaceAll(/:|«|»/g, '')}`.trim().toLowerCase(), [id, prefix]);\n}\n","export function cn(...args: any[]): string | undefined {\n if (args) {\n let classes: any = [];\n\n for (let i = 0; i < args.length; i++) {\n const className = args[i];\n\n if (!className) {\n continue;\n }\n\n const type = typeof className;\n\n if (type === 'string' || type === 'number') {\n classes.push(className);\n } else if (type === 'object') {\n const _classes = Array.isArray(className) ? [cn(...className)] : Object.entries(className).map(([key, value]) => (value ? key : undefined));\n\n classes = _classes.length ? classes.concat(_classes.filter((c) => !!c)) : classes;\n }\n }\n\n return classes.join(' ').trim();\n }\n\n return undefined;\n}\n\n/**\n * @deprecated Use `cn` instead.\n * @param args\n * @returns\n */\nexport function classNames(...args: any[]): string | undefined {\n return cn(...args);\n}\n","export default function hasClass(element: Element, className: string): boolean {\n if (element) {\n if (element.classList) return element.classList.contains(className);\n else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n\n return false;\n}\n","import hasClass from './hasClass';\n\nexport default function addClass(element: Element, className: string | undefined | null | (string | undefined | null)[]): void {\n if (element && className) {\n const fn = (_className: string) => {\n if (!hasClass(element, _className)) {\n if (element.classList) element.classList.add(_className);\n else element.className += ' ' + _className;\n }\n };\n\n [className]\n .flat()\n .filter(Boolean)\n .forEach((_classNames) => (_classNames as string).split(' ').forEach(fn));\n }\n}\n","export default function calculateBodyScrollbarWidth(): number {\n return window.innerWidth - document.documentElement.offsetWidth;\n}\n","import addClass from '../methods/addClass';\nimport calculateBodyScrollbarWidth from '../methods/calculateBodyScrollbarWidth';\n\nexport interface BlockBodyScrollOptions {\n className?: string;\n variableName?: string;\n}\n\nexport default function blockBodyScroll(option: string | BlockBodyScrollOptions | undefined): void {\n if (typeof option === 'string') {\n addClass(document.body, option || 'p-overflow-hidden');\n } else {\n option?.variableName && document.body.style.setProperty(option.variableName, calculateBodyScrollbarWidth() + 'px');\n addClass(document.body, option?.className || 'p-overflow-hidden');\n }\n}\n","export default function saveAs(file: { name: string; src: string }): boolean {\n if (file) {\n const link = document.createElement('a');\n\n if (link.download !== undefined) {\n const { name, src } = file;\n\n link.setAttribute('href', src);\n link.setAttribute('download', name);\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n return true;\n }\n }\n\n return false;\n}\n","import saveAs from './saveAs';\n\nexport default function exportCSV(csv: any, filename: string): void {\n const blob = new Blob([csv], {\n type: 'application/csv;charset=utf-8;'\n });\n\n if ((window.navigator as any).msSaveOrOpenBlob) {\n (navigator as any).msSaveOrOpenBlob(blob, filename + '.csv');\n } else {\n const isDownloaded = saveAs({ name: filename + '.csv', src: URL.createObjectURL(blob) });\n\n if (!isDownloaded) {\n csv = 'data:text/csv;charset=utf-8,' + csv;\n window.open(encodeURI(csv));\n }\n }\n}\n","export default function removeClass(element: Element, className: string | undefined | null | (string | undefined | null)[]): void {\n if (element && className) {\n const fn = (_className: string) => {\n if (element.classList) element.classList.remove(_className);\n else element.className = element.className.replace(new RegExp('(^|\\\\b)' + _className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n };\n\n [className]\n .flat()\n .filter(Boolean)\n .forEach((_classNames) => (_classNames as string).split(' ').forEach(fn));\n }\n}\n","import removeClass from '../methods/removeClass';\n\nexport interface UnblockBodyScrollOptions {\n className?: string;\n variableName?: string;\n}\n\nexport default function unblockBodyScroll(option: string | UnblockBodyScrollOptions | undefined): void {\n if (typeof option === 'string') {\n removeClass(document.body, option || 'p-overflow-hidden');\n } else {\n if (option?.variableName) document.body.style.removeProperty(option.variableName);\n removeClass(document.body, option?.className || 'p-overflow-hidden');\n }\n}\n","export default function getCSSVariableByRegex(variableRegex: RegExp): { name: string | undefined; value: string | undefined } | null {\n for (const sheet of document?.styleSheets) {\n try {\n for (const rule of sheet?.cssRules) {\n for (const property of (rule as CSSStyleRule)?.style) {\n if (variableRegex.test(property)) {\n return { name: property, value: (rule as CSSStyleRule).style.getPropertyValue(property).trim() };\n }\n }\n }\n } catch {}\n }\n\n return null;\n}\n","export default function getHiddenElementDimensions(element?: HTMLElement): { width: number; height: number } {\n const dimensions: { width: number; height: number } = { width: 0, height: 0 };\n\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its dimensions\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = element.offsetWidth;\n dimensions.height = element.offsetHeight;\n element.style.display = display;\n element.style.visibility = visibility;\n }\n\n return dimensions;\n}\n","export default function getViewport(): { width: number; height: number } {\n const win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n return { width: w, height: h };\n}\n","export default function getScrollLeft(element?: HTMLElement): number {\n // for RTL scrollLeft should be negative\n return element ? Math.abs(element.scrollLeft) : 0;\n}\n","import getScrollLeft from './getScrollLeft';\n\nexport default function getWindowScrollLeft(): number {\n const doc = document.documentElement;\n\n return (window.pageXOffset || getScrollLeft(doc)) - (doc.clientLeft || 0);\n}\n","export default function getWindowScrollTop(): number {\n const doc = document.documentElement;\n\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n}\n","export default function isRTL(element?: HTMLElement): boolean {\n return element ? getComputedStyle(element).direction === 'rtl' : false;\n}\n","import getCSSVariableByRegex from './getCSSVariableByRegex';\nimport getHiddenElementDimensions from './getHiddenElementDimensions';\nimport getViewport from './getViewport';\nimport getWindowScrollLeft from './getWindowScrollLeft';\nimport getWindowScrollTop from './getWindowScrollTop';\nimport isRTL from './isRTL';\n\nexport default function absolutePosition(element: HTMLElement, target: HTMLElement, gutter: boolean = true): void {\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = getWindowScrollTop();\n const windowScrollLeft = getWindowScrollLeft();\n const viewport = getViewport();\n let top,\n left,\n origin = 'top';\n\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n origin = 'bottom';\n\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n }\n\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else left = targetOffset.left + windowScrollLeft;\n\n if (isRTL(element)) {\n element.style.insetInlineEnd = left + 'px';\n } else {\n element.style.insetInlineStart = left + 'px';\n }\n\n element.style.top = top + 'px';\n element.style.transformOrigin = origin;\n if (gutter) element.style.marginTop = origin === 'bottom' ? `calc(${getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '2px'} * -1)` : (getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '');\n }\n}\n","export default function addStyle(element: HTMLElement, style: string | object): void {\n if (element) {\n if (typeof style === 'string') {\n element.style.cssText = style;\n } else {\n Object.entries(style || {}).forEach(([key, value]: [string, string]) => ((element.style as any)[key] = value));\n }\n }\n}\n","export default function getOuterWidth(element: unknown, margin?: boolean): number {\n if (element instanceof HTMLElement) {\n let width = element.offsetWidth;\n\n if (margin) {\n const style = getComputedStyle(element);\n\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n return width;\n }\n\n return 0;\n}\n","import getCSSVariableByRegex from './getCSSVariableByRegex';\nimport getHiddenElementDimensions from './getHiddenElementDimensions';\nimport getViewport from './getViewport';\n\nexport default function relativePosition(element: HTMLElement, target: HTMLElement, gutter: boolean = true, fixedOrigin: 'top' | 'bottom' | undefined = undefined): void {\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const viewport = getViewport();\n let top,\n left,\n origin = fixedOrigin ?? 'top';\n\n if (!fixedOrigin && targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = -1 * elementDimensions.height;\n origin = 'bottom';\n\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight;\n }\n\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = targetOffset.left * -1;\n } else if (targetOffset.left + elementDimensions.width > viewport.width) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;\n } else {\n // element fits on screen (align with target)\n left = 0;\n }\n\n element.style.top = top + 'px';\n element.style.insetInlineStart = left + 'px';\n element.style.transformOrigin = origin;\n\n if (gutter) {\n const gutterValue = getCSSVariableByRegex(/-anchor-gutter$/)?.value;\n\n element.style.marginTop = origin === 'bottom' ? `calc(${gutterValue ?? '2px'} * -1)` : (gutterValue ?? '');\n }\n }\n}\n","import absolutePosition from './absolutePosition';\nimport getOuterWidth from './getOuterWidth';\nimport relativePosition from './relativePosition';\n\nexport default function alignOverlay(overlay: HTMLElement, target: HTMLElement, appendTo: string, calculateMinWidth: boolean = true) {\n if (overlay && target) {\n if (appendTo === 'self') {\n relativePosition(overlay, target);\n } else {\n if (calculateMinWidth) overlay.style.minWidth = getOuterWidth(target) + 'px';\n absolutePosition(overlay, target);\n }\n }\n}\n","export default function getParentNode(element: Node): ParentNode | null {\n if (element) {\n let parent = element.parentNode;\n\n if (parent && parent instanceof ShadowRoot && parent.host) {\n parent = parent.host;\n }\n\n return parent;\n }\n\n return null;\n}\n","import getParentNode from './getParentNode';\n\nexport default function isExist(element: Node): boolean {\n return !!(element !== null && typeof element !== 'undefined' && element.nodeName && getParentNode(element));\n}\n","export default function isElement(element: unknown): element is Element {\n return typeof Element !== 'undefined' ? element instanceof Element : element !== null && typeof element === 'object' && (element as Element).nodeType === 1 && typeof (element as Element).nodeName === 'string';\n}\n","import isElement from './isElement';\n\ntype ReactElement = { current: Element | null | undefined };\ntype VueElement = { el: Element | null | undefined };\ntype AngularElement = { el: { nativeElement: Element | undefined } };\n\nexport default function toElement(element: unknown): Element | null | undefined {\n let target = element;\n\n if (element && typeof element === 'object') {\n if (Object.hasOwn(element, 'current')) {\n // For React\n target = (element as ReactElement).current;\n } else if (Object.hasOwn(element, 'el')) {\n if (Object.hasOwn((element as AngularElement).el, 'nativeElement')) {\n // For Angular\n target = (element as AngularElement).el.nativeElement;\n } else {\n // For Vue\n target = (element as VueElement).el;\n }\n }\n }\n\n return isElement(target) ? target : undefined;\n}\n","import isExist from './isExist';\nimport toElement from './toElement';\n\nexport default function getTargetElement(target: unknown, currentElement?: Element): Window | Document | Element | null | undefined {\n if (!target) return undefined;\n\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case 'body':\n return document.body;\n case '@next':\n return currentElement?.nextElementSibling;\n case '@prev':\n return currentElement?.previousElementSibling;\n case '@first':\n return currentElement?.firstElementChild;\n case '@last':\n return currentElement?.lastElementChild;\n case '@child':\n return currentElement?.children?.[0];\n case '@parent':\n return currentElement?.parentElement;\n case '@grandparent':\n return currentElement?.parentElement?.parentElement;\n\n default: {\n if (typeof target === 'string') {\n // child selector\n const match = target.match(/^@child\\[(\\d+)]/);\n\n if (match) {\n return currentElement?.children?.[parseInt(match[1], 10)] || null;\n }\n\n return document.querySelector(target) || null;\n }\n\n const isFunction = (value: unknown): value is (...args: unknown[]) => unknown => typeof value === 'function' && 'call' in value && 'apply' in value;\n const computedTarget = isFunction(target) ? target() : target;\n const element = toElement(computedTarget);\n\n return isExist(element as Element) ? (element as Element) : (computedTarget as Document)?.nodeType === 9 ? (computedTarget as Document) : undefined;\n }\n }\n}\n","import getTargetElement from './getTargetElement';\n\nexport default function appendChild(element: unknown, child: Node | Element) {\n const target: Document | Element | null | undefined = getTargetElement(element, child as Element) as Exclude<ReturnType<typeof getTargetElement>, Window>;\n\n if (target) target.appendChild(child);\n else throw new Error('Cannot append ' + child + ' to ' + element);\n}\n","import addStyle from './addStyle';\n\nlet calculatedScrollbarHeight: number | undefined = undefined;\n\nexport default function calculateScrollbarHeight(element?: HTMLElement): number {\n if (element) {\n const style = getComputedStyle(element);\n\n return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth);\n } else {\n if (calculatedScrollbarHeight != null) return calculatedScrollbarHeight;\n\n const scrollDiv = document.createElement('div');\n\n addStyle(scrollDiv, {\n width: '100px',\n height: '100px',\n overflow: 'scroll',\n position: 'absolute',\n top: '-9999px'\n });\n document.body.appendChild(scrollDiv);\n\n const scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n\n document.body.removeChild(scrollDiv);\n\n calculatedScrollbarHeight = scrollbarHeight;\n\n return scrollbarHeight;\n }\n}\n","import addStyle from './addStyle';\n\nlet calculatedScrollbarWidth: number | undefined = undefined;\n\nexport default function calculateScrollbarWidth(element?: HTMLElement): number {\n if (element) {\n const style = getComputedStyle(element);\n\n return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (calculatedScrollbarWidth != null) return calculatedScrollbarWidth;\n\n const scrollDiv = document.createElement('div');\n\n addStyle(scrollDiv, {\n width: '100px',\n height: '100px',\n overflow: 'scroll',\n position: 'absolute',\n top: '-9999px'\n });\n document.body.appendChild(scrollDiv);\n\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n document.body.removeChild(scrollDiv);\n\n calculatedScrollbarWidth = scrollbarWidth;\n\n return scrollbarWidth;\n }\n}\n","export default function clearSelection(): void {\n if (window.getSelection) {\n const selection: any = window.getSelection() || {};\n\n if (selection.empty) {\n selection.empty();\n } else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) {\n selection.removeAllRanges();\n }\n }\n}\n","import isElement from './isElement';\n\nexport default function setAttributes(element: HTMLElement, attributes: { [key: string]: any } = {}): void {\n if (isElement(element)) {\n const computedStyles = (rule: string, value: any): string[] => {\n const styles = (element as any)?.$attrs?.[rule] ? [(element as any)?.$attrs?.[rule]] : [];\n\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== undefined) {\n const type = typeof v;\n\n if (type === 'string' || type === 'number') {\n cv.push(v);\n } else if (type === 'object') {\n const _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(([_k, _v]) => (rule === 'style' && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}:${_v}` : _v ? _k : undefined));\n\n cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;\n }\n }\n\n return cv;\n }, styles);\n };\n\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === 'p-bind' || key === 'pBind') {\n setAttributes(element, value);\n } else {\n value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;\n ((element as any).$attrs = (element as any).$attrs || {}) && ((element as any).$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n}\n","import setAttributes from './setAttributes';\n\nexport default function createElement(type: string, attributes: Record<string, unknown> = {}, ...children: (string | Node)[]): HTMLElement | undefined {\n if (type) {\n const element = document.createElement(type);\n\n setAttributes(element, attributes);\n element.append(...children);\n\n return element;\n }\n\n return undefined;\n}\n","export default function createStyleMarkup(css?: string, attributes: Record<string, unknown> = {}): string {\n return css ? `<style${Object.entries(attributes).reduce((s, [k, v]) => s + ` ${k}=\"${v}\"`, '')}>${css}</style>` : '';\n}\n","import createStyleMarkup from './createStyleMarkup';\n\n/**\n * @deprecated Use `createStyleMarkup` instead.\n */\nexport default function createStyleAsString(css?: string, options: Record<string, unknown> = {}) {\n return createStyleMarkup(css, options);\n}\n","import createElement from './createElement';\n\nexport default function createStyleElement(css: string, attributes: Record<string, unknown> = {}, container?: Element): HTMLStyleElement {\n const element = createElement('style', attributes, css)! as HTMLStyleElement;\n\n container?.appendChild(element);\n\n return element;\n}\n","import createStyleElement from './createStyleElement';\n\n/**\n * @deprecated Use `createStyleElement` instead.\n */\nexport default function createStyleTag(attributes: Record<string, unknown> = {}, container?: Element): HTMLStyleElement {\n return createStyleElement('', attributes, container || document.head);\n}\n","export default function fadeIn(element: HTMLElement, duration: number): void {\n if (element) {\n element.style.opacity = '0';\n\n let last = +new Date();\n let opacity = '0';\n\n const tick = function () {\n opacity = `${+element.style.opacity + (new Date().getTime() - last) / duration}`;\n element.style.opacity = opacity;\n last = +new Date();\n\n if (+opacity < 1) {\n if ('requestAnimationFrame' in window) requestAnimationFrame(tick);\n else setTimeout(tick, 16);\n }\n };\n\n tick();\n }\n}\n","export default function fadeOut(element: HTMLElement, duration: number): void {\n if (element) {\n let opacity = 1;\n const interval = 50;\n const gap = interval / duration;\n\n const fading = setInterval(() => {\n opacity -= gap;\n\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n\n element.style.opacity = opacity.toString();\n }, interval);\n }\n}\n","import isElement from './isElement';\n\nexport default function find(element: Element, selector: string): Element[] {\n return isElement(element) ? Array.from(element.querySelectorAll(selector)) : [];\n}\n","import isElement from './isElement';\n\nexport default function findSingle(element: Element, selector: string): Element | null {\n return isElement(element) ? (element.matches(selector) ? element : element.querySelector(selector)) : null;\n}\n","export default function focus(element: HTMLElement, options?: FocusOptions): void {\n if (element && document.activeElement !== element) element.focus(options);\n}\n","import isElement from './isElement';\n\nexport default function getAttribute(element: Element, name: string): any {\n if (isElement(element)) {\n const value = element.getAttribute(name);\n\n if (!isNaN(value as any)) {\n return +(value as string);\n }\n\n if (value === 'true' || value === 'false') {\n return value === 'true';\n }\n\n return value;\n }\n\n return undefined;\n}\n","export default function resolveUserAgent(): { browser: string | undefined; version: string | undefined } {\n const ua = navigator.userAgent.toLowerCase();\n const match = /(chrome)[ ]([\\w.]+)/.exec(ua) || /(webkit)[ ]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || (ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua)) || [];\n\n return {\n browser: match[1] || '',\n version: match[2] || '0'\n };\n}\n","import resolveUserAgent from './resolveUserAgent';\n\ntype BrowserType = {\n [key: string]: string | boolean | undefined;\n};\n\nlet browser: BrowserType | null = null;\n\nexport default function getBrowser(): BrowserType {\n if (!browser) {\n browser = {};\n\n const matched = resolveUserAgent();\n\n if (matched.browser) {\n browser[matched.browser] = true;\n browser['version'] = matched.version;\n }\n\n if (browser['chrome']) {\n browser['webkit'] = true;\n } else if (browser['webkit']) {\n browser['safari'] = true;\n }\n }\n\n return browser;\n}\n","export default function getBrowserLanguage(): string {\n return (navigator.languages && navigator.languages.length && navigator.languages[0]) || navigator.language || 'en';\n}\n","export default function getCSSProperty(element?: HTMLElement, property?: string, inline?: boolean): string | null {\n if (element && property) {\n return inline ? element?.style?.getPropertyValue(property) : getComputedStyle(element).getPropertyValue(property);\n }\n\n return null;\n}\n","export default function getCursorOffset(element: Element, prevText: string, nextText: string, currentText: string): { top: number | string; left: number | string } {\n if (element) {\n const style = getComputedStyle(element);\n const ghostDiv = document.createElement('div');\n\n ghostDiv.style.position = 'absolute';\n ghostDiv.style.top = '0px';\n ghostDiv.style.left = '0px';\n ghostDiv.style.visibility = 'hidden';\n ghostDiv.style.pointerEvents = 'none';\n ghostDiv.style.overflow = style.overflow;\n ghostDiv.style.width = style.width;\n ghostDiv.style.height = style.height;\n ghostDiv.style.padding = style.padding;\n ghostDiv.style.border = style.border;\n ghostDiv.style.overflowWrap = style.overflowWrap;\n ghostDiv.style.whiteSpace = style.whiteSpace;\n ghostDiv.style.lineHeight = style.lineHeight;\n ghostDiv.innerHTML = prevText.replace(/\\r\\n|\\r|\\n/g, '<br />');\n\n const ghostSpan = document.createElement('span');\n\n ghostSpan.textContent = currentText;\n ghostDiv.appendChild(ghostSpan);\n\n const text = document.createTextNode(nextText);\n\n ghostDiv.appendChild(text);\n document.body.appendChild(ghostDiv);\n\n const { offsetLeft, offsetTop, clientHeight } = ghostSpan;\n\n document.body.removeChild(ghostDiv);\n\n return {\n left: Math.abs(offsetLeft - element.scrollLeft),\n top: Math.abs(offsetTop - element.scrollTop) + clientHeight\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n}\n","import find from './find';\n\nexport default function getFocusableElements(element: Element, selector: string = ''): Element[] {\n const focusableElements = find(\n element,\n `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href]:not([tabindex = \"-1\"]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`\n );\n\n const visibleFocusableElements: Element[] = [];\n\n for (const focusableElement of focusableElements) {\n if (getComputedStyle(focusableElement).display != 'none' && getComputedStyle(focusableElement).visibility != 'hidden') visibleFocusableElements.push(focusableElement);\n }\n\n return visibleFocusableElements;\n}\n","import getFocusableElements from './getFocusableElements';\n\nexport default function getFirstFocusableElement(element: Element, selector?: string): Element | null {\n const focusableElements = getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[0] : null;\n}\n","export default function getHeight(element: HTMLElement): number {\n if (element) {\n let height = element.offsetHeight;\n const style = getComputedStyle(element);\n\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\n return height;\n }\n\n return 0;\n}\n","export default function getHiddenElementOuterHeight(element: HTMLElement): number {\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its outer height\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n const elementHeight = element.offsetHeight;\n\n element.style.display = display;\n element.style.visibility = visibility;\n\n return elementHeight;\n }\n\n return 0;\n}\n","export default function getHiddenElementOuterWidth(element: HTMLElement): number {\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its outer width\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n const elementWidth = element.offsetWidth;\n\n element.style.display = display;\n element.style.visibility = visibility;\n\n return elementWidth;\n }\n\n return 0;\n}\n","import getParentNode from './getParentNode';\n\nexport default function getIndex(element: HTMLElement): number {\n if (element) {\n const children = getParentNode(element)?.childNodes;\n let num = 0;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n if (children[i] === element) return num;\n if (children[i].nodeType === 1) num++;\n }\n }\n }\n\n return -1;\n}\n","export default function getInnerWidth(element: HTMLElement): number {\n if (element) {\n let width = element.offsetWidth;\n const style = getComputedStyle(element);\n\n width -= parseFloat(style.borderLeft) + parseFloat(style.borderRight);\n\n return width;\n }\n\n return 0;\n}\n","import getFocusableElements from './getFocusableElements';\n\nexport default function getLastFocusableElement(element: Element, selector?: string): Element | null {\n const focusableElements = getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n}\n","export default function getNextElementSibling(element: Element, selector: string): Element | null {\n let nextElement = element.nextElementSibling;\n\n while (nextElement) {\n if (nextElement.matches(selector)) {\n return nextElement;\n } else {\n nextElement = nextElement.nextElementSibling;\n }\n }\n\n return null;\n}\n","import getFocusableElements from './getFocusableElements';\n\nexport default function getNextFocusableElement(container: Element, element: Element, selector?: string): Element | null {\n const focusableElements: Element[] = getFocusableElements(container, selector);\n const index = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1;\n const nextIndex = index > -1 && focusableElements.length >= index + 1 ? index + 1 : -1;\n\n return nextIndex > -1 ? focusableElements[nextIndex] : null;\n}\n","import getScrollLeft from './getScrollLeft';\n\nexport default function getOffset(element?: Element | null): { top: number | string; left: number | string } {\n if (element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || getScrollLeft(document.documentElement) || getScrollLeft(document.body) || 0)\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n}\n","export default function getOuterHeight(element: HTMLElement, margin?: boolean): number {\n if (element) {\n let height = element.offsetHeight;\n\n if (margin) {\n const style = getComputedStyle(element);\n\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n return 0;\n}\n","import getParentNode from './getParentNode';\n\nexport default function getParents(element: Node, parents: ParentNode[] = []): ParentNode[] {\n const parent = getParentNode(element);\n\n return parent === null ? parents : getParents(parent, parents.concat([parent]));\n}\n","export default function getPreviousElementSibling(element: Element, selector: string): Element | null {\n let previousElement = element.previousElementSibling;\n\n while (previousElement) {\n if (previousElement.matches(selector)) {\n return previousElement;\n } else {\n previousElement = previousElement.previousElementSibling;\n }\n }\n\n return null;\n}\n","import findSingle from './findSingle';\nimport getParents from './getParents';\n\nexport default function getScrollableParents(element: Element): Element[] {\n const scrollableParents = [];\n\n if (element) {\n const parents = getParents(element) as HTMLElement[];\n const overflowRegex = /(auto|scroll)/;\n\n const overflowCheck = (node: Element) => {\n try {\n const styleDeclaration = window['getComputedStyle'](node, null);\n\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n } catch {\n return false;\n }\n };\n\n for (const parent of parents) {\n const scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n\n if (scrollSelectors) {\n const selectors = scrollSelectors.split(',');\n\n for (const selector of selectors) {\n const el = findSingle(parent, selector);\n\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n}\n","export default function getSelection(): string | undefined {\n if (window.getSelection) return (window.getSelection() as any).toString();\n else if (document.getSelection) return (document.getSelection() as any).toString();\n\n return undefined;\n}\n","export default function getUserAgent(): string {\n return navigator.userAgent;\n}\n","export default function getWidth(element: HTMLElement): number {\n if (element) {\n let width = element.offsetWidth;\n const style = getComputedStyle(element);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n\n return width;\n }\n\n return 0;\n}\n","export default function hasCSSAnimation(element: Element): boolean {\n if (element) {\n const style = getComputedStyle(element);\n const animationDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n\n return animationDuration > 0;\n }\n\n return false;\n}\n","export default function hasCSSTransition(element: Element): boolean {\n if (element) {\n const style = getComputedStyle(element);\n const transitionDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n\n return transitionDuration > 0;\n }\n\n return false;\n}\n","export default function invokeElementMethod<T extends keyof Element>(element: Element, methodName: T, args?: unknown[]): void {\n const method = element[methodName];\n\n if (typeof method === 'function') {\n (method as (...args: unknown[]) => void).apply(element, args ?? []);\n }\n}\n","export default function isAndroid(): boolean {\n return /(android)/i.test(navigator.userAgent);\n}\n","import getAttribute from './getAttribute';\nimport isElement from './isElement';\n\nexport default function isAttributeEquals(element: Element, name: string, value: any): boolean {\n return isElement(element) ? getAttribute(element, name) === value : false;\n}\n","import isAttributeEquals from './isAttributeEquals';\n\nexport default function isAttributeNotEquals(element: Element, name: string, value: any): boolean {\n return !isAttributeEquals(element, name, value);\n}\n","export default function isClickable(element: Element): boolean {\n if (element) {\n const targetNode = element.nodeName;\n const parentNode = element.parentElement && element.parentElement.nodeName;\n\n return (\n targetNode === 'INPUT' ||\n targetNode === 'TEXTAREA' ||\n targetNode === 'BUTTON' ||\n targetNode === 'A' ||\n parentNode === 'INPUT' ||\n parentNode === 'TEXTAREA' ||\n parentNode === 'BUTTON' ||\n parentNode === 'A' ||\n !!element.closest('.p-button, .p-checkbox, .p-radiobutton') // @todo Add [data-pc-section=\"button\"]\n );\n }\n\n return false;\n}\n","export default function isClient(): boolean {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n","import isElement from './isElement';\n\nexport default function isFocusableElement(element: unknown, selector: string = ''): boolean {\n return isElement(element)\n ? (element as Element).matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`)\n : false;\n}\n","export default function isVisible(element?: HTMLElement): boolean {\n return !!(element && element.offsetParent != null);\n}\n","import isVisible from './isVisible';\n\nexport default function isHidden(element: HTMLElement): boolean {\n return !isVisible(element);\n}\n","export default function isIOS(): boolean {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n}\n","export default function isPrefersReducedMotion(): boolean {\n if (typeof window === 'undefined' || !window.matchMedia) {\n return false;\n }\n\n const mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n return mediaQuery.matches;\n}\n","import isClient from './isClient';\n\nexport default function isServer(): boolean {\n return !isClient();\n}\n","export default function isTouchDevice(): boolean {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || (navigator as Partial<Navigator & { msMaxTouchPoints?: number }>).msMaxTouchPoints! > 0;\n}\n","import calculateScrollbarWidth from './calculateScrollbarWidth';\nimport getHiddenElementOuterHeight from './getHiddenElementOuterHeight';\nimport getHiddenElementOuterWidth from './getHiddenElementOuterWidth';\nimport getOffset from './getOffset';\nimport getOuterHeight from './getOuterHeight';\nimport getOuterWidth from './getOuterWidth';\nimport getViewport from './getViewport';\n\nexport default function nestedPosition(element: HTMLElement, level: number): void {\n if (element) {\n const parentItem = element.parentElement;\n const elementOffset = getOffset(parentItem);\n const viewport = getViewport();\n const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element);\n const sublistHeight = element.offsetParent ? element.offsetHeight : getHiddenElementOuterHeight(element);\n const itemOuterWidth = getOuterWidth(parentItem?.children?.[0]);\n const itemOuterHeight = getOuterHeight(parentItem?.children?.[0] as HTMLElement);\n\n let left: string = '';\n let top: string = '';\n\n if ((elementOffset.left as number) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {\n if ((elementOffset.left as number) < sublistWidth) {\n // for too small screens\n if (level % 2 === 1) {\n left = (elementOffset.left as number) ? '-' + (elementOffset.left as number) + 'px' : '100%';\n } else if (level % 2 === 0) {\n left = viewport.width - sublistWidth - calculateScrollbarWidth() + 'px';\n }\n } else {\n left = '-100%';\n }\n } else {\n left = '100%';\n }\n\n // getBoundingClientRect returns a top position from the current visible viewport area\n if (element.getBoundingClientRect().top + itemOuterHeight + sublistHeight > viewport.height) {\n top = `-${sublistHeight - itemOuterHeight}px`;\n } else {\n top = '0px';\n }\n\n element.style.top = top;\n element.style.insetInlineStart = left;\n }\n}\n","export default function remove(element: Element) {\n if (element) {\n if (!('remove' in Element.prototype)) element.parentNode?.removeChild(element);\n else element.remove();\n }\n}\n","import toElement from './toElement';\n\nexport default function removeChild(element: unknown, child: Node) {\n const target = toElement(element);\n\n if (target) target.removeChild(child);\n else throw new Error('Cannot remove ' + child + ' from ' + element);\n}\n","import isExist from './isExist';\n\nexport default function removeStyleTag(element: Node): Node | null {\n if (isExist(element)) {\n try {\n element.parentNode?.removeChild(element);\n } catch {\n // style element may have already been removed in a fast refresh\n }\n\n return null;\n }\n\n return element;\n}\n","import getOuterHeight from './getOuterHeight';\n\nexport default function scrollInView(container: HTMLElement, item: HTMLElement): void {\n const borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');\n const borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n const paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');\n const paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n const containerRect = container.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n const offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n const scroll = container.scrollTop;\n const elementHeight = container.clientHeight;\n const itemHeight = getOuterHeight(item);\n\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n}\n","import isElement from './isElement';\n\nexport default function setAttribute(element: HTMLElement, attribute: string = '', value: any): void {\n if (isElement(element) && value !== null && value !== undefined) {\n element.setAttribute(attribute, value);\n }\n}\n","export default function setCSSProperty(element?: HTMLElement, property?: string, value: any = null, priority?: string): void {\n property && element?.style?.setProperty(property, value, priority);\n}\n","export type Handler = (evt: unknown) => void;\n\nexport interface EventBusOptions {\n on(type: string, handler: Handler): void;\n off(type: string, handler: Handler): void;\n emit(type: string, evt?: unknown): void;\n clear(): void;\n}\n\nexport function EventBus(): EventBusOptions {\n const allHandlers = new Map<string, Handler[]>();\n\n return {\n on(type: string, handler: Handler) {\n let handlers = allHandlers.get(type);\n\n if (!handlers) handlers = [handler];\n else handlers.push(handler);\n\n allHandlers.set(type, handlers);\n\n return this;\n },\n off(type: string, handler: Handler) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n\n return this;\n },\n emit(type: string, evt?: unknown) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.forEach((handler) => {\n handler(evt);\n });\n }\n },\n clear() {\n allHandlers.clear();\n }\n };\n}\n","export default function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function' && 'call' in value && 'apply' in value;\n}\n","import { isFunction } from '../object';\n\nexport function mergeProps(...props: any[]): object | undefined {\n return props?.reduce((merged, ps = {}) => {\n for (const key in ps) {\n const value = ps[key];\n\n if (key === 'style') {\n merged['style'] = { ...merged['style'], ...ps['style'] };\n } else if (key === 'class') {\n merged['class'] = [merged['class'], ps['class']].join(' ').trim() || undefined;\n } else if (key === 'className') {\n // For React\n merged['className'] = [merged['className'], ps['className']].join(' ').trim() || undefined;\n } else if (isFunction(value)) {\n const fn = merged[key];\n\n merged[key] = fn\n ? (...args: any[]) => {\n fn(...args);\n value(...args);\n }\n : value;\n } else {\n merged[key] = value;\n }\n }\n\n return merged;\n }, {});\n}\n","export default function isEmpty(value: any): boolean {\n return value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0) || (!(value instanceof Date) && typeof value === 'object' && Object.keys(value).length === 0);\n}\n","import isEmpty from './isEmpty';\n\nexport default function compare<T = unknown>(value1: T, value2: T, comparator: (val1: T, val2: T) => number, order: number = 1): number {\n let result = -1;\n const emptyValue1 = isEmpty(value1);\n const emptyValue2 = isEmpty(value2);\n\n if (emptyValue1 && emptyValue2) result = 0;\n else if (emptyValue1) result = order;\n else if (emptyValue2) result = -order;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparator(value1, value2);\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return result;\n}\n","function _deepEquals(obj1: unknown, obj2: unknown, visited: WeakSet<object> = new WeakSet()): boolean {\n // Base case: same object reference\n if (obj1 === obj2) return true;\n\n // If one of them is null or not an object, directly return false\n if (!obj1 || !obj2 || typeof obj1 !== 'object' || typeof obj2 !== 'object') return false;\n\n // Check for circular references\n if (visited.has(obj1) || visited.has(obj2)) return false;\n\n // Add objects to the visited set\n visited.add(obj1).add(obj2);\n\n const arrObj1 = Array.isArray(obj1);\n const arrObj2 = Array.isArray(obj2);\n let i, length, key;\n\n if (arrObj1 && arrObj2) {\n length = obj1.length;\n if (length != obj2.length) return false;\n for (i = length; i-- !== 0; ) if (!_deepEquals(obj1[i], obj2[i], visited)) return false;\n\n return true;\n }\n\n if (arrObj1 != arrObj2) return false;\n\n const dateObj1 = obj1 instanceof Date,\n dateObj2 = obj2 instanceof Date;\n\n if (dateObj1 != dateObj2) return false;\n if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime();\n\n const regexpObj1 = obj1 instanceof RegExp,\n regexpObj2 = obj2 instanceof RegExp;\n\n if (regexpObj1 != regexpObj2) return false;\n if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString();\n\n const keys = Object.keys(obj1);\n\n length = keys.length;\n\n if (length !== Object.keys(obj2).length) return false;\n\n for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys[i])) return false;\n\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!_deepEquals((obj1 as Record<string, unknown>)[key], (obj2 as Record<string, unknown>)[key], visited)) return false;\n }\n\n return true;\n}\n\nexport default function deepEquals(obj1: unknown, obj2: unknown): boolean {\n return _deepEquals(obj1, obj2);\n}\n","export default function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function' && 'call' in value && 'apply' in value;\n}\n","import isEmpty from './isEmpty';\n\nexport default function isNotEmpty(value: any): boolean {\n return !isEmpty(value);\n}\n","import isFunction from './isFunction';\nimport isNotEmpty from './isNotEmpty';\n\nexport default function resolveFieldData(data: any, field: any): any {\n if (!data || !field) {\n // short circuit if there is nothing to resolve\n return null;\n }\n\n try {\n const value = data[field];\n\n if (isNotEmpty(value)) return value;\n } catch {\n // Performance optimization: https://github.com/primefaces/primereact/issues/4797\n // do nothing and continue to other methods to resolve field data\n }\n\n if (Object.keys(data).length) {\n if (isFunction(field)) {\n return field(data);\n } else if (field.indexOf('.') === -1) {\n return data[field];\n } else {\n const fields = field.split('.');\n let value = data;\n\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n\n value = value[fields[i]];\n }\n\n return value;\n }\n }\n\n return null;\n}\n","import deepEquals from './deepEquals';\nimport resolveFieldData from './resolveFieldData';\n\nexport default function equals(obj1: any, obj2: any, field?: string): boolean {\n if (field) return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);\n else return deepEquals(obj1, obj2);\n}\n","import equals from './equals';\n\nexport default function contains<T = unknown>(value: T, list: T[]): boolean {\n if (value != null && list && list.length) {\n for (const val of list) {\n if (equals(value, val)) return true;\n }\n }\n\n return false;\n}\n","export default function isObject(value: unknown, empty: boolean = true): value is object {\n return value instanceof Object && value.constructor === Object && (empty || Object.keys(value).length !== 0);\n}\n","import isObject from './isObject';\n\nfunction _deepMerge(target: Record<string, unknown> = {}, source: Record<string, unknown> = {}): Record<string, unknown> {\n const mergedObj: Record<string, unknown> = { ...target };\n\n Object.keys(source).forEach((key) => {\n const typedKey = key as keyof typeof source;\n\n if (isObject(source[typedKey]) && typedKey in target && isObject(target[typedKey])) {\n mergedObj[typedKey] = _deepMerge(target[typedKey] as Record<string, unknown>, source[typedKey] as Record<string, unknown>);\n } else {\n mergedObj[typedKey] = source[typedKey];\n }\n });\n\n return mergedObj;\n}\n\n/**\n * Merges multiple objects into one.\n * @param args - Objects to merge.\n * @returns Merged object.\n */\nexport default function deepMerge(...args: Record<string, unknown>[]): Record<string, unknown> {\n return args.reduce((acc, obj, i) => (i === 0 ? obj : _deepMerge(acc, obj)), {});\n}\n","import resolveFieldData from './resolveFieldData';\n\nexport default function filter<T = any>(value: T[], fields: string[], filterValue: string): T[] {\n const filteredItems = [];\n\n if (value) {\n for (const item of value) {\n for (const field of fields) {\n if (String(resolveFieldData(item, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) {\n filteredItems.push(item);\n break;\n }\n }\n }\n }\n\n return filteredItems;\n}\n","export default function findIndexInList<T = any>(value: T, list: T[]): number {\n let index = -1;\n\n if (list) {\n for (let i = 0; i < list.length; i++) {\n if (list[i] === value) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n}\n","import isNotEmpty from './isNotEmpty';\n\n/**\n * Firefox-v103 does not currently support the \"findLast\" method. It is stated that this method will be supported with Firefox-v104.\n * https://caniuse.com/mdn-javascript_builtins_array_findlast\n */\nexport default function findLast<T = any>(arr: T[], callback: (value: T, index: number, array: T[]) => boolean): T | undefined {\n let item;\n\n if (isNotEmpty(arr)) {\n try {\n item = (arr as any).findLast(callback);\n } catch {\n item = [...arr].reverse().find(callback);\n }\n }\n\n return item;\n}\n","import isNotEmpty from './isNotEmpty';\n\n/**\n * Firefox-v103 does not currently support the \"findLastIndex\" method. It is stated that this method will be supported with Firefox-v104.\n * https://caniuse.com/mdn-javascript_builtins_array_findlastindex\n */\nexport default function findLastIndex<T = any>(arr: T[], callback: (value: T, index: number, array: T[]) => boolean): number {\n let index = -1;\n\n if (isNotEmpty(arr)) {\n try {\n index = (arr as any).findLastIndex(callback);\n } catch {\n index = arr.lastIndexOf([...arr].reverse().find(callback) as T);\n }\n }\n\n return index;\n}\n","import isFunction from './isFunction';\n\nexport default function resolve<T, P extends unknown[], R>(obj: T | ((...params: P) => R), ...params: P): T | R {\n return isFunction(obj) ? (obj as (...params: P) => R)(...params) : (obj as T);\n}\n","export default function isString(value: unknown, empty: boolean = true): value is string {\n return typeof value === 'string' && (empty || value !== '');\n}\n","import isString from './isString';\n\nexport default function toFlatCase(str: string): string {\n // convert snake, kebab, camel and pascal cases to flat case\n return isString(str) ? str.replace(/(-|_)/g, '').toLowerCase() : str;\n}\n","import isObject from './isObject';\nimport resolve from './resolve';\nimport toFlatCase from './toFlatCase';\n\nexport default function getKeyValue<T extends Record<string, unknown>>(obj: T | undefined, key: string = '', params: unknown = {}): unknown {\n const fKeys = toFlatCase(key).split('.');\n const fKey = fKeys.shift();\n\n if (fKey) {\n if (isObject(obj)) {\n const matchedKey = Object.keys(obj).find((k) => toFlatCase(k) === fKey) || '';\n\n return getKeyValue(resolve(obj[matchedKey], params) as Record<string, unknown>, fKeys.join('.'), params);\n }\n\n return undefined;\n }\n\n return resolve(obj, params);\n}\n","import findIndexInList from './findIndexInList';\n\nexport default function insertIntoOrderedArray<T>(item: T, index: number, arr: T[], sourceArr: any[]): void {\n if (arr.length > 0) {\n let injected = false;\n\n for (let i = 0; i < arr.length; i++) {\n const currentItemIndex = findIndexInList(arr[i], sourceArr);\n\n if (currentItemIndex > index) {\n arr.splice(i, 0, item);\n injected = true;\n break;\n }\n }\n\n if (!injected) {\n arr.push(item);\n }\n } else {\n arr.push(item);\n }\n}\n","export default function isArray(value: any, empty: boolean = true): boolean {\n return Array.isArray(value) && (empty || value.length !== 0);\n}\n","export default function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n","export default function isLetter(char: string): boolean {\n return /^[a-zA-Z\\u00C0-\\u017F]$/.test(char);\n}\n","import isNotEmpty from './isNotEmpty';\n\nexport default function isNumber(value: unknown): boolean {\n return isNotEmpty(value) && !isNaN(value as number);\n}\n","import isNotEmpty from './isNotEmpty';\n\nexport default function isPrintableCharacter(char: string = ''): boolean {\n return isNotEmpty(char) && char.length === 1 && !!char.match(/\\S| /);\n}\n","export default function isScalar(value: any): boolean {\n return value != null && (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint' || typeof value === 'boolean');\n}\n","export default function localeComparator(): (val1: string, val2: string) => number {\n //performance gain using Int.Collator. It is not recommended to use localeCompare against large arrays.\n return new Intl.Collator(undefined, { numeric: true }).compare;\n}\n","export default function matchRegex(str: string, regex?: RegExp): boolean {\n if (regex) {\n const match = regex.test(str);\n\n regex.lastIndex = 0;\n\n return match;\n }\n\n return false;\n}\n","import deepMerge from './deepMerge';\n\n/**\n * @deprecated Use `deepMerge` instead.\n *\n * Merges multiple objects into one.\n * @param args - Objects to merge.\n * @returns Merged object.\n */\nexport default function mergeKeys(...args: Record<string, unknown>[]): Record<string, unknown> {\n return deepMerge(...args);\n}\n","export default function minifyCSS(css?: string): string | undefined {\n return css\n ? css\n .replace(/\\/\\*(?:(?!\\*\\/)[\\s\\S])*\\*\\/|[\\r\\n\\t]+/g, '')\n .replace(/ {2,}/g, ' ')\n .replace(/ ([{:}]) /g, '$1')\n .replace(/([;,]) /g, '$1')\n .replace(/ !/g, '!')\n .replace(/: /g, ':')\n .trim()\n : css;\n}\n","import isObject from './isObject';\n\nexport default function nestedKeys(obj: Record<string, any> = {}, parentKey: string = ''): string[] {\n return Object.entries(obj).reduce<string[]>((o, [key, value]) => {\n const currentKey = parentKey ? `${parentKey}.${key}` : key;\n\n isObject(value) ? (o = o.concat(nestedKeys(value, currentKey))) : o.push(currentKey);\n\n return o;\n }, []);\n}\n","import isObject from './isObject';\n\nexport default function omit(obj: unknown, ...keys: string[]): unknown {\n if (!isObject(obj)) return obj;\n\n const copy = { ...(obj as Record<string, unknown>) };\n\n keys?.flat().forEach((key) => delete copy[key]);\n\n return copy;\n}\n","export default function removeAccents(str: string): string {\n // Regular expression to check for any accented characters 'Latin-1 Supplement' and 'Latin Extended-A'\n const accentCheckRegex = /[\\xC0-\\xFF\\u0100-\\u017E]/;\n\n if (str && accentCheckRegex.test(str)) {\n const accentsMap: { [key: string]: RegExp } = {\n A: /[\\xC0-\\xC5\\u0100\\u0102\\u0104]/g,\n AE: /[\\xC6]/g,\n C: /[\\xC7\\u0106\\u0108\\u010A\\u010C]/g,\n D: /[\\xD0\\u010E\\u0110]/g,\n E: /[\\xC8-\\xCB\\u0112\\u0114\\u0116\\u0118\\u011A]/g,\n G: /[\\u011C\\u011E\\u0120\\u0122]/g,\n H: /[\\u0124\\u0126]/g,\n I: /[\\xCC-\\xCF\\u0128\\u012A\\u012C\\u012E\\u0130]/g,\n IJ: /[\\u0132]/g,\n J: /[\\u0134]/g,\n K: /[\\u0136]/g,\n L: /[\\u0139\\u013B\\u013D\\u013F\\u0141]/g,\n N: /[\\xD1\\u0143\\u0145\\u0147\\u014A]/g,\n O: /[\\xD2-\\xD6\\xD8\\u014C\\u014E\\u0150]/g,\n OE: /[\\u0152]/g,\n R: /[\\u0154\\u0156\\u0158]/g,\n S: /[\\u015A\\u015C\\u015E\\u0160]/g,\n T: /[\\u0162\\u0164\\u0166]/g,\n U: /[\\xD9-\\xDC\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172]/g,\n W: /[\\u0174]/g,\n Y: /[\\xDD\\u0176\\u0178]/g,\n Z: /[\\u0179\\u017B\\u017D]/g,\n\n a: /[\\xE0-\\xE5\\u0101\\u0103\\u0105]/g,\n ae: /[\\xE6]/g,\n c: /[\\xE7\\u0107\\u0109\\u010B\\u010D]/g,\n d: /[\\u010F\\u0111]/g,\n e: /[\\xE8-\\xEB\\u0113\\u0115\\u0117\\u0119\\u011B]/g,\n g: /[\\u011D\\u011F\\u0121\\u0123]/g,\n i: /[\\xEC-\\xEF\\u0129\\u012B\\u012D\\u012F\\u0131]/g,\n ij: /[\\u0133]/g,\n j: /[\\u0135]/g,\n k: /[\\u0137,\\u0138]/g,\n l: /[\\u013A\\u013C\\u013E\\u0140\\u0142]/g,\n n: /[\\xF1\\u0144\\u0146\\u0148\\u014B]/g,\n p: /[\\xFE]/g,\n o: /[\\xF2-\\xF6\\xF8\\u014D\\u014F\\u0151]/g,\n oe: /[\\u0153]/g,\n r: /[\\u0155\\u0157\\u0159]/g,\n s: /[\\u015B\\u015D\\u015F\\u0161]/g,\n t: /[\\u0163\\u0165\\u0167]/g,\n u: /[\\xF9-\\xFC\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173]/g,\n w: /[\\u0175]/g,\n y: /[\\xFD\\xFF\\u0177]/g,\n z: /[\\u017A\\u017C\\u017E]/g\n };\n\n for (const key in accentsMap) {\n str = str.replace(accentsMap[key], key);\n }\n }\n\n return str;\n}\n","export default function reorderArray<T>(value: T[], from: number, to: number): void {\n if (value && from !== to) {\n if (to >= value.length) {\n to %= value.length;\n from %= value.length;\n }\n\n value.splice(to, 0, value.splice(from, 1)[0]);\n }\n}\n","import compare from './compare';\nimport isEmpty from './isEmpty';\n\nexport default function sort<T>(value1: T, value2: T, order: number = 1, comparator: (val1: T, val2: T) => number, nullSortOrder: number = 1): number {\n const result = compare(value1, value2, comparator, order);\n let finalSortOrder = order;\n\n // nullSortOrder == 1 means Excel like sort nulls at bottom\n if (isEmpty(value1) || isEmpty(value2)) {\n finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;\n }\n\n return finalSortOrder * result;\n}\n","import isArray from './isArray';\nimport isDate from './isDate';\nimport isFunction from './isFunction';\nimport isObject from './isObject';\n\nexport default function stringify(value: unknown, indent: number = 2, currentIndent: number = 0): string {\n const currentIndentStr = ' '.repeat(currentIndent);\n const nextIndentStr = ' '.repeat(currentIndent + indent);\n\n if (isArray(value)) {\n return '[' + (value as unknown[]).map((v: unknown) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';\n } else if (isDate(value)) {\n return value.toISOString();\n } else if (isFunction(value)) {\n return value.toString();\n } else if (isObject(value)) {\n return (\n '{\\n' +\n Object.entries(value)\n .map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)\n .join(',\\n') +\n `\\n${currentIndentStr}` +\n '}'\n );\n } else {\n return JSON.stringify(value);\n }\n}\n","import isString from './isString';\n\nexport default function toCapitalCase(str: string): string {\n return isString(str, false) ? str[0].toUpperCase() + str.slice(1) : str;\n}\n","import isString from './isString';\n\nexport default function toKebabCase(str: string): string {\n // convert snake, camel and pascal cases to kebab case\n return isString(str)\n ? str\n .replace(/(_)/g, '-')\n .replace(/[A-Z]/g, (c, i) => (i === 0 ? c : '-' + c.toLowerCase()))\n .toLowerCase()\n : str;\n}\n","export default function toMs(value: string | number): number {\n if (value === 'auto') return 0;\n\n if (typeof value === 'number') return value;\n\n return Number(value.replace(/[^\\d.]/g, '').replace(',', '.')) * 1000;\n}\n","import isString from './isString';\n\nexport default function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c, i) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n","import resolve from './resolve';\n\ntype ReactRef = { current: unknown };\ntype VueRef = { value: unknown };\n\nexport default function toValue(value: unknown): unknown {\n if (value && typeof value === 'object') {\n if (Object.hasOwn(value, 'current')) {\n // For React\n return (value as ReactRef).current;\n } else if (Object.hasOwn(value, 'value')) {\n // For Vue\n return (value as VueRef).value;\n }\n }\n\n // For Angular signals and functions usage\n return resolve(value);\n}\n","import { resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * The options for the `useControlledState` hook.\n */\nexport interface UseControlledStateOptions<T = unknown, E = unknown> {\n /**\n * The value of the controlled state.\n */\n value?: T | undefined;\n /**\n * The default value of the uncontrolled state.\n */\n defaultValue?: T | undefined;\n /**\n * Callback function that is called when the value changes.\n */\n onChange?: (newValue: E) => void;\n}\n\n/**\n * The return type of the `useControlledState` hook.\n * A tuple containing the current value and a function to update it.\n */\nexport type UseControlledStateReturnType<T = unknown> = [T | undefined, (inValue: unknown | ((prev?: T) => unknown)) => void, boolean];\n\n/**\n * A custom hook that manages controlled and uncontrolled state.\n *\n * @param {UseControlledStateOptions} options - The options for the controlled state.\n * @returns A tuple containing the current value and a function to update it.\n *\n * @example\n * ```tsx\n * const ControlledComponent = () => {\n * const [controlledValue, setControlledValue] = React.useState('');\n *\n * const [value, setValue] = useControlledState({\n * value: controlledValue,\n * defaultValue: 'initial value',\n * onChange: (newValue) => {\n * setControlledValue(newValue);\n * }\n * });\n *\n * return <Component value={value} onChange={(e) => setValue(e.target.value)} />;\n * };\n * ```\n */\nexport function useControlledState<T = unknown, E = T>({ value, defaultValue, onChange }: UseControlledStateOptions<T, E>): UseControlledStateReturnType<T | undefined> {\n const [valueState, setValueState] = React.useState<T | undefined>(defaultValue ?? value);\n\n const isControlled = value !== undefined;\n const computedValue = isControlled ? (value as T) : valueState;\n\n const setValue = React.useCallback(\n (inValue: unknown | ((prev?: T) => unknown)) => {\n // @todo - update resolve to accept multiple parameters\n const [newValue, onChangeParam] = resolve(inValue, computedValue, isControlled) as [T, E];\n\n onChange?.(onChangeParam);\n\n if (!isControlled) {\n setValueState(newValue);\n }\n },\n [computedValue, isControlled, onChange]\n );\n\n return [computedValue, setValue, isControlled];\n}\n","import { getTargetElement, isNotEmpty } from '@primeuix/utils';\nimport * as React from 'react';\nimport { usePrevious } from '../use-previous';\n\n/**\n * The options for the `useEventListener` hook.\n */\nexport interface UseEventListenerOptions<T = keyof HTMLElementEventMap> {\n /**\n * The target element to bind the event listener to.\n * @default 'document'\n */\n target?: 'document' | 'window' | 'body' | HTMLElement | (() => HTMLElement) | React.Ref<HTMLElement> | string | null;\n /**\n * The event type to listen for.\n */\n type: T | string;\n /**\n * The event listener callback.\n */\n listener: EventListener;\n /**\n * The event listener options\n */\n options?: AddEventListenerOptions | boolean;\n /**\n * A boolean indicating whether the event listener should be active.\n */\n when?: boolean;\n}\n\n/**\n * The return type of the `useEventListener` hook.\n * A tuple containing functions;\n * 1. `bind` function is used to bind the event listener.\n * 2. `unbind` function is used to unbind the event listener.\n */\nexport type UseEventListenerReturnType = [(options?: Partial<Omit<UseEventListenerOptions, 'target'>> & { target?: UseEventListenerOptions['target'] | Document | null }) => void, () => void];\n\n/**\n * Listens for the specified event type on the target element.\n *\n * @param {UseEventListenerOptions} options - The options for the event listener.\n * @returns A tuple containing functions;\n * 1. `bind` function is used to bind the event listener.\n * 2. `unbind` function is used to unbind the event listener.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const [bind, unbind] = useEventListener({\n * target: 'document',\n * type: 'click',\n * listener: (event) => {\n * console.log(event);\n * },\n * when: true\n * });\n *\n * return <div>Click me</div>;\n * };\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const [bind, unbind] = useEventListener({\n * target: () => document.querySelector('.element'),\n * type: 'mouseover',\n * listener: (event) => {\n * console.log(event);\n * }\n * });\n *\n * return <div>MouseOver to `.element`</div>;\n * };\n * ```\n */\nexport function useEventListener({ target = 'document', type, listener, options, when = true }: UseEventListenerOptions): UseEventListenerReturnType {\n const targetRef = React.useRef<HTMLElement | null>(null);\n const listenerRef = React.useRef<EventListener | null>(null);\n let prevListener = usePrevious(listener);\n let prevOptions = usePrevious(options);\n\n const bind = (bindOptions: Partial<Omit<UseEventListenerOptions, 'target'>> & { target?: UseEventListenerOptions['target'] | Document | null } = {}) => {\n const { target: bindTarget } = bindOptions;\n\n if (isNotEmpty(bindTarget)) {\n unbind();\n\n if (bindOptions.when || when) {\n targetRef.current = getTargetElement(bindTarget) as HTMLElement;\n }\n }\n\n if (!listenerRef.current && targetRef.current) {\n listenerRef.current = (event: Event) => listener && listener(event);\n targetRef.current.addEventListener(type, listenerRef.current, options);\n }\n };\n\n const unbind = () => {\n if (listenerRef.current) {\n targetRef.current?.removeEventListener(type, listenerRef.current, options);\n listenerRef.current = null;\n }\n };\n\n const dispose = () => {\n unbind();\n // Prevent memory leak by releasing\n prevListener = null;\n prevOptions = null;\n };\n\n const updateTarget = React.useCallback(() => {\n if (when) {\n targetRef.current = getTargetElement(target) as HTMLElement;\n } else {\n unbind();\n targetRef.current = null;\n }\n }, [target, when]);\n\n React.useEffect(() => {\n return () => {\n dispose();\n };\n }, []);\n\n React.useEffect(() => {\n updateTarget();\n }, [updateTarget]);\n\n React.useEffect(() => {\n const listenerChanged = `${prevListener}` !== `${listener}`;\n const optionsChanged = prevOptions !== options;\n const listenerExists = listenerRef.current;\n\n if (listenerExists && (listenerChanged || optionsChanged)) {\n unbind();\n\n if (when) {\n bind();\n }\n } else if (!listenerExists) {\n dispose();\n }\n }, [listener, options, when]);\n\n return [bind, unbind];\n}\n","import * as React from 'react';\n\n/**\n * Returns the previous value of the provided value.\n *\n * @param value - The value to track.\n * @returns The previous value of the provided value.\n *\n * @example\n * ```tsx\n * const [count, setCount] = React.useState(5);\n * const prevCount = usePrevious(count);\n *\n * console.log(prevCount); // undefined\n *\n * setCount(10);\n *\n * console.log(prevCount); // 5\n * ```\n */\nexport function usePrevious<T>(value: T): T | null | undefined {\n const ref = React.useRef<T | null>(null);\n\n React.useEffect(() => {\n ref.current = value;\n\n return () => {\n ref.current = null;\n };\n }, [value]);\n\n return ref.current;\n}\n","import * as React from 'react';\n\n/**\n * Generates a unique identifier.\n *\n * @param initialValue Optional initial value for the ID.\n * @returns The generated or provided ID.\n *\n * @example\n * ```tsx\n * const id = useId('foo');\n * console.log(id); // 'foo'\n * ```\n *\n * @example\n * ```tsx\n * const defaultId = useId();\n * console.log(defaultId); // e.g., 'pr_id_0'\n * ```\n */\nexport function useId(initialValue?: string): string {\n const idx = React.useId();\n const [idState, setIdState] = React.useState<string>(initialValue || `pr_id_${idx.replaceAll(/:|«|»/g, '')}`);\n\n React.useEffect(() => {\n setIdState(initialValue || `pr_id_${idx.replaceAll(/:|«|»/g, '')}`);\n }, [initialValue, idx]);\n\n return idState;\n}\n","import { useMountEffect } from '@primereact/hooks';\nimport { getUserAgent } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * Event fired when the component's state changes.\n */\nexport interface UseMaskChangeEvent {\n /**\n * The value of the component.\n */\n value: string | undefined;\n}\n\n/**\n * The options for the `useMask` hook.\n */\nexport interface UseMaskOptions {\n /**\n * Mask pattern.\n */\n mask: string;\n /**\n * Defines if model sets the raw unmasked value to bound value or the formatted mask value.\n * @default false\n */\n unmask?: string;\n /**\n * Placeholder character in mask, default is underscore.\n * @default _\n */\n slotChar?: string;\n /**\n * Clears the incomplete value on blur.\n * @default true\n */\n autoClear?: boolean;\n /**\n * Whether the components are clickable or not.\n * @default false\n */\n readOnly?: boolean;\n /**\n * Callback function that is called when the value is changed.\n * @param event The event that triggered the change.\n * @param event.value The value of the component.\n * @returns void\n */\n onMaskChange?: (event: UseMaskChangeEvent) => void;\n /**\n * Reference to the mask element.\n */\n target: HTMLInputElement;\n}\n\nexport interface UseMaskExposes {\n /**\n * Handles input events for the masked input field.\n * Processes character input and composition events while applying the mask pattern.\n * @param event - The form or composition event from the input element\n */\n onMaskInput: (event: React.FormEvent<HTMLInputElement> | React.CompositionEvent<HTMLInputElement>) => void;\n /**\n * Handles keydown events for special key operations.\n * Manages backspace, delete, escape, and enter key behaviors.\n * @param event - The keyboard event from the input element\n */\n onMaskKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Handles keypress events for character input validation.\n * Validates and places characters according to the mask pattern.\n * @param event - The keyboard event from the input element\n */\n onMaskKeyPress: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Handles focus events when the input gains focus.\n * Initializes the mask display and sets the cursor position.\n * @param event - The focus event from the input element\n */\n onMaskFocus: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * Handles blur events when the input loses focus.\n * Validates the final value and triggers change events if needed.\n * @param event - The focus event from the input element\n */\n onMaskBlur: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * Handles paste events for clipboard content insertion.\n * Processes pasted content according to the mask pattern.\n * @param event - The clipboard event from the input element\n */\n onMaskPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;\n}\n\n/**\n * useMask hook is used to enter input in a certain format such as numeric, date, currency, email and phone.\n *\n * @param {UseMaskOptions} options - The options for the mask.\n * @returns {UseMaskExposes} - The exposed methods for the mask.\n *\n * @example\n * ```tsx\n * const { onMaskInput, onMaskKeyDown, onMaskKeyPress, onMaskFocus, onMaskBlur, onMaskPaste } = useMask({\n * mask: '99/99/9999',\n * onMaskChange: (event: UseMaskChangeEvent) => setValue(event.value ?? ''),\n * target: ref\n * });\n *\n * return (\n * <div className=\"card flex justify-center\">\n * <InputText ref={ref} value={value} placeholder=\"99/99/9999\" onInput={onMaskInput} onKeyDown={onMaskKeyDown} onKeyPress={onMaskKeyPress} onFocus={onMaskFocus} onBlur={onMaskBlur} onPaste={onMaskPaste} />\n * </div>\n * );\n */\nexport function useMask(options: UseMaskOptions): UseMaskExposes {\n const { mask, unmask, slotChar = '_', autoClear = true, readOnly = false, onMaskChange, target } = options;\n\n const len = React.useRef(0);\n const tests = React.useRef<Array<RegExp | null>>([]);\n const buffer = React.useRef<string[]>([]);\n const defaultBuffer = React.useRef<string | null>(null);\n const partialPosition = React.useRef<number>(0);\n const androidChrome = React.useRef(false);\n const focus = React.useRef(false);\n const focusText = React.useRef<string | null>(null);\n const firstNonMaskPos = React.useRef<number | null>(null);\n const lastRequiredNonMaskPos = React.useRef<number>(0);\n const caretTimeoutId = React.useRef<NodeJS.Timeout | null>(null);\n const oldVal = React.useRef<string | null>(null);\n const currentVal = React.useRef<string | null>(null);\n\n const onMaskInput = (event: React.FormEvent<HTMLInputElement> | React.CompositionEvent<HTMLInputElement>) => {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if ('isComposing' in event && event.isComposing) {\n return;\n }\n\n if (androidChrome.current) handleAndroidInput();\n else handleInputChange(event);\n };\n\n const onMaskKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n const k = event.code;\n let pos, begin, end;\n const iPhone = /iphone/i.test(getUserAgent());\n\n oldVal.current = target?.value as string;\n\n //backspace, delete, and escape get special treatment\n if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {\n pos = caret();\n\n if (!pos) {\n return;\n }\n\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 'Delete' ? seekPrev(begin) : (end = seekNext(begin - 1));\n end = k === 'Delete' ? seekNext(end) : end;\n }\n\n clearBuffer(begin, end);\n shiftL(begin, end - 1);\n updateModelValue((event.target as HTMLInputElement).value);\n\n event.preventDefault();\n } else if (k === 'Enter') {\n // enter\n target.blur();\n updateModelValue((event.target as HTMLInputElement).value);\n } else if (k === 'Escape') {\n // escape\n if (target) {\n target.value = focusText.current ?? '';\n }\n\n caret(0, checkVal());\n updateModelValue((event.target as HTMLInputElement).value);\n event.preventDefault();\n }\n };\n\n const onMaskKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n const k = event.code,\n pos = caret();\n let p: number, c: string, next: number;\n\n if (!pos) {\n return;\n }\n\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {\n //Ignore\n return;\n } else if (k && k !== 'Enter') {\n if (pos.end - pos.begin !== 0) {\n clearBuffer(pos.begin, pos.end);\n shiftL(pos.begin, pos.end - 1);\n }\n\n p = seekNext(pos.begin - 1);\n\n if (p < len.current) {\n c = event.key;\n\n if (tests.current[p]?.test(c)) {\n shiftR(p);\n\n buffer.current[p] = c;\n writeBuffer();\n next = seekNext(p);\n\n if (/android/i.test(getUserAgent())) {\n //Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n caret(next);\n }\n }\n }\n\n event.preventDefault();\n }\n\n updateModelValue((event.target as HTMLInputElement).value);\n };\n\n const onMaskFocus = () => {\n if (readOnly) {\n return;\n }\n\n if (caretTimeoutId.current) {\n clearTimeout(caretTimeoutId.current as NodeJS.Timeout);\n }\n\n focus.current = true;\n focusText.current = target.value as string;\n\n if (!target.value || target.value === defaultBuffer.current) {\n requestAnimationFrame(() => {\n if (target === document.activeElement) {\n caret(0, 0);\n }\n });\n } else {\n const pos = checkVal();\n\n caretTimeoutId.current = setTimeout(() => {\n if (target !== document.activeElement) {\n return;\n }\n\n writeBuffer();\n\n if (pos === mask?.replace('?', '').length) {\n caret(0, pos);\n } else {\n caret(pos);\n }\n }, 10);\n }\n };\n\n const onMaskBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n focus.current = false;\n checkVal();\n updateModelValue(event.target.value);\n\n if (target.value !== focusText.current) {\n const e = new Event('change', { bubbles: true, cancelable: false });\n\n target.dispatchEvent(e);\n }\n };\n\n const onMaskPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n handleInputChange(event);\n };\n\n const caret = (first?: number, last?: number): { begin: number; end: number } | undefined => {\n let begin = 0,\n end = 0;\n\n if (typeof first === 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n target.setSelectionRange(begin, end);\n } else {\n if (target) {\n begin = target.selectionStart ?? 0;\n end = target.selectionEnd ?? 0;\n }\n }\n\n return { begin, end };\n };\n\n const getPlaceholder = (i: number) => {\n if (i < slotChar.length) {\n return slotChar.charAt(i);\n }\n\n return slotChar.charAt(0);\n };\n\n const seekNext = (pos: number) => {\n while (++pos < len.current && !tests.current[pos]);\n\n return pos;\n };\n\n const seekPrev = (pos: number) => {\n while (--pos >= 0 && !tests.current[pos]);\n\n return pos;\n };\n\n const shiftL = (begin: number, end: number) => {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = seekNext(end); i < len.current; i++) {\n if (tests.current[i]) {\n if (j < len.current && tests.current[i]?.test(buffer.current[j])) {\n buffer.current[i] = buffer.current[j];\n buffer.current[j] = getPlaceholder(j);\n } else {\n break;\n }\n\n j = seekNext(j);\n }\n }\n\n writeBuffer();\n caret(Math.max(firstNonMaskPos.current ?? 0, begin));\n };\n\n const shiftR = (pos: number) => {\n let i, c, j, t;\n\n for (i = pos, c = getPlaceholder(pos); i < len.current; i++) {\n if (tests.current[i]) {\n j = seekNext(i);\n t = buffer.current[i];\n buffer.current[i] = c;\n\n if (j < len.current && tests.current[j]?.test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n };\n\n const handleAndroidInput = () => {\n const curVal = target.value as string;\n const pos = caret();\n\n if (!pos) {\n return;\n }\n\n if (oldVal.current && oldVal.current.length && oldVal.current.length > curVal.length) {\n // a deletion or backspace happened\n checkVal(true);\n while (pos.begin > 0 && !tests.current[pos.begin - 1]) pos.begin--;\n\n if (pos.begin === 0) {\n while (pos.begin < (firstNonMaskPos.current ?? 0) && !tests.current[pos.begin]) pos.begin++;\n }\n\n caret(pos.begin, pos.begin);\n } else {\n checkVal(true);\n while (pos.begin < len.current && !tests.current[pos.begin]) pos.begin++;\n\n caret(pos.begin, pos.begin);\n }\n };\n\n const clearBuffer = (start: number, end: number) => {\n let i;\n\n for (i = start; i < end && i < len.current; i++) {\n if (tests.current[i]) {\n buffer.current[i] = getPlaceholder(i);\n }\n }\n };\n\n const writeBuffer = () => {\n if (target) {\n target.value = buffer.current.join('');\n }\n };\n\n const checkVal = (allow = false): number => {\n //try to place characters where they belong\n const test = target.value;\n let lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < len.current; i++) {\n const currentTest = tests.current[i];\n\n if (currentTest !== null) {\n buffer.current[i] = getPlaceholder(i);\n\n while (pos++ < (test?.length ?? 0)) {\n c = test?.charAt(pos - 1) ?? '';\n\n if (currentTest.test(c)) {\n buffer.current[i] = c;\n lastMatch = i;\n break;\n }\n }\n\n if (pos > (test?.length ?? 0)) {\n clearBuffer(i + 1, len.current);\n break;\n }\n } else {\n if (buffer.current[i] === test?.charAt(pos)) {\n pos++;\n }\n\n if (i < partialPosition.current) {\n lastMatch = i;\n }\n }\n }\n\n if (allow) {\n writeBuffer();\n } else if (lastMatch + 1 < partialPosition.current) {\n if (autoClear || buffer.current.join('') === defaultBuffer.current) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (target.value) {\n target.value = '';\n }\n\n clearBuffer(0, len.current);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n writeBuffer();\n }\n } else {\n writeBuffer();\n\n if (target) {\n target.value = target.value.substring(0, lastMatch + 1);\n }\n }\n\n return partialPosition.current ? i : (firstNonMaskPos.current ?? 0);\n };\n\n const handleInputChange = (event: React.FormEvent<HTMLInputElement> | React.ClipboardEvent<HTMLInputElement>) => {\n const isPasteEvent = event.type === 'paste';\n\n if (readOnly || isPasteEvent) {\n return;\n }\n\n const pos = checkVal(true);\n\n caret(pos);\n updateModelValue((event.target as HTMLInputElement).value);\n };\n\n const unmaskValue = (value: string) => {\n const unmaskedBuffer = [];\n const thisbuffer = value.split('');\n\n for (let i = 0; i < thisbuffer.length; i++) {\n const c = thisbuffer[i];\n\n if (tests.current[i] && c !== getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n };\n\n const updateModelValue = (value: string) => {\n if (currentVal.current === value) return;\n\n const val = unmask ? unmaskValue(value) : value;\n const finalValue = defaultBuffer.current !== val ? val : '';\n\n currentVal.current = value;\n\n if (target) {\n target.value = finalValue;\n }\n\n // Call the onMaskChange callback to update React state\n if (onMaskChange) {\n onMaskChange({ value: finalValue });\n }\n };\n\n const updateValue = (updateModel = true) => {\n if (target) {\n if (target.value == null) {\n target.value = '';\n\n if (updateModel) {\n updateModelValue('');\n }\n } else {\n checkVal();\n\n setTimeout(() => {\n if (target) {\n writeBuffer();\n checkVal();\n\n if (updateModel) updateModelValue(target.value);\n }\n }, 10);\n }\n\n focusText.current = target.value;\n }\n };\n\n const initMask = () => {\n tests.current = [];\n partialPosition.current = mask ? mask.length : 0;\n len.current = mask ? mask.length : 0;\n firstNonMaskPos.current = null;\n const defs = {\n 9: '[0-9]',\n a: '[A-Za-z]',\n '*': '[A-Za-z0-9]'\n } as Record<string, string>;\n\n const ua = getUserAgent();\n\n androidChrome.current = /chrome/i.test(ua) && /android/i.test(ua);\n\n const maskTokens = mask ? mask.split('') : '';\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c === '?') {\n len.current--;\n partialPosition.current = i;\n } else if (defs[c]) {\n tests.current.push(new RegExp(defs[c]));\n\n if (firstNonMaskPos.current === null) {\n firstNonMaskPos.current = tests.current.length - 1;\n }\n\n if (i < partialPosition.current) {\n lastRequiredNonMaskPos.current = tests.current.length - 1;\n }\n } else {\n tests.current.push(null);\n }\n }\n\n buffer.current = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c !== '?') {\n if (defs[c]) buffer.current.push(getPlaceholder(i));\n else buffer.current.push(c);\n }\n }\n\n defaultBuffer.current = buffer.current.join('');\n\n updateValue(false);\n };\n\n useMountEffect(() => {\n initMask();\n });\n\n return {\n onMaskInput,\n onMaskKeyDown,\n onMaskKeyPress,\n onMaskFocus,\n onMaskBlur,\n onMaskPaste\n };\n}\n","import * as React from 'react';\n\n/**\n * Listens for the specified media query.\n *\n * @param query - The media query to match.\n * @param when - A boolean indicating whether the media query should be active.\n * @returns A boolean indicating whether the media query matches.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const isMobile = useMatchMedia('(max-width: 768px)');\n *\n * return <div>{isMobile ? 'Mobile' : 'Desktop'}</div>;\n * };\n */\nexport function useMatchMedia(query: string, when: boolean = true): boolean {\n const [matches, setMatches] = React.useState(false);\n const matchMedia = React.useRef<MediaQueryList | null>(null);\n\n const handleChange = (event: MediaQueryListEvent) => setMatches(event.matches);\n const bind = () => matchMedia.current?.addEventListener('change', handleChange);\n const unbind = () => matchMedia.current?.removeEventListener('change', handleChange) && (matchMedia.current = null);\n\n React.useEffect(() => {\n if (when) {\n matchMedia.current = window.matchMedia(query);\n setMatches(matchMedia.current.matches);\n\n bind();\n }\n\n return () => {\n unbind();\n };\n }, [query, when]);\n\n return matches;\n}\n","import * as React from 'react';\n\n/**\n * Custom hook that runs a mount effect only once.\n * This is similar to `useEffect`, but it only runs on mount.\n *\n * @param {React.EffectCallback} effect the callback function\n * @returns {void}\n *\n * @example\n * ```tsx\n * const MyComponent = () => {\n * useMountEffect(() => {\n * console.log('Mounted');\n * });\n * };\n * ```\n */\nexport function useMountEffect(effect: React.EffectCallback): void {\n const mounted = React.useRef<boolean>(false);\n\n React.useEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n\n effect?.();\n }\n }, []);\n}\n","import * as React from 'react';\n\n/**\n * usePresence hook is used to manage the presence of a component.\n *\n * @param open - The open state.\n * @returns An object containing the present, exiting, mounted, and ref states.\n *\n * @example\n * ```tsx\n * const { present, exiting, mounted, ref } = usePresence(true);\n *\n * return present && (\n * <div className=\"card flex justify-center\"></div>\n * );\n */\n\nexport function usePresence(open: boolean, fallbackMs: number = 500) {\n const [present, setPresent] = React.useState(open);\n const [exiting, setExiting] = React.useState(false);\n const [mounted, setMounted] = React.useState(false);\n const ref = React.useRef<HTMLElement>(null);\n const cleanupRef = React.useRef<(() => void) | null>(null);\n const rafCleanupRef = React.useRef<(() => void) | null>(null);\n\n React.useEffect(() => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = null;\n }\n\n if (rafCleanupRef.current) {\n rafCleanupRef.current();\n rafCleanupRef.current = null;\n }\n\n if (open) {\n setPresent(true);\n setExiting(false);\n\n const rafs: number[] = [];\n\n rafs.push(\n requestAnimationFrame(() => {\n rafs.push(\n requestAnimationFrame(() => {\n rafs.push(requestAnimationFrame(() => setMounted(true)));\n })\n );\n })\n );\n\n rafCleanupRef.current = () => {\n rafs.forEach((raf) => cancelAnimationFrame(raf));\n rafs.length = 0;\n };\n } else if (ref.current) {\n setExiting(true);\n setMounted(false);\n const node = ref.current;\n let isHandled = false;\n\n const handleEnd = () => {\n if (isHandled) return;\n\n isHandled = true;\n\n setPresent(false);\n setExiting(false);\n\n node.removeEventListener('transitionend', handleEnd);\n node.removeEventListener('animationend', handleEnd);\n\n cleanupRef.current = null;\n };\n\n node.addEventListener('transitionend', handleEnd, { passive: true });\n node.addEventListener('animationend', handleEnd, { passive: true });\n\n // const fallbackTimeout = setTimeout(() => {\n // if (!isHandled) {\n // handleEnd();\n // }\n // }, fallbackMs);\n\n cleanupRef.current = () => {\n // clearTimeout(fallbackTimeout);\n\n if (!isHandled) {\n node.removeEventListener('transitionend', handleEnd);\n node.removeEventListener('animationend', handleEnd);\n }\n };\n } else {\n setMounted(false);\n setPresent(false);\n setExiting(false);\n }\n }, [open, fallbackMs]);\n\n React.useEffect(() => {\n return () => {\n if (cleanupRef.current) {\n cleanupRef.current();\n }\n\n if (rafCleanupRef.current) {\n rafCleanupRef.current();\n }\n };\n }, []);\n\n return { present, exiting, mounted, ref };\n}\n","import * as React from 'react';\n\n/**\n * Used to merge and differentiate incoming props with the default props.\n * - Keys that exist in both `props1` and `props2` are placed in `props`, with values from `props1`.\n * - Keys that exist in `props1` but not in `props2` are placed in `attrs`.\n *\n * @template P1 The type of the incoming set of props.\n * @template P2 The type of the default set of props.\n *\n * @param props1 The incoming set of props (e.g., user-defined or dynamic props).\n * @param props2 The default set of props (e.g., default props).\n * @returns An object containing:\n * - `props`: A new object containing keys that exist in both `props1` and `props2`, using values from `props1`.\n * - `attrs`: A new object containing keys that exist only in `props1`, excluding any keys from `props2`.\n *\n * @example\n * ```ts\n * const { props, attrs } = useProps({ id: 'foo', className: 'bar' }, { className: 'baz' });\n *\n * console.log(props); // { className: 'bar' }\n * console.log(attrs); // { id: 'foo' }\n * ```\n */\nexport function useProps<P1, P2>(props1: P1 = {} as P1, props2: P2 = {} as P2) {\n type Props = Pick<P1 & P2, keyof P2>;\n type Attrs = Omit<P1, keyof P2>;\n type Result = { props: Props; attrs: Attrs };\n\n return React.useMemo(() => {\n const result: Result = { props: { ...props2 } as Props, attrs: {} as Attrs };\n\n Object.entries(props1 as Record<string, unknown>).forEach(([key, value]) => {\n if (key in (props2 as Record<string, unknown>)) {\n (result.props as Record<string, unknown>)[key] = value;\n } else {\n (result.attrs as Record<string, unknown>)[key] = value;\n }\n });\n\n return result;\n }, [props1, props2]);\n}\n","import { getWindowScrollTop } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * The options for the `useScrollTop` hook.\n */\nexport interface UseScrollTopOptions {\n /**\n * Reference to the target element.\n * @default window\n */\n target?: Window | Element | null;\n /**\n * Defines the threshold value of the vertical scroll position of the target to toggle the visibility.\n * @default 400\n */\n threshold?: number;\n /**\n * Defines the scrolling behaviour, 'smooth' adds an animation and 'auto' scrolls with a jump.\n * @default smooth\n */\n behavior?: ScrollBehavior;\n}\n\n/**\n * The exposes for the `useScrollTop` hook.\n */\nexport interface UseScrollTopExposes {\n /**\n * Current visible state as a boolean.\n * @default false\n */\n visible: boolean;\n /**\n * Scrolls the target element to the top.\n */\n scrollToTop: () => void;\n}\n\n/**\n * useScrollTop hook is used to enter input in a certain format such as numeric, date, currency, email and phone.\n *\n * @param {UseScrollTopOptions} options - The options for the scroll top behavior.\n * @returns {UseScrollTopExposes} - The exposed methods for the scroll top behavior.\n *\n * @example\n * ```tsx\n * const { scrollToTop, visible } = useScrollTop({\n * target: elementRef.current,\n * threshold: 400,\n * behavior: 'smooth'\n * });\n *\n * return (\n * <div ref={elementRef}>\n * {visible && (\n * <Button onClick={scrollToTop}>\n * <i className=\"pi pi-arrow-up\" />\n * </Button>\n * )}\n * </div>\n * );\n */\nexport function useScrollTop(options?: UseScrollTopOptions): UseScrollTopExposes {\n const { target = typeof window !== 'undefined' ? window : null, threshold = 400, behavior = 'smooth' } = options || {};\n const [visible, setVisible] = React.useState(false);\n\n const scrollToTop = () => {\n target?.scroll({\n top: 0,\n behavior: behavior\n });\n };\n\n React.useEffect(() => {\n if (!target) return;\n\n const checkVisibility = (scrollY: number) => {\n if (scrollY > threshold) setVisible(true);\n else setVisible(false);\n };\n\n const onScroll = () => {\n const scrollY = target === window ? getWindowScrollTop() : (target as Element).scrollTop;\n\n checkVisibility(scrollY);\n };\n\n target.addEventListener('scroll', onScroll);\n\n return () => {\n target.removeEventListener('scroll', onScroll);\n };\n }, [target, threshold]);\n\n return {\n //state\n visible,\n //methods\n scrollToTop\n };\n}\n","import * as React from 'react';\n\n/**\n * Custom hook that runs an unmount effect only once.\n * This is similar to `useEffect`, but it only runs on unmount.\n *\n * @param {React.EffectCallback} effect the callback function\n * @returns {void}\n *\n * @example\n * ```tsx\n * const Component = () => {\n * useUnmountEffect(() => {\n * console.log('Unmounted');\n * });\n * };\n * ```\n */\nexport function useUnmountEffect(effect: React.EffectCallback): void {\n React.useEffect(() => {\n return () => {\n effect?.();\n };\n }, []);\n}\n","import * as React from 'react';\n\n/**\n * Custom hook that runs an update effect whenever dependencies change.\n * This is similar to `useEffect`, but it does not run on mount.\n *\n * @param {React.EffectCallback} effect the callback function\n * @param {React.DependencyList} dependencies the dependencies\n * @returns {void}\n *\n * @example\n * ```tsx\n * const Component = ({ value }) => {\n * useUpdateEffect(() => {\n * console.log('Updated');\n * }, [value]);\n * };\n * ```\n */\nexport function useUpdateEffect(effect: React.EffectCallback, dependencies?: React.DependencyList): void {\n const mounted = React.useRef<boolean>(false);\n\n React.useEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n\n return;\n }\n\n return effect?.();\n }, dependencies);\n}\n","import * as React from 'react';\n\n/**\n * Starts a view transition.\n *\n * @returns A function that starts a view transition.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const startTransition = useViewTransition();\n *\n * const handleClick = () => {\n * startTransition(() => {\n * // Perform some work\n * });\n * };\n *\n * return <button onClick={handleClick}>Click me</button>;\n * };\n */\nexport function useViewTransition() {\n const startTransition = React.useCallback((callback: () => void) => {\n if (document.startViewTransition) {\n document.startViewTransition(() => {\n callback();\n });\n } else {\n callback();\n }\n }, []);\n\n return startTransition;\n}\n","import { useProps } from '@primereact/hooks';\nimport type { LocaleProps } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultLocaleProps } from './Locale.props';\n\nexport const LocaleContext = React.createContext<LocaleProps | undefined>(undefined);\n\nexport const LocaleProvider = (inProps: React.PropsWithChildren<LocaleProps> = {}) => {\n const { attrs } = useProps(inProps, defaultLocaleProps as LocaleProps);\n const value = undefined;\n\n return <LocaleContext.Provider value={value}>{resolve(attrs.children, value)}</LocaleContext.Provider>;\n};\n","import type { LocaleProps } from '@primereact/types/core';\n\nexport const defaultLocaleProps: LocaleProps = {\n lang: 'en'\n};\n","import * as React from 'react';\nimport { LocaleContext } from './Locale.context';\n\nexport function useLocale() {\n const context = React.useContext(LocaleContext);\n\n if (context === undefined) {\n throw new Error('Context must be used within a LocaleProvider');\n }\n\n return context;\n}\n","import { useProps } from '@primereact/hooks';\nimport type { PassThroughProps } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultPTProps } from './PassThrough.props';\n\nexport const PassThroughContext = React.createContext<PassThroughProps | undefined>(undefined);\n\nexport const PassThroughProvider = (inProps: React.PropsWithChildren<PassThroughProps> = {}) => {\n const { props, attrs } = useProps(inProps, defaultPTProps as PassThroughProps);\n const { value, ...rest } = props;\n\n const pt = {\n value,\n options: rest\n };\n\n return <PassThroughContext.Provider value={pt}>{resolve(attrs.children, pt)}</PassThroughContext.Provider>;\n};\n","import type { PassThroughProps } from '@primereact/types/core';\n\nexport const defaultPTProps: PassThroughProps = {\n value: undefined,\n mergeProps: false,\n mergeSections: true\n};\n","import * as React from 'react';\nimport { PassThroughContext } from './PassThrough.context';\n\nexport function usePassThrough() {\n const context = React.useContext(PassThroughContext);\n\n if (context === undefined) {\n throw new Error('Context must be used within a PassThroughProvider');\n }\n\n return context;\n}\n","import { deepMerge } from '@primeuix/utils/object';\n\nexport default function definePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n return deepMerge(...presets) as T;\n}\n","import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function updatePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(Theme.getPreset(), ...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nconst ThemeService = EventBus();\n\nexport default ThemeService;\n","import { getKeyValue, isArray, isNotEmpty, isNumber, isObject, isString, matchRegex, toKebabCase } from '@primeuix/utils/object';\n\nexport const EXPR_REGEX = /{([^}]*)}/g; // Exp: '{a}', '{a.b}', '{a.b.c}' etc.\nexport const CALC_REGEX = /(\\d+\\s+[\\+\\-\\*\\/]\\s+\\d+)/g;\nexport const VAR_REGEX = /var\\([^)]+\\)/g;\n\nexport function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c: string, i: number) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n\nexport function merge(value1: any, value2: any): void {\n if (isArray(value1)) {\n value1.push(...(value2 || []));\n } else if (isObject(value1)) {\n Object.assign(value1, value2);\n }\n}\n\nexport function toValue(value: any): any {\n // Check for Figma ($value-$type)\n return isObject(value) && value.hasOwnProperty('$value') && value.hasOwnProperty('$type') ? (value as any).$value : value;\n}\n\nexport function toUnit(value: string, variable: string = ''): string {\n const excludedProperties = ['opacity', 'z-index', 'line-height', 'font-weight', 'flex', 'flex-grow', 'flex-shrink', 'order'];\n\n if (!excludedProperties.some((property) => variable.endsWith(property))) {\n const val = `${value}`.trim();\n const valArr = val.split(' ');\n\n return valArr.map((v) => (isNumber(v) ? `${v}px` : v)).join(' ');\n }\n\n return value;\n}\n\nexport function toNormalizePrefix(prefix: string): string {\n return prefix.replaceAll(/ /g, '').replace(/[^\\w]/g, '-');\n}\n\nexport function toNormalizeVariable(prefix: string = '', variable: string = ''): string {\n return toNormalizePrefix(`${isString(prefix, false) && isString(variable, false) ? `${prefix}-` : prefix}${variable}`);\n}\n\nexport function getVariableName(prefix: string = '', variable: string = ''): string {\n return `--${toNormalizeVariable(prefix, variable)}`;\n}\n\nexport function hasOddBraces(str: string = ''): boolean {\n const openBraces = (str.match(/{/g) || []).length;\n const closeBraces = (str.match(/}/g) || []).length;\n\n return (openBraces + closeBraces) % 2 !== 0;\n}\n\nexport function getVariableValue(value: any, variable: string = '', prefix: string = '', excludedKeyRegexes: RegExp[] = [], fallback?: string): string | undefined {\n if (isString(value)) {\n const val = value.trim();\n\n if (hasOddBraces(val)) {\n return undefined;\n } else if (matchRegex(val, EXPR_REGEX)) {\n const _val = val.replaceAll(EXPR_REGEX, (v: string) => {\n const path = v.replace(/{|}/g, '');\n const keys = path.split('.').filter((_v: string) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r)));\n\n return `var(${getVariableName(prefix, toKebabCase(keys.join('-')))}${isNotEmpty(fallback) ? `, ${fallback}` : ''})`;\n });\n\n return matchRegex(_val.replace(VAR_REGEX, '0'), CALC_REGEX) ? `calc(${_val})` : _val;\n }\n\n return val; //toUnit(val, variable);\n } else if (isNumber(value)) {\n return value; //toUnit(value, variable);\n }\n\n return undefined;\n}\n\nexport function getComputedValue(obj = {}, value: any): any {\n if (isString(value)) {\n const val = value.trim();\n\n return matchRegex(val, EXPR_REGEX) ? val.replaceAll(EXPR_REGEX, (v: string) => getKeyValue(obj, v.replace(/{|}/g, '')) as string) : val;\n } else if (isNumber(value)) {\n return value;\n }\n\n return undefined;\n}\n\nexport function setProperty(properties: string[], key: string, value?: string) {\n if (isString(key, false)) {\n properties.push(`${key}:${value};`);\n }\n}\n\nexport function getRule(selector: string, properties: string): string {\n if (selector) {\n return `${selector}{${properties}}`;\n }\n\n return '';\n}\n\nexport function evaluateDtExpressions(input: string, fn: (...args: any[]) => string): string {\n if (input.indexOf('dt(') === -1) return input;\n\n function fastParseArgs(str: string, fn: (...args: (string | number)[]) => string): (string | number)[] {\n const args: (string | number)[] = [];\n let i = 0;\n let current = '';\n let quote: string | null = null;\n let depth = 0;\n\n while (i <= str.length) {\n const c = str[i];\n\n if ((c === '\"' || c === \"'\" || c === '`') && str[i - 1] !== '\\\\') {\n quote = quote === c ? null : c;\n }\n\n if (!quote) {\n if (c === '(') depth++;\n if (c === ')') depth--;\n\n if ((c === ',' || i === str.length) && depth === 0) {\n const arg = current.trim();\n\n if (arg.startsWith('dt(')) {\n args.push(evaluateDtExpressions(arg, fn));\n } else {\n args.push(parseArg(arg));\n }\n\n current = '';\n i++;\n continue;\n }\n }\n\n if (c !== undefined) current += c;\n i++;\n }\n\n return args;\n }\n\n function parseArg(arg: string): string | number {\n const q = arg[0];\n\n if ((q === '\"' || q === \"'\" || q === '`') && arg[arg.length - 1] === q) {\n return arg.slice(1, -1);\n }\n\n const num = Number(arg);\n\n return isNaN(num) ? arg : num;\n }\n\n const indices: [number, number][] = [];\n const stack: number[] = [];\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === 'd' && input.slice(i, i + 3) === 'dt(') {\n stack.push(i);\n i += 2;\n } else if (input[i] === ')' && stack.length > 0) {\n const start = stack.pop()!;\n\n if (stack.length === 0) {\n indices.push([start, i]);\n }\n }\n }\n\n if (!indices.length) return input;\n\n for (let i = indices.length - 1; i >= 0; i--) {\n const [start, end] = indices[i];\n const inner = input.slice(start + 3, end);\n const args = fastParseArgs(inner, fn);\n const resolved = fn(...args);\n\n input = input.slice(0, start) + resolved + input.slice(end + 1);\n }\n\n return input;\n}\n","import { isEmpty, isNotEmpty, isObject, matchRegex, minifyCSS, resolve } from '@primeuix/utils/object';\nimport { dt, toVariables } from '../helpers/index';\nimport { CALC_REGEX, EXPR_REGEX, getRule, toTokenKey, VAR_REGEX } from './sharedUtils';\n\nexport default {\n regex: {\n rules: {\n class: {\n pattern: /^\\.([a-zA-Z][\\w-]*)$/,\n resolve(value: string) {\n return { type: 'class', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n attr: {\n pattern: /^\\[(.*)\\]$/,\n resolve(value: string) {\n return { type: 'attr', selector: `:root${value},:host${value}`, matched: this.pattern.test(value.trim()) };\n }\n },\n media: {\n pattern: /^@media (.*)$/,\n resolve(value: string) {\n return { type: 'media', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n system: {\n pattern: /^system$/,\n resolve(value: string) {\n return { type: 'system', selector: '@media (prefers-color-scheme: dark)', matched: this.pattern.test(value.trim()) };\n }\n },\n custom: {\n resolve(value: string) {\n return { type: 'custom', selector: value, matched: true };\n }\n }\n },\n resolve(value: any) {\n const rules = Object.keys(this.rules)\n .filter((k) => k !== 'custom')\n .map((r) => (this.rules as any)[r]);\n\n return [value].flat().map((v) => rules.map((r) => r.resolve(v)).find((rr) => rr.matched) ?? this.rules.custom.resolve(v));\n }\n },\n _toVariables(theme: any, options: any) {\n return toVariables(theme, { prefix: options?.prefix });\n },\n getCommon({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style;\n\n // @todo - check if options is not empty\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const { primitive, semantic, extend } = preset;\n const { colorScheme, ...sRest } = semantic || {};\n const { colorScheme: eColorScheme, ...eRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: eDark, ...ecsRest } = eColorScheme || {};\n const prim_var: any = isNotEmpty(primitive) ? this._toVariables({ primitive }, options) : {};\n const sRest_var: any = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ dark }, options) : {};\n const eRest_var: any = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options) : {};\n const ecsRest_var: any = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options) : {};\n const ecsDark_var: any = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options) : {};\n\n const [prim_css, prim_tokens] = [prim_var.declarations ?? '', prim_var.tokens];\n const [sRest_css, sRest_tokens] = [sRest_var.declarations ?? '', sRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n const [eRest_css, eRest_tokens] = [eRest_var.declarations ?? '', eRest_var.tokens || []];\n const [ecsRest_css, ecsRest_tokens] = [ecsRest_var.declarations ?? '', ecsRest_var.tokens || []];\n const [ecsDark_css, ecsDark_tokens] = [ecsDark_var.declarations ?? '', ecsDark_var.tokens || []];\n\n primitive_css = this.transformCSS(name, prim_css, 'light', 'variable', options, set, defaults);\n primitive_tokens = prim_tokens;\n\n const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults);\n const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, 'dark', 'variable', options, set, defaults);\n\n semantic_css = `${semantic_light_css}${semantic_dark_css}`;\n semantic_tokens = [...new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, 'light', 'variable', options, set, defaults);\n const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, 'dark', 'variable', options, set, defaults);\n\n global_css = `${global_light_css}${global_dark_css}`;\n global_tokens = [...new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])];\n\n style = resolve(preset.css, { dt }) as string;\n }\n\n return {\n primitive: {\n css: primitive_css,\n tokens: primitive_tokens\n },\n semantic: {\n css: semantic_css,\n tokens: semantic_tokens\n },\n global: {\n css: global_css,\n tokens: global_tokens\n },\n style\n };\n },\n getPreset({ name = '', preset = {}, options, params, set, defaults, selector }: any) {\n let p_css, p_tokens, p_style;\n\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const _name = name.replace('-directive', '');\n const { colorScheme, extend, css, ...vRest } = preset;\n const { colorScheme: eColorScheme, ...evRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: ecsDark, ...ecsRest } = eColorScheme || {};\n const vRest_var: any = isNotEmpty(vRest) ? this._toVariables({ [_name]: { ...vRest, ...evRest } }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ [_name]: { ...csRest, ...ecsRest } }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ [_name]: { ...dark, ...ecsDark } }, options) : {};\n\n const [vRest_css, vRest_tokens] = [vRest_var.declarations ?? '', vRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n\n const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults, selector);\n const dark_variable_css = this.transformCSS(_name, csDark_css, 'dark', 'variable', options, set, defaults, selector);\n\n p_css = `${light_variable_css}${dark_variable_css}`;\n p_tokens = [...new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n p_style = resolve(css, { dt }) as string;\n }\n\n return {\n css: p_css,\n tokens: p_tokens,\n style: p_style\n };\n },\n getPresetC({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n const cPreset = preset?.components?.[name];\n\n return this.getPreset({ name, preset: cPreset, options, params, set, defaults });\n },\n // @deprecated - use getPresetC instead\n getPresetD({ name = '', theme = {}, params, set, defaults }: any) {\n const dName = name.replace('-directive', '');\n const { preset, options } = theme;\n const dPreset = preset?.components?.[dName] || preset?.directives?.[dName];\n\n return this.getPreset({ name: dName, preset: dPreset, options, params, set, defaults });\n },\n applyDarkColorScheme(options: any) {\n return !(options.darkModeSelector === 'none' || options.darkModeSelector === false);\n },\n getColorSchemeOption(options: any, defaults: any) {\n return this.applyDarkColorScheme(options) ? this.regex.resolve(options.darkModeSelector === true ? defaults.options.darkModeSelector : (options.darkModeSelector ?? defaults.options.darkModeSelector)) : [];\n },\n getLayerOrder(name: string, options: any = {}, params: any, defaults: any) {\n const { cssLayer } = options;\n\n if (cssLayer) {\n const order = resolve(cssLayer.order || cssLayer.name || 'primeui', params);\n\n return `@layer ${order}`;\n }\n\n return '';\n },\n getCommonStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const common = this.getCommon({ name, theme, params, set, defaults });\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return Object.entries(common || {})\n .reduce((acc: any, [key, value]) => {\n if (isObject(value) && Object.hasOwn(value, 'css')) {\n const _css = minifyCSS((value as any).css);\n const id = `${key}-variables`;\n\n acc.push(`<style type=\"text/css\" data-primevue-style-id=\"${id}\" ${_props}>${_css}</style>`); // @todo data-primevue -> data-primeui check in primevue usestyle\n }\n\n return acc;\n }, [])\n .join('');\n },\n getStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const options = { name, theme, params, set, defaults };\n const preset_css = (name.includes('-directive') ? this.getPresetD(options) : this.getPresetC(options))?.css;\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return preset_css ? `<style type=\"text/css\" data-primevue-style-id=\"${name}-variables\" ${_props}>${minifyCSS(preset_css)}</style>` : ''; // @todo check\n },\n createTokens(obj: any = {}, defaults: any, parentKey: string = '', parentPath: string = '', tokens: any = {}) {\n const computedFn = function (this: any, colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) {\n if (stack.includes(this.path)) {\n console.warn(`Circular reference detected at ${this.path}`);\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: undefined\n };\n }\n\n stack.push(this.path);\n tokenPathMap['name'] = this.path;\n tokenPathMap['binding'] ||= {};\n\n let computedValue: any = this.value;\n\n if (typeof this.value === 'string' && EXPR_REGEX.test(this.value)) {\n const val = this.value.trim();\n const _val = val.replace(EXPR_REGEX, (v: any) => {\n const refPath = v.slice(1, -1);\n const refToken = this.tokens[refPath];\n\n if (!refToken) {\n console.warn(`Token not found for path: ${refPath}`);\n\n return `__UNRESOLVED__`;\n }\n\n const computed = refToken.computed(colorScheme, tokenPathMap, stack);\n\n if (Array.isArray(computed) && computed.length === 2) {\n return `light-dark(${computed[0].value},${computed[1].value})`;\n } else {\n return computed?.value ?? `__UNRESOLVED__`;\n }\n });\n\n computedValue = CALC_REGEX.test(_val.replace(VAR_REGEX, '0')) ? `calc(${_val})` : _val;\n }\n\n if (isEmpty(tokenPathMap['binding'])) {\n delete tokenPathMap['binding'];\n }\n\n stack.pop();\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: computedValue.includes('__UNRESOLVED__') ? undefined : computedValue\n };\n };\n\n const traverse = (obj: any, parentKey: string, parentPath: string) => {\n Object.entries(obj).forEach(([key, value]) => {\n const currentKey = matchRegex(key, defaults.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey(key)}` : toTokenKey(key);\n\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n\n if (isObject(value)) {\n traverse(value, currentKey, currentPath);\n } else {\n if (!tokens[currentKey]) {\n tokens[currentKey] = {\n paths: [],\n computed: (colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) => {\n if (tokens[currentKey].paths.length === 1) {\n return tokens[currentKey].paths[0].computed(tokens[currentKey].paths[0].scheme, tokenPathMap['binding'], stack);\n } else if (colorScheme && colorScheme !== 'none') {\n for (let i = 0; i < tokens[currentKey].paths.length; i++) {\n const p = tokens[currentKey].paths[i];\n\n if (p.scheme === colorScheme) {\n return p.computed(colorScheme, tokenPathMap['binding'], stack);\n }\n }\n }\n\n return tokens[currentKey].paths.map((p: any) => p.computed(p.scheme, tokenPathMap[p.scheme], stack));\n }\n };\n }\n\n tokens[currentKey].paths.push({\n path: currentPath,\n value,\n scheme: currentPath.includes('colorScheme.light') ? 'light' : currentPath.includes('colorScheme.dark') ? 'dark' : 'none',\n computed: computedFn,\n tokens\n });\n }\n });\n };\n\n traverse(obj, parentKey, parentPath);\n\n return tokens;\n },\n getTokenValue(tokens: any, path: string, defaults: any) {\n const normalizePath = (str: string) => {\n const strArr = str.split('.');\n\n return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults.variable.excludedKeyRegex)).join('.');\n };\n\n const token = normalizePath(path);\n const colorScheme = path.includes('colorScheme.light') ? 'light' : path.includes('colorScheme.dark') ? 'dark' : undefined;\n const computedValues = [tokens[token as any]?.computed(colorScheme)].flat().filter((computed) => computed);\n\n return computedValues.length === 1\n ? computedValues[0].value\n : computedValues.reduce((acc = {}, computed) => {\n const { colorScheme: cs, ...rest } = computed;\n\n acc[cs] = rest;\n\n return acc;\n }, undefined);\n },\n getSelectorRule(selector1: any, selector2: any, type: string, css: string) {\n return type === 'class' || type === 'attr' ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css) : getRule(selector1, getRule(selector2 ?? ':root,:host', css));\n },\n transformCSS(name: string, css: string, mode?: string, type?: string, options: any = {}, set?: any, defaults?: any, selector?: string) {\n if (isNotEmpty(css)) {\n const { cssLayer } = options;\n\n if (type !== 'style') {\n const colorSchemeOption = this.getColorSchemeOption(options, defaults);\n\n css =\n mode === 'dark'\n ? colorSchemeOption.reduce((acc, { type, selector: _selector }) => {\n if (isNotEmpty(_selector)) {\n acc += _selector.includes('[CSS]') ? _selector.replace('[CSS]', css) : this.getSelectorRule(_selector, selector, type, css);\n }\n\n return acc;\n }, '')\n : getRule(selector ?? ':root,:host', css);\n }\n\n if (cssLayer) {\n const layerOptions = {\n name: 'primeui',\n order: 'primeui'\n };\n\n isObject(cssLayer) && (layerOptions.name = resolve((cssLayer as any).name, { name, type }));\n\n if (isNotEmpty(layerOptions.name)) {\n css = getRule(`@layer ${layerOptions.name}`, css);\n set?.layerNames(layerOptions.name);\n }\n }\n\n return css;\n }\n\n return '';\n }\n};\n","function normalizeColor(color: string): string {\n if (color.length === 4) {\n return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n\n return color;\n}\n\nfunction hexToRgb(hex: string) {\n const bigint = parseInt(hex.substring(1), 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return { r, g, b };\n}\n\nfunction rgbToHex(r: number, g: number, b: number) {\n return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;\n}\n\nexport default (color1: string, color2: string, weight: number): string => {\n color1 = normalizeColor(color1);\n color2 = normalizeColor(color2);\n\n const p = weight / 100;\n const w = p * 2 - 1;\n const w1 = (w + 1) / 2.0;\n const w2 = 1 - w1;\n\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n const r = Math.round(rgb1.r * w1 + rgb2.r * w2);\n const g = Math.round(rgb1.g * w1 + rgb2.g * w2);\n const b = Math.round(rgb1.b * w1 + rgb2.b * w2);\n\n return rgbToHex(r, g, b);\n};\n","import { matchRegex } from '@primeuix/utils';\nimport type { ColorScale } from '../..';\nimport { EXPR_REGEX } from '../../utils/index';\nimport shade from './shade';\nimport tint from './tint';\n\nconst scales: number[] = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\n\nexport default (color: string): string | ColorScale => {\n if (matchRegex(color, EXPR_REGEX)) {\n const token = color.replace(/{|}/g, '');\n\n return scales.reduce<ColorScale>((acc, scale) => {\n acc[scale as keyof ColorScale] = `{${token}.${scale}}`;\n\n return acc;\n }, {});\n }\n\n return typeof color === 'string'\n ? scales.reduce<ColorScale>((acc, scale, i) => {\n acc[scale as keyof ColorScale] = i <= 5 ? tint(color, (5 - i) * 19) : shade(color, (i - 5) * 15);\n\n return acc;\n }, {})\n : color;\n};\n","import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#000000', color, percent);\n","import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#ffffff', color, percent);\n","import { resolve } from '@primeuix/utils';\nimport { evaluateDtExpressions, type StyleType } from '..';\nimport { dt } from './dt';\n\nexport function css(strings: TemplateStringsArray | StyleType, ...exprs: unknown[]): string | undefined {\n if (strings instanceof Array) {\n const raw = strings.reduce((acc, str, i) => acc + str + (resolve(exprs[i], { dt }) ?? ''), '');\n\n return evaluateDtExpressions(raw, dt);\n }\n\n return resolve(strings as unknown, { dt }) as string | undefined;\n}\n","import { isEmpty, matchRegex } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { EXPR_REGEX, getVariableValue } from '../utils/index';\n\nexport const $dt = (tokenPath: string): { name: string; variable: string; value: unknown } => {\n const theme = Theme.getTheme();\n\n const variable = dtwt(theme, tokenPath, undefined, 'variable');\n const name = variable?.match(/--[\\w-]+/g)?.[0];\n const value = dtwt(theme, tokenPath, undefined, 'value');\n\n return {\n name,\n variable,\n value\n };\n};\n\nexport const dt = (...args: Parameters<typeof dtwt> extends [unknown, ...infer Rest] ? Rest : never) => {\n return dtwt(Theme.getTheme(), ...args);\n};\n\nexport const dtwt = (theme: any = {}, tokenPath: string, fallback?: string, type?: string) => {\n if (tokenPath) {\n const { variable: VARIABLE, options: OPTIONS } = Theme.defaults || {};\n const { prefix, transform } = theme?.options || OPTIONS || {};\n const token = matchRegex(tokenPath, EXPR_REGEX) ? tokenPath : `{${tokenPath}}`;\n const isStrictTransform = type === 'value' || (isEmpty(type) && transform === 'strict'); // @todo - TRANSFORM: strict | lenient(default)\n\n return isStrictTransform ? Theme.getTokenValue(tokenPath) : getVariableValue(token, undefined, prefix, [VARIABLE.excludedKeyRegex], fallback);\n }\n\n return '';\n};\n","import { mergeKeys } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport const $t = (theme: any = {}) => {\n let { preset: _preset, options: _options } = theme;\n\n return {\n preset(value: any) {\n _preset = _preset ? mergeKeys(_preset, value) : value;\n\n return this;\n },\n options(value: any) {\n _options = _options ? { ..._options, ...value } : value;\n\n return this;\n },\n // features\n primaryPalette(primary: any) {\n const { semantic } = _preset || {};\n\n _preset = { ..._preset, semantic: { ...semantic, primary } };\n\n return this;\n },\n surfacePalette(surface: any) {\n const { semantic } = _preset || {};\n const lightSurface = surface && Object.hasOwn(surface, 'light') ? surface.light : surface;\n const darkSurface = surface && Object.hasOwn(surface, 'dark') ? surface.dark : surface;\n const newColorScheme = {\n colorScheme: {\n light: { ...semantic?.colorScheme?.light, ...(!!lightSurface && { surface: lightSurface }) },\n dark: { ...semantic?.colorScheme?.dark, ...(!!darkSurface && { surface: darkSurface }) }\n }\n };\n\n _preset = { ..._preset, semantic: { ...semantic, ...newColorScheme } };\n\n return this;\n },\n // actions\n define({ useDefaultPreset = false, useDefaultOptions = false } = {}) {\n return {\n preset: useDefaultPreset ? Theme.getPreset() : _preset,\n options: useDefaultOptions ? Theme.getOptions() : _options\n };\n },\n update({ mergePresets = true, mergeOptions = true } = {}) {\n const newTheme = {\n preset: mergePresets ? mergeKeys(Theme.getPreset(), _preset) : _preset,\n options: mergeOptions ? { ...Theme.getOptions(), ..._options } : _options\n };\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n },\n use(options: any) {\n const newTheme = this.define(options);\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n }\n };\n};\n","import { isObject, matchRegex, toKebabCase } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { getRule, getVariableName, getVariableValue, setProperty, toNormalizeVariable, toValue } from '../utils/index';\n\nexport interface toVariableOptions {\n prefix?: string;\n selector?: string;\n excludedKeyRegex?: RegExp;\n}\n\nexport interface toVariableOutput {\n value: string[];\n tokens: string[];\n declarations: string;\n css: string;\n}\n\nexport default function (theme: any, options: toVariableOptions = {}): toVariableOutput {\n const VARIABLE = Theme.defaults.variable;\n const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options;\n\n const tokens: string[] = [];\n const variables: string[] = [];\n\n const stack = [{ node: theme, path: prefix }];\n\n while (stack.length) {\n const { node, path } = stack.pop()!;\n\n for (const key in node) {\n const raw = node[key];\n const val = toValue(raw);\n\n const skipNormalize = matchRegex(key, excludedKeyRegex);\n const variablePath = skipNormalize ? toNormalizeVariable(path) : toNormalizeVariable(path, toKebabCase(key));\n\n if (isObject(val)) {\n stack.push({ node: val, path: variablePath });\n } else {\n const varName = getVariableName(variablePath);\n const varValue = getVariableValue(val, variablePath, prefix, [excludedKeyRegex]);\n\n setProperty(variables, varName, varValue);\n\n let token = variablePath;\n\n if (prefix && token.startsWith(prefix + '-')) {\n token = token.slice(prefix.length + 1);\n }\n\n tokens.push(token.replace(/-/g, '.'));\n }\n }\n }\n\n const declarations = variables.join('');\n\n return {\n value: variables,\n tokens,\n declarations,\n css: getRule(selector, declarations)\n };\n}\n","import ThemeService from '../service/index';\nimport { ThemeUtils } from '../utils/index';\n\nexport default {\n defaults: {\n variable: {\n prefix: 'p',\n selector: ':root,:host',\n excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi\n },\n options: {\n prefix: 'p',\n darkModeSelector: 'system',\n cssLayer: false\n }\n },\n _theme: undefined,\n _layerNames: new Set(),\n _loadedStyleNames: new Set(),\n _loadingStyles: new Set(),\n _tokens: {},\n update(newValues: any = {}) {\n const { theme } = newValues;\n\n if (theme) {\n this._theme = {\n ...theme,\n options: {\n ...this.defaults.options,\n ...theme.options\n }\n };\n this._tokens = ThemeUtils.createTokens(this.preset, this.defaults);\n this.clearLoadedStyleNames();\n }\n },\n get theme(): any {\n return this._theme;\n },\n get preset() {\n return this.theme?.preset || {};\n },\n get options() {\n return this.theme?.options || {};\n },\n get tokens() {\n return this._tokens;\n },\n getTheme() {\n return this.theme;\n },\n setTheme(newValue: any) {\n this.update({ theme: newValue });\n ThemeService.emit('theme:change', newValue);\n },\n getPreset() {\n return this.preset;\n },\n setPreset(newValue: any) {\n this._theme = { ...this.theme, preset: newValue };\n this._tokens = ThemeUtils.createTokens(newValue, this.defaults);\n\n this.clearLoadedStyleNames();\n ThemeService.emit('preset:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getOptions() {\n return this.options;\n },\n setOptions(newValue: any) {\n this._theme = { ...this.theme, options: newValue };\n\n this.clearLoadedStyleNames();\n ThemeService.emit('options:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getLayerNames() {\n return [...this._layerNames];\n },\n setLayerNames(layerName: any) {\n this._layerNames.add(layerName);\n },\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name: string) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name: string) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name: string) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n },\n getTokenValue(tokenPath: string) {\n return ThemeUtils.getTokenValue(this.tokens, tokenPath, this.defaults);\n },\n getCommon(name = '', params: any) {\n return ThemeUtils.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getComponent(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetC(options);\n },\n // @deprecated - use getComponent instead\n getDirective(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetD(options);\n },\n getCustomPreset(name = '', preset: any, selector: string, params: any) {\n const options = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPreset(options);\n },\n getLayerOrderCSS(name = '') {\n return ThemeUtils.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults);\n },\n transformCSS(name = '', css: string, type: string = 'style', mode?: string) {\n return ThemeUtils.transformCSS(name, css, mode, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);\n },\n getCommonStyleSheet(name = '', params: any, props = {}) {\n return ThemeUtils.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getStyleSheet(name: string, params: any, props = {}) {\n return ThemeUtils.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n onStyleMounted(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleUpdated(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleLoaded(event: any, { name }: { name: any }) {\n if (this._loadingStyles.size) {\n this._loadingStyles.delete(name);\n\n ThemeService.emit(`theme:${name}:load`, event); // Exp: ThemeService.emit('theme:panel-style:load', event)\n !this._loadingStyles.size && ThemeService.emit('theme:load');\n }\n }\n};\n","import { $t } from '../helpers/index';\n\nexport default function updatePrimaryPalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().primaryPalette(palette).update().preset as P;\n}\n","import { $t } from '../helpers/index';\n\nexport default function updateSurfacePalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().surfacePalette(palette).update().preset as P;\n}\n","import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function usePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n","import { $t } from '../helpers/index';\n\nexport default function useTheme<T = unknown>(theme: T): T {\n return $t(theme).update({ mergePresets: false }) as T;\n}\n","import { createStyleMarkup, isNotEmpty } from '@primeuix/utils';\n\nexport interface StyleSheetProps {\n attrs?: Record<string, unknown>;\n}\n\nexport interface StyleMeta<E = HTMLStyleElement> {\n name?: string;\n css?: string;\n attrs?: Record<string, unknown>;\n markup?: string;\n element?: E;\n}\n\nclass StyleSheet<E = HTMLStyleElement> {\n _styles: Map<string, StyleMeta<E>>;\n _attrs: Record<string, unknown>;\n constructor({ attrs }: StyleSheetProps = {}) {\n this._styles = new Map();\n this._attrs = attrs || {};\n }\n get(key: string) {\n return this._styles.get(key);\n }\n has(key: string) {\n return this._styles.has(key);\n }\n delete(key: string) {\n this._styles.delete(key);\n }\n clear() {\n this._styles.clear();\n }\n add(key: string, css?: string) {\n if (isNotEmpty(css)) {\n const meta = {\n name: key,\n css,\n attrs: this._attrs,\n markup: createStyleMarkup(css, this._attrs)\n } satisfies StyleMeta<E>;\n\n this._styles.set(key, {\n ...meta,\n element: this.createStyleElement(meta)\n });\n }\n }\n update() {\n // @todo\n }\n getStyles() {\n return this._styles;\n }\n getAllCSS() {\n return [...this._styles.values()].map((style) => style.css).filter(String);\n }\n getAllMarkup() {\n return [...this._styles.values()].map((style) => style.markup).filter(String);\n }\n getAllElements() {\n return [...this._styles.values()].map((style) => style.element);\n }\n /**\n * Used to create a style element.\n *\n * @param {StyleMeta} meta\n * @returns {HTMLStyleElement | undefined}\n */\n // eslint-disable-next-line\n createStyleElement(meta: StyleMeta = {}): E | undefined {\n return undefined;\n }\n}\n\nexport default StyleSheet;\n","import { useProps } from '@primereact/hooks';\nimport type { ThemeProps } from '@primereact/types/core';\nimport { Theme } from '@primeuix/styled';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultThemeProps } from './Theme.props';\n\nexport const ThemeContext = React.createContext<ThemeProps | null>(null);\n\nexport const ThemeProvider = (inProps: ThemeProps = {}) => {\n const { props } = useProps(inProps, defaultThemeProps);\n const { stylesheet, preset, ...rest } = props;\n\n const value = {\n preset,\n stylesheet,\n ...rest\n };\n\n Theme.setTheme({ preset, options: rest });\n\n return <ThemeContext.Provider value={value}>{resolve(inProps.children, value)}</ThemeContext.Provider>;\n};\n","import type { ThemeProps } from '@primereact/types/core';\n\nexport const defaultThemeProps: ThemeProps = {\n preset: undefined,\n prefix: 'p',\n darkModeSelector: 'system',\n cssLayer: false,\n stylesheet: undefined\n};\n","import * as React from 'react';\nimport { ThemeContext } from './Theme.context';\n\nexport function useTheme() {\n const context = React.useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error('Context must be used within a ThemeProvider');\n }\n\n return context;\n}\n","import { LocaleProvider } from '@primereact/core/locale';\nimport { PassThroughProvider } from '@primereact/core/passthrough';\nimport { ThemeProvider } from '@primereact/core/theme';\nimport { useProps } from '@primereact/hooks';\nimport type { PrimeReactProps } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultConfigProps } from './PrimeReact.props';\n\nexport const PrimeReactContext = React.createContext<PrimeReactProps | undefined>(undefined);\n\nexport function PrimeReactProvider(inProps: React.PropsWithChildren<PrimeReactProps> = {}) {\n const { props, attrs } = useProps(inProps, defaultConfigProps);\n\n // states\n const [inputVariant, setInputVariant] = React.useState(props.inputVariant);\n const [defaults, setDefaults] = React.useState(props.defaults);\n const [zIndex, setZIndex] = React.useState(props.zIndex);\n\n const value = {\n inputVariant,\n setInputVariant,\n defaults,\n setDefaults,\n zIndex,\n setZIndex\n };\n\n return (\n <PrimeReactContext.Provider value={value}>\n <LocaleProvider lang={props.locale}>\n <PassThroughProvider value={props.pt} {...props.ptOptions}>\n <ThemeProvider preset={props.theme?.preset} stylesheet={props.stylesheet} {...props.theme?.options}>\n {resolve(attrs.children, value)}\n </ThemeProvider>\n </PassThroughProvider>\n </LocaleProvider>\n </PrimeReactContext.Provider>\n );\n}\n","import { FilterMatchMode } from '@primereact/core/api';\nimport type { PrimeReactProps } from '@primereact/types/core';\n\nexport const defaultConfigProps: PrimeReactProps = {\n csp: { nonce: undefined },\n defaults: undefined,\n filterMatchModeOptions: {\n text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],\n numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],\n date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]\n },\n inputVariant: undefined,\n locale: 'en',\n pt: undefined,\n ptOptions: { mergeSections: true, mergeProps: false },\n ripple: false,\n theme: undefined,\n stylesheet: undefined,\n unstyled: false,\n zIndex: { modal: 1100, overlay: 1000, menu: 1000, tooltip: 1100 }\n};\n","import { LocaleContext } from '@primereact/core/locale';\nimport { PassThroughContext } from '@primereact/core/passthrough';\nimport { ThemeContext } from '@primereact/core/theme';\nimport * as React from 'react';\nimport { PrimeReactContext } from './PrimeReact.context';\n\nexport function usePrimeReact() {\n const config = React.useContext(PrimeReactContext);\n const locale = React.useContext(LocaleContext);\n const passthrough = React.useContext(PassThroughContext);\n const theme = React.useContext(ThemeContext);\n\n if (config === undefined) {\n throw new Error('Context must be used within a PrimeReactProvider');\n }\n\n return {\n config,\n locale,\n passthrough,\n theme\n };\n}\n","import * as React from 'react';\n\nexport const combinedRefs = <I = unknown>(innerRef?: React.Ref<I>, forwardRef?: React.Ref<unknown>) => {\n if (innerRef && forwardRef) {\n if (typeof forwardRef === 'function') {\n forwardRef(innerRef && 'current' in innerRef ? innerRef.current : null);\n } else {\n if ('current' in forwardRef) {\n forwardRef.current = innerRef && 'current' in innerRef ? innerRef.current : null;\n }\n }\n }\n};\n","import { getScrollableParents } from '@primeuix/utils/dom';\n\nexport class ConnectedOverlayScrollHandler {\n private element: HTMLElement | null;\n private listener: (() => void) | null;\n private scrollableParents: Element[] | null = null;\n\n constructor(element: HTMLElement | null, listener: () => void = () => {}) {\n this.element = element;\n this.listener = listener;\n }\n\n bindScrollListener() {\n if (!this.element) return;\n\n this.scrollableParents = getScrollableParents(this.element);\n\n for (let i = 0; i < this.scrollableParents.length; i++) {\n const parent = this.scrollableParents[i];\n\n if (parent && this.listener) {\n parent.addEventListener('scroll', this.listener);\n }\n }\n }\n\n unbindScrollListener() {\n if (this.scrollableParents && this.listener) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n const parent = this.scrollableParents[i];\n\n if (parent) {\n parent.removeEventListener('scroll', this.listener);\n }\n }\n }\n }\n\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\n","import { resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\nfunction createContext<T>(defaultValue?: T, fallback?: () => never | T | undefined) {\n const Context = React.createContext<T | undefined>(defaultValue);\n\n const useContext = () => {\n const context = React.useContext(Context);\n\n if (context === undefined) {\n return fallback?.();\n }\n\n return context;\n };\n\n const Provider = ({ value, children }: { value: T; children: React.ReactNode }) => <Context.Provider value={value}>{resolve(children, value)}</Context.Provider>;\n\n return [Provider, useContext] as const;\n}\n\nexport function createSafeContext<T>(defaultValue?: T, message?: string) {\n return createContext<T>(defaultValue, () => {\n throw new Error(message || 'Context must be used within a Provider');\n });\n}\n\nexport function createOptionalContext<T>(defaultValue?: T) {\n return createContext<T>(defaultValue, () => {\n return defaultValue;\n });\n}\n","export const StyleRegistry = {\n _loadedStyleNames: new Set(),\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name: string) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name: string) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name: string) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n }\n};\n","export * from './combinedRefs';\nexport * from './ConnectedOverlayScrollHandler';\nexport * from './createContext';\nexport * from './styleRegistry';\n\nexport function isValidElement(obj: unknown): obj is React.ReactElement {\n return typeof obj === 'object' && obj !== null && ((obj as React.ExoticComponent).$$typeof === Symbol.for('react.transitional.element') || (obj as React.ExoticComponent).$$typeof === Symbol.for('react.element'));\n}\n","import { usePrimeReact } from '@primereact/core/config';\nimport { combinedRefs } from '@primereact/core/utils';\nimport { useAttrSelector, useId, useProps } from '@primereact/hooks';\nimport type { BaseInstance, BaseSetup, CommonInstance, Instance, useBaseOptions } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * A custom hook for creating a base instance.\n * This hook is used to initialize a base instance with common properties and methods.\n * It handles props, attributes, and provides a setup function for additional configuration.\n * @param name The name of the base instance.\n * @param options The options for the base instance.\n * @returns The base instance.\n */\nexport const useBase = <IProps extends { id?: string; ref?: React.Ref<unknown> }, DProps, Exposes extends Record<PropertyKey, unknown>>(name: string = 'UnknownBase', options: useBaseOptions<IProps, DProps, Exposes>) => {\n const $primereact = usePrimeReact();\n const { inProps, defaultProps, setup } = options || {};\n\n const id = useId(inProps?.id as string | undefined);\n const $attrSelector = useAttrSelector('pc_');\n\n const ref = React.useRef(inProps?.ref ?? null);\n const elementRef = React.useRef<HTMLElement | null>(null);\n\n const base = React.useMemo<BaseInstance<IProps>>(\n () => ({\n ref,\n elementRef,\n id,\n name,\n inProps,\n $attrSelector,\n $primereact\n }),\n [id, inProps, $attrSelector, $primereact]\n );\n\n const computedDefaultProps = React.useMemo<DProps>(() => {\n const globalDefaults = resolve($primereact?.config?.defaults?.[name] || $primereact?.config?.defaults?.[name.toLowerCase()], base) as { props?: DProps } | undefined;\n\n return { ...defaultProps, ...globalDefaults?.props } as DProps;\n }, [defaultProps, $primereact?.config?.defaults?.[name]]);\n\n const { props, attrs } = useProps(inProps, computedDefaultProps);\n\n const common = React.useMemo<CommonInstance<typeof props, IProps>>(\n () => ({\n ...base,\n props,\n attrs\n }),\n [base, props, attrs]\n );\n\n const $computedSetup = resolve(setup as BaseSetup<typeof props, IProps, Exposes>, common) as Exposes;\n\n const instance = React.useMemo<Instance<typeof props, IProps, Record<PropertyKey, unknown>, Exposes>>(\n () => ({\n state: {},\n $computedSetup,\n ...$computedSetup,\n ...common,\n elementRef: ($computedSetup?.elementRef ?? elementRef) as React.RefObject<HTMLElement | null>\n }),\n [$computedSetup, common]\n );\n\n React.useEffect(() => {\n combinedRefs(ref, inProps?.ref);\n }, [ref, inProps?.ref]);\n\n React.useImperativeHandle(ref as React.Ref<Instance<typeof props, IProps, typeof instance.state, Exposes>>, () => instance, [instance]);\n\n return instance;\n};\n","import { isValidElement } from '@primereact/core/utils';\nimport type { ComponentInstance, ComponentProps } from '@primereact/types/core';\nimport { cn, resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * A component wrapper for rendering elements with additional props and attributes.\n * @param inProps The properties to pass to the component.\n * @returns A React element or null if `pIf` is false.\n */\nexport function Component<I extends ComponentInstance = ComponentInstance>(inProps: ComponentProps<I> = {}) {\n const { pIf = true, style, className, as, asChild, instance, ...props } = inProps;\n\n if (pIf === false) return null;\n\n const AsComponent = (as || instance?.props?.as || React.Fragment) as React.ElementType;\n const renderAsChild = asChild || instance?.props?.asChild;\n const isFragment = AsComponent === React.Fragment;\n\n const { ref = instance?.elementRef, children, attrs: inAttrs, ...restAttrs } = props;\n const attrs = { ...inAttrs, ...restAttrs } as React.HTMLAttributes<HTMLElement>;\n // @ts-expect-error: Update resolve to handle attrs correctly\n const content = resolve(children, instance, attrs) as React.ReactNode;\n const styles = resolve(style || instance?.props?.style, instance) as React.CSSProperties | undefined;\n const classNames = resolve(className || instance?.props?.className, instance) as string | undefined;\n\n return renderAsChild || isFragment ? (\n <React.Fragment>{content}</React.Fragment>\n ) : isValidElement(AsComponent) ? (\n resolve(AsComponent, instance)\n ) : (\n <AsComponent {...attrs} ref={ref} style={{ ...attrs.style, ...styles }} className={cn(attrs.className, classNames)}>\n {content}\n </AsComponent>\n );\n}\n\nComponent.displayName = 'PrimeReact.Component';\n","import type { ComponentProps, GlobalComponentProps } from '@primereact/types/core';\nimport { omit } from '@primeuix/utils';\n\nexport const globalProps: GlobalComponentProps = {\n ref: undefined,\n pIf: true,\n style: undefined,\n className: undefined,\n as: undefined,\n asChild: false,\n pt: undefined,\n ptOptions: undefined,\n unstyled: undefined,\n dt: undefined,\n children: undefined\n};\n\nexport const defaultComponentProps: ComponentProps = {\n ...(omit(globalProps, 'pt', 'ptOptions', 'dt', 'styles') as Record<PropertyKey, unknown>),\n instance: undefined,\n attrs: undefined\n};\n","import { useBase } from '@primereact/core/base';\nimport type { InComponentInstance, useBaseOptions, useComponentOptions } from '@primereact/types/core';\nimport * as React from 'react';\nimport { globalProps } from './Component.props';\nimport { useComponentPT } from './useComponentPT';\nimport { useComponentStyle } from './useComponentStyle';\n\n/**\n * A hook for creating a component instance.\n * This hook initializes a component with properties, attributes, and styles, and provides methods for handling pass-through options and styles.\n * It also supports custom setup functions for additional configuration.\n *\n * @param name The name of the component, used for debugging and identification.\n * @param options The options to customize the component instance.\n * @returns The component instance.\n */\nexport function useComponent<IProps, DProps, Exposes extends Record<PropertyKey, unknown>, Styles>(name: string = 'UnknownComponent', options: useComponentOptions<IProps, DProps, Exposes, Styles> = {}) {\n const defaultProps = React.useMemo(() => ({ ...globalProps, ...options.defaultProps }), [options.defaultProps]);\n const baseInstance = useBase(name, {\n inProps: options.inProps,\n defaultProps,\n setup: options.setup\n } as useBaseOptions<IProps & { id?: string; ref?: React.Ref<unknown> }, typeof defaultProps, Exposes>);\n\n const { ref, props } = baseInstance;\n const $params = React.useMemo(() => {\n return {\n instance: baseInstance,\n props: baseInstance.props,\n attrs: baseInstance.attrs,\n state: baseInstance.state\n };\n }, [baseInstance.props, baseInstance.attrs, baseInstance.state]);\n\n const ptx = useComponentPT(baseInstance, $params);\n const stx = useComponentStyle(baseInstance, props.styles || options.styles, $params);\n\n const instance = React.useMemo<InComponentInstance<typeof props, IProps, typeof baseInstance.state, Exposes>>(\n () => ({\n ...baseInstance,\n ...ptx,\n ...stx\n }),\n [baseInstance, ptx, stx]\n );\n\n React.useImperativeHandle(ref as React.Ref<InComponentInstance<typeof props, IProps, typeof baseInstance.state, Exposes>>, () => instance, [instance]);\n\n return instance;\n}\n","import { useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport type { GlobalComponentProps, Instance, PassThroughOptions, useComponentPTReturnType } from '@primereact/types/core';\nimport { mergeProps } from '@primeuix/utils/mergeprops';\nimport { getKeyValue, isArray, isFunction, isNotEmpty, isString, resolve, toFlatCase } from '@primeuix/utils/object';\nimport * as React from 'react';\n\n/**\n * A hook for managing pass-through options for a component.\n *\n * @param instance The instance of the component.\n * @param $params Additional parameters for the hook.\n * @returns An object containing the pass-through options.\n */\nexport function useComponentPT<Props extends GlobalComponentProps, IProps, Params>(instance: Instance<Props, IProps>, $params?: Params): useComponentPTReturnType {\n const { id, name, props, attrs, $primereact, $attrSelector } = instance || {};\n\n // methods\n const _hook = React.useCallback(\n (hookName: string) => {\n const selfHook = _usePT(_getPT(props.pt, name), getKeyValue, `hooks.${hookName}`) as (() => void) | undefined;\n const defaultHook = _useDefaultPT(getKeyValue, `hooks.${hookName}`) as (() => void) | undefined;\n\n selfHook?.();\n defaultHook?.();\n },\n [props.pt, name]\n );\n\n const _mergeProps = React.useCallback(<T extends unknown[], R = Record<PropertyKey, unknown>>(fn: ((...args: T) => R | undefined) | boolean, ...args: T): R => {\n return (isFunction(fn) ? fn(...args) : fn ? mergeProps(...args) : Object.assign({}, ...args)) as R;\n }, []);\n\n const _getPTValue = React.useCallback(\n (obj = {}, key = '', params: Record<string, unknown> = {}, searchInDefaultPT = true) => {\n const searchOut = /./g.test(key) && !!params[key.split('.')[0]];\n // @ts-expect-error - @todo\n const { mergeSections = true, mergeProps: useMergeProps = false } = props?.ptOptions || $primereact.passthrough?.options || {};\n const global = searchInDefaultPT ? (searchOut ? _useGlobalPT(_getPTClassValue, key, params) : _useDefaultPT(_getPTClassValue, key, params)) : undefined;\n const self = searchOut ? undefined : _getPTSelf(obj, _getPTClassValue, key, { ...params, global: global || {} });\n const datasets = _getPTDatasets(key);\n\n return mergeSections || (!mergeSections && self) ? _mergeProps(useMergeProps, global, self, datasets) : { ...self, ...datasets };\n },\n [props.ptOptions, _mergeProps]\n );\n\n const _getPTDatasets = React.useCallback(\n (key = '') => {\n const datasetPrefix = 'data-pc-';\n const isExtended = key === 'root' && isNotEmpty(props?.pt?.['data-pc-section']);\n\n return (\n key !== 'transition' && {\n ...(key === 'root' && {\n [`${datasetPrefix}name`]: toFlatCase((isExtended ? props.pt?.['data-pc-section'] : name) as string),\n ...(isExtended && { [`${datasetPrefix}extend`]: toFlatCase(name!) }),\n [`${$attrSelector}`]: ''\n }),\n [`${datasetPrefix}section`]: toFlatCase(key)\n }\n );\n },\n [props.pt, $attrSelector]\n );\n\n const _getPTClassValue = React.useCallback((obj: Record<string, unknown> = {}, key = '', params?: Record<string, unknown>) => {\n const value = getKeyValue(obj, key, params);\n\n return isString(value) || isArray(value) ? { className: value } : value;\n }, []);\n\n const _getPT = React.useCallback(<Fn extends (...args: unknown[]) => unknown>(pt?: Record<string, unknown>, key = '', fn?: Fn) => {\n const getValue = (value: unknown, checkSameKey = false) => {\n const computedValue = (fn ? fn(value) : value) as Record<string, unknown>;\n const _key = toFlatCase(key);\n const _cKey = toFlatCase(name!);\n\n return ((checkSameKey ? (_key !== _cKey ? computedValue?.[_key] : undefined) : computedValue?.[_key]) ?? computedValue) as Record<string, unknown>;\n };\n\n return pt && Object.hasOwn(pt, '_usept')\n ? {\n _usept: pt['_usept'],\n originalValue: getValue(pt.originalValue),\n value: getValue(pt.value)\n }\n : getValue(pt, true);\n }, []);\n\n const _usePT = React.useCallback(\n <Fn>(pt: Record<string, unknown>, fn: Fn, key: string = '', params?: Record<string, unknown>) => {\n const vfn = (value: unknown) => (fn as (...args: unknown[]) => unknown)(value, key, params);\n\n if (pt && Object.hasOwn(pt, '_usept')) {\n // @ts-expect-error - @todo\n const { mergeSections = true, mergeProps: useMergeProps = false } = (pt['_usept'] || $primereact.passthrough?.options || {}) as PassThroughOptions;\n const originalValue = vfn(pt.originalValue);\n const value = vfn(pt.value);\n\n if (originalValue === undefined && value === undefined) return undefined;\n else if (isString(value)) return value;\n else if (isString(originalValue)) return originalValue;\n\n return mergeSections || (!mergeSections && value) ? _mergeProps(useMergeProps, originalValue, value) : value;\n }\n\n return vfn(pt);\n },\n // @ts-expect-error - @todo\n [$primereact.passthrough?.options, _mergeProps]\n );\n\n // computed values\n // @ts-expect-error - @todo\n const $globalPT = React.useMemo(() => _getPT($primereact?.passthrough?.value, undefined, (value) => resolve(value, instance)), [$primereact?.passthrough?.value]);\n // @ts-expect-error - @todo\n const $defaultPT = React.useMemo(() => _getPT($primereact?.passthrough?.value, undefined, (value) => getKeyValue(value as Record<string, unknown>, name, instance) || resolve(value, instance)), [$primereact?.passthrough?.value]);\n const $attrsPT = React.useMemo(() => {\n return Object.entries(attrs || {})\n .filter(([key]) => key?.startsWith('pt-'))\n .reduce<Record<string, unknown>>((result, [key, value]) => {\n const [, slot, ...rest] = key.split('-');\n\n [slot, rest?.join('-')]?.reduce((currentObj, nestedKey, index, array) => {\n if (!currentObj[nestedKey]) {\n currentObj[nestedKey] = index === array.length - 1 ? value : {};\n }\n\n return currentObj[nestedKey] as Record<string, unknown>;\n }, result);\n\n return result;\n }, {});\n }, [attrs]);\n const $attrsWithoutPT = React.useMemo(() => {\n return Object.entries(attrs || {})\n .filter(([key]) => !key?.startsWith('pt-'))\n .reduce<Record<string, unknown>>((acc, [key, value]) => {\n acc[key] = value;\n\n return acc;\n }, {});\n }, [attrs]);\n\n // helpers\n const _getPTSelf = React.useCallback(\n <Fn>(obj: Record<string, unknown> = {}, fn: Fn, key: string = '', params?: Record<string, unknown>) => {\n return mergeProps(\n _usePT(_getPT(obj, name), fn, key, params), // Exp; <PRComponent pt={{ [passthrough_key]: { [attribute]: value } }}>\n _usePT($attrsPT, fn, key, params) // Exp; <PRComponent pt:[passthrough_key]:[attribute]={value}> or <PRComponent pt:[passthrough_key]={() =>{value}}>\n );\n },\n [$attrsPT]\n );\n\n const _useGlobalPT = React.useCallback(\n <Fn>(fn: Fn, key: string = '', params?: Record<string, unknown>) => {\n return _usePT($globalPT, fn, key, params);\n },\n [$globalPT]\n );\n\n const _useDefaultPT = React.useCallback(\n <Fn>(fn: Fn, key: string, params?: Record<string, unknown>) => {\n return _usePT($defaultPT, fn, key, params);\n },\n [$defaultPT]\n );\n\n // exposed methods\n const ptm = React.useCallback(\n (key = '', params: Record<string, unknown> | undefined = {}) => {\n return _getPTValue(props.pt, key, { ...$params, ...params }) as Record<string, unknown>;\n },\n [props.pt, $params]\n );\n\n const ptmi = React.useCallback(\n (key = '', params: Record<string, unknown> | undefined = {}) => {\n const _attrs = mergeProps($attrsWithoutPT, ptm(key, params)) as Record<string, unknown>;\n\n if (_attrs && Object.hasOwn(_attrs, 'id')) {\n _attrs.id ??= id;\n }\n\n return _attrs as Record<string, unknown>;\n },\n [ptm, id, $attrsWithoutPT]\n );\n\n const ptmo = React.useCallback(\n (obj: Record<string, unknown> = {}, key = '', params: Record<string, unknown> | undefined = {}) => {\n return _getPTValue(obj, key, { ...$params, ...params }, false) as Record<string, unknown>;\n },\n [$params]\n );\n\n // hooks\n useMountEffect(() => _hook('onMounted'));\n useUpdateEffect(() => _hook('onUpdated'));\n useUnmountEffect(() => _hook('onUnmounted'));\n\n return React.useMemo(\n () => ({\n ptm,\n ptmi,\n ptmo\n }),\n [ptm, ptmi, ptmo]\n );\n}\n","import { StyleRegistry } from '@primereact/core/utils';\nimport type { GlobalComponentProps, Instance, useComponentStyleReturnType } from '@primereact/types/core';\nimport { Theme, ThemeService } from '@primeuix/styled';\nimport { cn, getKeyValue } from '@primeuix/utils';\nimport * as React from 'react';\nimport { useComponentStyleHandler } from './useComponentStyleHandler';\n\n/**\n * A hook for managing component styles.\n *\n * @param instance The instance of the component.\n * @param styles The styles to apply to the component.\n * @param $params Additional parameters for the hook.\n * @returns An object containing the component styles.\n */\nexport function useComponentStyle<Props extends GlobalComponentProps, IProps, Styles, Params>(instance: Instance<Props, IProps>, styles?: Styles, $params?: Params): useComponentStyleReturnType {\n const { props = { unstyled: false, dt: undefined }, $primereact, $attrSelector, elementRef } = instance || {};\n const $style = useComponentStyleHandler(styles, elementRef);\n\n // refs\n const scopedStyleRef = React.useRef<HTMLStyleElement | null>(null);\n\n // methods\n const _load = React.useCallback(() => {\n if (!StyleRegistry.isStyleNameLoaded('base')) {\n const { css } = $style.baseStyles || {};\n\n $style.load(css, { name: 'base', ...$styleOptions });\n\n StyleRegistry.setLoadedStyleName('base');\n }\n\n _loadThemeStyles();\n }, [$style]);\n\n const _loadStyles = React.useCallback(() => {\n _load();\n _themeChangeListener(_load);\n }, [_load]);\n\n // computed values\n const $isUnstyled = React.useMemo(() => (props.unstyled !== undefined ? props.unstyled : $primereact?.config?.unstyled), [props, $primereact?.config]);\n const $styleOptions = React.useMemo(() => ({ nonce: $primereact?.config?.csp?.nonce }), [$primereact?.config]);\n\n // helpers\n const _loadCoreStyles = React.useCallback(() => {\n if (!StyleRegistry.isStyleNameLoaded($style?.name) && $style?.name) {\n const name = $style.name === 'global' ? 'base' : $style.name;\n\n $style.loadCSS({ name, ...$styleOptions });\n\n StyleRegistry.setLoadedStyleName($style.name);\n }\n }, [$style, $styleOptions]);\n\n const _loadThemeStyles = React.useCallback(() => {\n if ($isUnstyled || $primereact?.theme === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = $style?.getCommonTheme?.() || {};\n\n $style.load(primitive?.css, { name: 'primitive-variables', ...$styleOptions });\n $style.load(semantic?.css, { name: 'semantic-variables', ...$styleOptions });\n $style.load(global?.css, { name: 'global-variables', ...$styleOptions });\n $style.load($style.baseStyles?.style, { name: 'global-style', ...$styleOptions }, style, true);\n\n Theme.setLoadedStyleName('common');\n }\n\n // component\n if (!Theme.isStyleNameLoaded($style?.name) && $style?.name) {\n const { css, style } = $style?.getComponentTheme?.() || {};\n\n $style.load(css, { name: `${$style.name}-variables`, ...$styleOptions });\n $style.loadStyle({ name: `${$style.name}-style`, ...$styleOptions }, style);\n\n Theme.setLoadedStyleName($style.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n const layerOrder = $style?.getLayerOrderThemeCSS?.();\n\n $style.load(layerOrder, { name: 'layer-order', first: true, ...$styleOptions });\n\n Theme.setLoadedStyleName('layer-order');\n }\n }, [$isUnstyled, $style, $styleOptions]);\n\n const _loadScopedThemeStyles = (preset: unknown) => {\n const { css } = $style?.getPresetTheme?.(preset, `[${$attrSelector}]`) || {};\n const scopedStyle = $style?.load(css, { name: `${$attrSelector}-${$style.name}`, ...$styleOptions });\n\n scopedStyleRef.current = scopedStyle as HTMLStyleElement;\n };\n\n /*const _unloadScopedThemeStyles = () => {\n scopedStyleRef.current?.remove();\n };*/\n\n const _themeChangeListener = React.useCallback((callback = () => {}) => {\n //if (!StyleRegistry.isStyleNameLoaded('base')) {\n //StyleRegistry.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n //}\n }, []);\n\n /*const _removeThemeListeners = () => {\n ThemeService.off('theme:change', _loadCoreStyles);\n ThemeService.off('theme:change', _load);\n ThemeService.off('theme:change', _themeScopedListener);\n };*/\n\n // exposed methods\n const cx = React.useCallback(\n (key = '', params = {}) => {\n return !$isUnstyled ? cn(getKeyValue($style.classes as Record<string, string>, key, { ...$params, context: params })) : undefined;\n },\n [$isUnstyled, instance, $style.classes]\n );\n\n const sx = React.useCallback(\n (key = '', when = true, params = {}) => {\n if (when) {\n const self = getKeyValue($style.inlineStyles as Record<string, React.CSSProperties>, key, { ...$params, context: params }) as React.CSSProperties;\n const base = getKeyValue($style.baseStyles?.inlineStyles as Record<string, React.CSSProperties>, key, { ...$params, context: params }) as React.CSSProperties;\n\n return { ...base, ...self };\n }\n\n return undefined;\n },\n [$style.inlineStyles, $style.baseStyles?.inlineStyles, instance]\n );\n\n // effects\n if (!$isUnstyled) {\n // @todo - remove\n //Theme.clearLoadedStyleNames();\n //StyleRegistry.clearLoadedStyleNames();\n _loadCoreStyles();\n _loadStyles();\n _loadScopedThemeStyles(props.dt);\n }\n\n return React.useMemo(\n () => ({\n cx,\n sx,\n isUnstyled: $isUnstyled,\n $style\n }),\n [cx, sx, $isUnstyled, $style]\n );\n}\n","import { ThemeContext } from '@primereact/core/theme';\nimport type { useStyleLoadOptions } from '@primereact/types/core';\nimport { isClient, isNotEmpty } from '@primeuix/utils';\nimport * as React from 'react';\n\nexport function useStyle() {\n const theme = React.useContext(ThemeContext);\n\n const _load = React.useCallback(\n (loadOptions: useStyleLoadOptions = {}) => {\n const { name, css, element, options = {} } = loadOptions;\n\n if (isClient() && isNotEmpty(css)) {\n let root = element?.getRootNode() as Element | Document | ShadowRoot | null;\n\n if (!root || root === document) root = document.head;\n\n const styleElement = root.querySelector(`style[data-primereact-style-id=\"${name}\"]`) || document.createElement('style');\n\n if (!styleElement.isConnected) {\n // @todo - add attributes and prepend\n if (options?.first) {\n root.prepend(styleElement);\n } else {\n root.appendChild(styleElement);\n }\n\n styleElement.setAttribute('data-primereact-style-id', name || '');\n }\n\n styleElement.textContent = css ?? '';\n\n return styleElement;\n }\n },\n [theme]\n );\n\n const load = React.useCallback(\n (loadOptions: useStyleLoadOptions = {}) => {\n const { name, css } = loadOptions;\n\n if (isNotEmpty(loadOptions.css)) {\n // @todo - implement\n if (name && !theme?.stylesheet?.has(name) && !isClient() && name !== 'layer-order') {\n theme?.stylesheet?.add(name, css);\n }\n\n return _load(loadOptions);\n }\n },\n [theme]\n );\n\n const unload = React.useCallback(() => {\n if (theme?.stylesheet) {\n theme.stylesheet.clear();\n }\n }, [theme]);\n\n React.useInsertionEffect(() => {\n theme?.stylesheet?.getStyles()?.forEach((value, key) => {\n _load({ name: key, css: value?.css });\n });\n\n return () => {\n unload();\n };\n }, [theme]);\n\n return [load, unload];\n}\n\n// @todo - Remove this\n/*function useCSS(cssMap = {}) {\n const { theme } = usePrimeReact();\n\n if (typeof window === 'undefined') {\n Object.entries(cssMap).forEach(([key, value]) => {\n config?.sheet?.add(key, value.css);\n });\n }\n\n React.useInsertionEffect(() => {\n theme.stylesheet?._styles?.forEach((value, key) => {\n const styleElement = document.head.querySelector(`style[data-primereact-style-id=\"${key}\"]`) || document.createElement('style');\n\n if (!styleElement.isConnected) {\n //setAttributes(styleElement, value.styleOptions);\n value.first ? document.head.prepend(styleElement) : document.head.appendChild(styleElement);\n setAttribute(styleElement, 'data-primereact-style-id', key);\n //styleRef.current.onload = (event: React.ReactEventHandler<HTMLStyleElement>) => onStyleLoaded?.(event, { name: styleNameRef.current });\n //onStyleMounted?.(styleNameRef.current);\n }\n\n styleElement.textContent = value.css;\n });\n });\n //return rule;\n}*/\n","export const defaultUseStyleProps = {};\n","import { ThemeContext } from '@primereact/core/theme';\nimport { useStyle } from '@primereact/core/use-style';\nimport type { StylesOptions, StyleType } from '@primereact/types/styles';\nimport { css as Css, dt, Theme } from '@primeuix/styled';\nimport { isNotEmpty, minifyCSS, resolve, toElement } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * A custom hook for managing component styles.\n *\n * @param styles The styles to apply to the component.\n * @param elementRef A reference to the HTML element.\n * @returns An object containing methods to load and manage styles.\n */\nexport function useComponentStyleHandler<Styles>(styles?: Styles, elementRef?: React.Ref<HTMLElement>) {\n const theme = React.useContext(ThemeContext);\n const [load] = useStyle();\n\n const _load = React.useCallback(\n (css?: string, options?: Record<PropertyKey, unknown>) => {\n return load({ name: options?.name as string | undefined, css, element: toElement(elementRef), options });\n },\n [load, elementRef]\n );\n\n return React.useMemo(() => {\n const handler = {\n name: 'base',\n ...(styles as StylesOptions),\n load(style: StyleType = '', options: Record<PropertyKey, unknown> & { name?: string } = {}, extendedStyle = '', enableThemeTransform = false) {\n const name = options.name || handler.name;\n const resolvedStyle = Css`${style}${extendedStyle}` as string;\n const computedStyle = enableThemeTransform ? Theme.transformCSS(name, resolvedStyle) : resolvedStyle;\n\n return isNotEmpty(computedStyle) ? _load(minifyCSS(computedStyle), { name, ...options }) : {};\n },\n loadCSS(options?: Record<PropertyKey, unknown>) {\n return this.load(this.css, options);\n },\n loadStyle(options?: Record<PropertyKey, unknown>, extendedStyle = '') {\n return this.load(this.style, options, extendedStyle, true);\n },\n getCommonTheme(params?: Record<PropertyKey, unknown>) {\n return Theme.getCommon(this.name, params);\n },\n getComponentTheme(params?: Record<PropertyKey, unknown>) {\n return Theme.getComponent(this.name, params);\n },\n // @todo: preset type\n getPresetTheme(preset: unknown, selector: string, params?: Record<PropertyKey, unknown>) {\n return Theme.getCustomPreset(this.name, preset, selector, params);\n },\n getLayerOrderThemeCSS() {\n return Theme.getLayerOrderCSS(this.name);\n },\n getStyleSheet(extendedCSS = '', props = {}) {\n if (this.css) {\n // @ts-expect-error: update dt definition in primeuix/styled\n const _css = resolve(this.css, { dt }) as string;\n const _style = minifyCSS(Css`${_css}${extendedCSS}`);\n const _props = Object.entries(props)\n .reduce<string[]>((acc, [k, v]) => {\n acc.push(`${k}=\"${v}\"`);\n\n return acc;\n }, [])\n .join(' ');\n\n return `<style type=\"text/css\" data-primereact-style-id=\"${this.name}\" ${_props}>${_style}</style>`;\n }\n\n return '';\n },\n getCommonThemeStyleSheet(params?: Record<PropertyKey, unknown>, props: Record<PropertyKey, unknown> = {}) {\n return Theme.getCommonStyleSheet(this.name, params, props);\n },\n getThemeStyleSheet(params?: Record<PropertyKey, unknown>, props: Record<PropertyKey, unknown> = {}) {\n const cssArr = [Theme.getStyleSheet(this.name, params, props)];\n\n if (theme) {\n const _name = this.name === 'base' ? 'global-style' : `${this.name}-style`;\n const _css = Css`${resolve(theme, { dt })}` as string;\n const _style = minifyCSS(Theme.transformCSS(this.name, _css));\n const _props = Object.entries(props)\n .reduce<string[]>((acc, [k, v]) => {\n acc.push(`${k}=\"${v}\"`);\n\n return acc;\n }, [])\n .join(' ');\n\n cssArr.push(`<style type=\"text/css\" data-primereact-style-id=\"${_name}\" ${_props}>${_style}</style>`);\n }\n\n return cssArr.join('');\n }\n };\n\n return handler;\n }, [styles, theme, _load]);\n}\n","import type { ComponentInstance, InComponentInstance, useComponentOptions, withComponentOptions } from '@primereact/types/core';\nimport type { BaseComponentProps } from '@primereact/types/shared';\nimport type { StylesOptions } from '@primereact/types/styles';\nimport { isObject } from '@primeuix/utils';\nimport * as React from 'react';\nimport { useComponent } from './useComponent';\n\n/**\n * A higher-order component for enhancing a component with additional features.\n *\n * @template IProps The interface for the component's input properties.\n * @template DProps The interface for the component's default properties.\n * @template Exposes The interface for the properties that the component exposes.\n * @template Styles The styles options for the component.\n * @template CData Additional data to expose on the component.\n *\n * @param options The options for the component.\n * @param options.name The name of the component, used for debugging and identification.\n * @param options.defaultProps The default properties for the component.\n * @param options.styles The styles to apply to the component.\n * @param options.components Additional components to include in the component.\n * @param options.setup A setup function for additional configuration of the component.\n * @param options.render A render function for the component.\n * @returns A React component wrapped with the specified options.\n */\nexport function withComponent<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) {\n type InProps<I extends ComponentInstance, T extends React.ElementType> = BaseComponentProps<I, IProps, unknown, T> & DProps;\n\n const BaseComponent = <I extends ComponentInstance, T extends React.ElementType>(inProps?: InProps<I, T>) => {\n const instance = useComponent(name, { inProps, defaultProps, styles, setup } as useComponentOptions<InProps<I, T>, DProps, Exposes, Styles>);\n\n type RenderedComponentProps = InComponentInstance<typeof instance.props, InProps<I, T>, typeof instance.state, Exposes>;\n\n const RenderedComponent = (render as React.FC<RenderedComponentProps>) ?? (() => null);\n\n return instance.props.pIf ? <RenderedComponent {...(instance as RenderedComponentProps)} /> : null;\n };\n\n const Component = React.memo(BaseComponent, (prevProps, nextProps) => {\n if (!isObject(prevProps) || !isObject(nextProps)) {\n return false;\n }\n\n // Compare shallow equality for all defaultProps keys\n return prevProps === nextProps && Object.keys(defaultProps || {}).every((key) => (prevProps as Record<string, unknown>)[key] === (nextProps as Record<string, unknown>)[key]);\n }) as unknown as typeof BaseComponent & CData & React.FC;\n\n Component.displayName = `PrimeReact.${name}`;\n Object.entries(components || {}).forEach(([key, value]) => {\n (Component as Record<string, unknown>)[key] = value;\n });\n\n return Component;\n}\n","import { useBase } from '@primereact/core/base';\nimport type { HeadlessInstance, useHeadlessOptions } from '@primereact/types/core';\n\n/**\n * A custom hook for using headless components.\n *\n * @param name The name of the headless component.\n * @param options Options for the headless component.\n * @returns The headless instance.\n */\nexport function useHeadless<IProps, DProps, Exposes extends Record<PropertyKey, unknown>>(name: string = 'UnknownHeadless', options: useHeadlessOptions<IProps, DProps, Exposes> = {}) {\n const baseInstance = useBase(name, options as useHeadlessOptions<IProps & { id?: string; ref?: React.Ref<unknown> }, typeof options.defaultProps & DProps, Exposes>);\n\n return baseInstance as HeadlessInstance<DProps, IProps, Exposes>;\n}\n","import type { withHeadlessOptions } from '@primereact/types/core';\nimport { useHeadless } from './useHeadless';\n\n/**\n * Higher-order component for using headless components.\n *\n * @template IProps The input properties type for the headless component.\n * @template DProps The default properties type for the headless component.\n * @template Exposes The properties that the headless component exposes.\n *\n * @param options The options for the headless component.\n * @param options.name The name of the headless component.\n * @param options.defaultProps The default properties for the headless component.\n * @param options.setup The setup function for the headless component.\n * @returns A function that takes in props and returns the headless instance.\n */\nexport function withHeadless<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>>({ name, defaultProps, setup }: withHeadlessOptions<IProps, DProps, Exposes>) {\n return (inProps?: IProps) => {\n return useHeadless(name, { inProps, defaultProps, setup });\n };\n}\n","import { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultIconProps } from './Icon.props';\nimport { styles } from './Icon.style';\nimport { withIcon } from './withIcon';\n\nexport const Icon = withIcon({\n name: 'Icon',\n styles,\n defaultProps: defaultIconProps,\n render(instance) {\n const { id, props, ptmi, pti, cx, sx } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n style: sx('root'),\n className: cx('root')\n },\n pti?.(),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { IconProps } from '@primereact/types/core';\n\nexport const defaultIconProps: IconProps = {\n as: 'i',\n size: undefined,\n rotate: undefined,\n flip: undefined,\n spin: false\n};\n","import type { StylesOptions } from '@primereact/types/styles';\nimport { $dt } from '@primeuix/styled';\n\nconst css = /*css*/ `\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n font-size: dt('icon.size');\n width: dt('icon.size');\n height: dt('icon.size');\n transform: rotate(dt('icon.rotate'));\n flex-shrink: 0;\n}\n\n.p-icon-flip-horizontal {\n transform: scaleX(-1);\n}\n\n.p-icon-flip-vertical {\n transform: scaleY(-1);\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n`;\n\nexport const styles = {\n name: 'icon',\n css,\n classes: {\n root: ({ props }) => [\n 'p-icon',\n {\n 'p-icon-spin': props.spin,\n 'p-icon-flip-horizontal': props.flip === 'horizontal',\n 'p-icon-flip-vertical': props.flip === 'vertical'\n }\n ]\n },\n inlineStyles: {\n root: ({ props }) => ({\n ...(props.size ? { [$dt('icon.size').name]: props.size } : undefined),\n ...(props.rotate ? { [$dt('icon.rotate').name]: `${props.rotate}deg` } : undefined)\n })\n }\n} as StylesOptions;\n","import { withComponent } from '@primereact/core/component';\nimport type { BaseSetup, IconExposes, withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { useIcon } from './useIcon';\n\n/**\n * Higher-order component for enhancing icon components.\n *\n * @template IProps - The interface for the icon component's props.\n * @template DProps - The interface for the default properties of the icon component.\n * @template Exposes - The interface for the properties exposed by the icon component.\n * @template Styles - The styles options for the icon component.\n * @template CData - The context data for the icon component.\n *\n * @param options - The options for the icon component.\n * @param options.name - The name of the icon component.\n * @param options.defaultProps - The default properties for the icon component.\n * @param options.styles - The styles options for the icon component.\n * @param options.components - The components to be used within the icon component.\n * @param options.setup - The setup function for the icon component.\n * @param options.render - The render function for the icon component.\n * @returns A React component wrapped with the specified options.\n */\nexport function withIcon<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes & IconExposes, Styles, CData>) {\n return withComponent<IProps, DProps, Exposes & IconExposes, Styles, CData>({\n name: `${name ?? 'Unknown'}Icon`,\n defaultProps,\n styles,\n components,\n setup(instance) {\n const icon = useIcon(instance?.inProps);\n const computedSetup = resolve(setup as BaseSetup<typeof instance.props, IProps, Exposes>, instance) as Exposes;\n\n return React.useMemo(\n () => ({\n ...icon,\n ...computedSetup\n }),\n [icon, computedSetup]\n );\n },\n render\n });\n}\n","import { withHeadless } from '@primereact/core/headless';\nimport { isEmpty } from '@primeuix/utils';\n\nexport const useIcon = withHeadless({\n name: 'useIcon',\n setup({ attrs }) {\n const pti = () => {\n const isAriaLabelEmpty = isEmpty(attrs['aria-label']);\n\n return {\n role: !isAriaLabelEmpty ? 'img' : undefined,\n 'aria-hidden': isEmpty(attrs.tabIndex) && isAriaLabelEmpty\n };\n };\n\n return {\n pti\n };\n }\n});\n","import { addClass, getHiddenElementDimensions, removeClass, setCSSProperty } from '@primeuix/utils';\nimport { MotionClassNamesWithPhase, MotionHooksWithPhase, MotionInstance, MotionOptions, MotionPhase, MotionType } from '../../types';\nimport { getMotionHooks, getMotionMetadata, mergeOptions, resolveClassNames, resolveDuration, shouldSkipMotion } from '../utils';\n\nexport const DEFAULT_MOTION_OPTIONS: MotionOptions = {\n name: 'p',\n safe: true,\n enter: true,\n leave: true\n};\n\nexport function createMotion(element: Element, options?: MotionOptions): MotionInstance {\n if (!element) throw new Error('Element is required.');\n\n const opts: MotionOptions = {};\n let skipMotion = false;\n let classNames: MotionClassNamesWithPhase = {} as MotionClassNamesWithPhase;\n let cancelCurrent: (() => void) | null = null;\n let hooks: MotionHooksWithPhase = {};\n\n const init = (newOpts?: MotionOptions) => {\n Object.assign(opts, mergeOptions(newOpts, DEFAULT_MOTION_OPTIONS));\n if (!opts.enter && !opts.leave) throw new Error('Enter or leave must be true.');\n\n hooks = getMotionHooks(opts);\n skipMotion = shouldSkipMotion(opts);\n classNames = resolveClassNames(opts);\n cancelCurrent = null;\n };\n\n const run = async (phase: MotionPhase): Promise<void> => {\n cancelCurrent?.();\n\n const { onBefore, onStart, onAfter, onCancelled } = hooks[phase] || {};\n\n if (skipMotion) {\n onBefore?.(element);\n onStart?.(element);\n onAfter?.(element);\n\n return;\n }\n\n const { from: fromClass, active: activeClass, to: toClass } = classNames[phase] || {};\n\n onBefore?.(element);\n addClass(element, [fromClass, activeClass]);\n\n setCSSProperty(element as HTMLElement, '--pui-motion-height', getHiddenElementDimensions(element as HTMLElement)?.height + 'px');\n //await nextFrame();\n //void element.offsetHeight; // force reflow\n\n removeClass(element, fromClass);\n addClass(element, toClass);\n onStart?.(element);\n\n return new Promise((resolve) => {\n const duration = resolveDuration(opts.duration, phase);\n\n const cleanup = () => {\n removeClass(element, [toClass, activeClass]);\n cancelCurrent = null;\n };\n\n const onDone = () => {\n cleanup();\n onAfter?.(element);\n resolve();\n };\n\n cancelCurrent = () => {\n cleanup();\n onCancelled?.(element);\n resolve();\n };\n\n whenEnd(element, opts.type, duration, onDone);\n });\n };\n\n init(options);\n\n const instance: MotionInstance = {\n enter: () => {\n if (!opts.enter) return Promise.resolve();\n\n return run('enter');\n },\n leave: () => {\n if (!opts.leave) return Promise.resolve();\n\n return run('leave');\n },\n cancel: () => {\n cancelCurrent?.();\n cancelCurrent = null;\n },\n update: (newElement?: Element, newOptions?: MotionOptions) => {\n if (!newElement) throw new Error('Element is required.');\n\n element = newElement as HTMLElement;\n instance.cancel();\n init(newOptions);\n }\n };\n\n if (opts.appear) instance.enter();\n\n return instance;\n}\n\nlet endId = 0;\n\n/**\n * Ported from Vue.js Transition Component;\n * @see https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/components/Transition.ts#L348\n *\n * When the transition is triggered, it waits for the end of the motion (transition or animation)\n * @param element - The element to wait for the motion end.\n * @param expectedType - The expected type of motion (transition or animation).\n * @param explicitTimeout - An optional explicit timeout in milliseconds.\n * @param resolve - A function to call when the motion ends.\n * @returns A timeout ID if an explicit timeout is provided, otherwise undefined.\n */\nfunction whenEnd(element: Element & { _motionEndId?: number }, expectedType: MotionType | undefined, explicitTimeout: number | null, resolve: () => void) {\n const id = (element._motionEndId = ++endId);\n\n const resolveIfNotStale = () => {\n if (id === element._motionEndId) {\n resolve();\n }\n };\n\n if (explicitTimeout != null) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n\n const { type, timeout, count } = getMotionMetadata(element, expectedType);\n\n if (!type) {\n resolve();\n\n return;\n }\n\n const endEvent = type + 'end';\n let ended = 0;\n\n const end = () => {\n element.removeEventListener(endEvent, onEnd, true);\n resolveIfNotStale();\n };\n\n const onEnd = (event: Event) => {\n if (event.target === element && ++ended >= count) {\n end();\n }\n };\n\n element.addEventListener(endEvent, onEnd, { capture: true, once: true });\n setTimeout(() => {\n if (ended < count) {\n end();\n }\n }, timeout + 1);\n}\n","import { isPrefersReducedMotion, toMs } from '@primeuix/utils';\nimport type { MotionClassNamesWithPhase, MotionHooksWithPhase, MotionMetadata, MotionOptions, MotionPhase, MotionType } from '../../types';\n\nexport const ANIMATION = 'animation';\nexport const TRANSITION = 'transition';\n\nexport function shouldSkipMotion(options: MotionOptions | undefined): boolean {\n if (!options) {\n return false;\n }\n\n return !!(options.safe && isPrefersReducedMotion());\n}\n\nexport function mergeOptions(inOptions: MotionOptions | undefined, defaultOptions: MotionOptions): MotionOptions {\n if (!inOptions) {\n return defaultOptions;\n }\n\n return {\n ...inOptions,\n ...(Object.entries(defaultOptions).reduce((acc: Record<string, unknown>, [key, value]) => {\n acc[key] = (inOptions as Record<string, unknown>)[key] ?? value;\n\n return acc;\n }, {}) as MotionOptions)\n };\n}\n\nexport function resolveClassNames(options: MotionOptions | undefined): MotionClassNamesWithPhase {\n const { name, enterClass, leaveClass } = options || {};\n\n return {\n enter: {\n from: enterClass?.from || `${name}-enter-from`,\n to: enterClass?.to || `${name}-enter-to`,\n active: enterClass?.active || `${name}-enter-active`\n },\n leave: {\n from: leaveClass?.from || `${name}-leave-from`,\n to: leaveClass?.to || `${name}-leave-to`,\n active: leaveClass?.active || `${name}-leave-active`\n }\n };\n}\n\nexport function getMotionHooks(options: MotionOptions | undefined): MotionHooksWithPhase {\n return {\n enter: {\n onBefore: options?.onBeforeEnter,\n onStart: options?.onEnter,\n onAfter: options?.onAfterEnter,\n onCancelled: options?.onEnterCancelled\n },\n leave: {\n onBefore: options?.onBeforeLeave,\n onStart: options?.onLeave,\n onAfter: options?.onAfterLeave,\n onCancelled: options?.onLeaveCancelled\n }\n };\n}\n\nexport function getMotionMetadata(element: Element, expectedType?: MotionMetadata['type']): MotionMetadata {\n const styles = window.getComputedStyle(element);\n\n const getDelaysAndDurations = (type: MotionType): [number[], number[]] => {\n const delays = styles[`${type}Delay`];\n const durations = styles[`${type}Duration`];\n\n return [delays.split(', ').map(toMs), durations.split(', ').map(toMs)];\n };\n\n const [transitionDelays, transitionDurations] = getDelaysAndDurations(TRANSITION);\n const [animationDelays, animationDurations] = getDelaysAndDurations(ANIMATION);\n\n const transitionTimeout = Math.max(...transitionDurations.map((d, i) => d + transitionDelays[i]));\n const animationTimeout = Math.max(...animationDurations.map((d, i) => d + animationDelays[i]));\n\n let type: MotionMetadata['type'] = undefined;\n let timeout = 0;\n let count = 0;\n\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n count = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n count = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0 ? (transitionTimeout > animationTimeout ? TRANSITION : ANIMATION) : undefined;\n count = type ? (type === TRANSITION ? transitionDurations.length : animationDurations.length) : 0;\n }\n\n return {\n type,\n timeout,\n count\n };\n}\n\n/**\n * It is useful for deferring execution until the browser has had a chance to render the next frame.\n * @returns A promise that resolves on the next animation frame.\n *\n * @example\n * ```ts\n * await nextFrame();\n * // Code to run after the next animation frame\n * console.log('This runs after the next frame');\n * ```\n */\nexport function nextFrame(): Promise<void> {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(resolve as () => void);\n });\n });\n}\n\n/**\n * Resolves the duration for a given animation phase.\n * @param duration - The duration can be a number or an object with `enter` and `leave` properties.\n * @param phase - The phase of the transition/animation, either 'enter' or 'leave'.\n * @returns The resolved duration in milliseconds or null if not specified.\n */\nexport function resolveDuration(duration: MotionOptions['duration'], phase: MotionPhase): number | null {\n if (typeof duration === 'number') {\n return duration;\n } else if (typeof duration === 'object' && duration[phase] != null) {\n return duration[phase];\n }\n\n return null;\n}\n","import type { StylesOptions } from '@primereact/types/styles';\nimport { style } from '@primeuix/styles/base';\n\nconst css = /*css*/ `\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0;\n pointer-events: none;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: dt('scrollbar.width');\n}\n`;\n\nexport const styles = {\n name: 'base',\n css,\n style,\n classes: {},\n inlineStyles: {}\n} satisfies StylesOptions;\n","import { withComponent as withComponentInCore } from '@primereact/core/component';\nimport { styles as baseStyles } from '@primereact/styles/base';\nimport type { withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\n\nexport const withComponent = <IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles = {\n ...baseStyles,\n name: 'global'\n } as Styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) => {\n return withComponentInCore<IProps, DProps, Exposes, Styles, CData>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n });\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { nextFrame } from '@primeuix/motion';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { MotionProvider } from './Motion.context';\nimport { defaultMotionProps } from './Motion.props';\nimport { useMotion } from './useMotion';\n\nexport const Motion = withComponent({\n name: 'Motion',\n defaultProps: defaultMotionProps,\n setup(instance) {\n const { props } = instance;\n\n const [rendered, setRendered] = React.useState(() => props.in || !props.mountOnEnter);\n const isInitialMount = React.useRef(true);\n const motion = useMotion(props);\n\n React.useEffect(() => {\n if (props.in && !rendered) {\n setRendered(true);\n }\n }, [props.in]);\n\n React.useLayoutEffect(() => {\n const element = motion?.elementRef?.current;\n\n if (!element || !rendered) {\n isInitialMount.current = false;\n\n return;\n }\n\n let cancelled = false;\n const shouldAppear = isInitialMount.current && props.in && props.appear;\n\n element.style.display = '';\n motion.update?.(element, props);\n\n if (props.in) {\n if (shouldAppear || !isInitialMount.current) {\n motion.enter?.();\n }\n } else {\n motion.leave?.()?.then(() => {\n if (!element || cancelled || props.in) return;\n\n if (props.unmountOnLeave) {\n element.style.display = 'none';\n nextFrame().then(() => {\n if (!cancelled) setRendered(false);\n });\n } else {\n element.style.display = 'none';\n }\n });\n }\n\n isInitialMount.current = false;\n\n return () => {\n cancelled = true;\n motion.cancel?.();\n };\n }, [props.in, rendered, props.unmountOnLeave, props.appear]);\n\n React.useEffect(() => {\n return () => {\n isInitialMount.current = true;\n };\n }, []);\n\n return {\n ...motion,\n rendered\n };\n },\n render(instance) {\n const { id, props, ptmi, rendered } = instance;\n\n const rootProps = mergeProps(\n {\n id\n },\n ptmi('root')\n );\n\n return (\n <MotionProvider value={instance}>\n <Component pIf={rendered} instance={instance} attrs={rootProps} children={props.children} />\n </MotionProvider>\n );\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { MotionInstance } from '@primereact/types/shared/motion';\n\nexport const [MotionProvider, useMotionContext] = createOptionalContext<MotionInstance>();\n","import type { useMotionProps } from '@primereact/types/shared/motion';\n\nexport const defaultUseMotionProps: useMotionProps = {\n name: undefined,\n type: undefined,\n safe: false,\n appear: false,\n enter: true,\n leave: true,\n duration: undefined,\n enterFromClassName: undefined,\n enterToClassName: undefined,\n enterActiveClassName: undefined,\n leaveFromClassName: undefined,\n leaveToClassName: undefined,\n leaveActiveClassName: undefined,\n onBeforeEnter: undefined,\n onEnter: undefined,\n onAfterEnter: undefined,\n onEnterCancelled: undefined,\n onBeforeLeave: undefined,\n onLeave: undefined,\n onAfterLeave: undefined,\n onLeaveCancelled: undefined\n};\n","import type { MotionProps } from '@primereact/types/shared/motion';\nimport * as HeadlessMotion from './useMotion.props';\n\nexport const defaultMotionProps: MotionProps = {\n ...HeadlessMotion.defaultUseMotionProps,\n as: 'div',\n in: false,\n mountOnEnter: true,\n unmountOnLeave: true\n};\n","import { withHeadless } from '@primereact/core/headless';\nimport type { useMotionProps } from '@primereact/types/shared/motion';\nimport { createMotion, type MotionInstance, type MotionOptions } from '@primeuix/motion';\nimport * as React from 'react';\nimport { defaultUseMotionProps } from './useMotion.props';\n\nexport const useMotion = withHeadless({\n name: 'useMotion',\n defaultProps: defaultUseMotionProps,\n setup({ props, elementRef }) {\n const motionRef = React.useRef<MotionInstance | null>(null);\n\n // methods\n const enter = React.useCallback(() => motionRef.current?.enter(), [motionRef.current]);\n const leave = React.useCallback(() => motionRef.current?.leave(), [motionRef.current]);\n const cancel = React.useCallback(() => motionRef.current?.cancel(), [motionRef.current]);\n const update = React.useCallback(\n (element: Element, motionProps?: useMotionProps) => {\n const options: MotionOptions = {\n ...motionProps,\n name: motionProps?.name,\n enterClass: {\n from: motionProps?.enterFromClassName,\n to: motionProps?.enterToClassName,\n active: motionProps?.enterActiveClassName\n },\n leaveClass: {\n from: motionProps?.leaveFromClassName,\n to: motionProps?.leaveToClassName,\n active: motionProps?.leaveActiveClassName\n }\n };\n\n if (!motionRef.current) {\n motionRef.current = createMotion(element, options);\n } else {\n motionRef.current?.update(element, options);\n }\n },\n [motionRef.current]\n );\n\n React.useLayoutEffect(() => {\n if (elementRef.current) {\n update(elementRef.current, props);\n }\n }, []);\n\n return {\n motionRef,\n // methods\n enter,\n leave,\n cancel,\n update\n };\n }\n});\n","import { StyleSheet, type StyleMeta, type StyleSheetProps } from '@primeuix/styled';\nimport { isEmpty } from '@primeuix/utils';\nimport * as React from 'react';\n\nexport class PrimeReactStyleSheet extends StyleSheet<React.DetailedHTMLProps<React.StyleHTMLAttributes<HTMLStyleElement>, HTMLStyleElement>> {\n constructor({ attrs }: StyleSheetProps = {}) {\n super({ attrs });\n this._styles.set('layer-order', {});\n }\n has(key: string) {\n if (key === 'layer-order') {\n return this._styles.get(key)?.css !== undefined;\n }\n\n return this._styles.has(key);\n }\n createStyleElement(meta: StyleMeta = {}) {\n const { css, attrs, name } = meta;\n\n if (isEmpty(name)) return undefined;\n\n return (\n <style {...attrs} data-primereact-style-id={name} key={name}>\n {css}\n </style>\n );\n }\n}\n"],"mappings":"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","names":["require_react_production","__commonJSMin","exports","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","ReactNoopUpdateQueue","assign","emptyObject","Component","props","context","updater","partialState","callback","ComponentDummy","PureComponent","pureComponentPrototype","isArrayImpl","noop","ReactSharedInternals","hasOwnProperty","ReactElement","type","key","refProp","cloneAndReplaceKey","oldElement","newKey","isValidElement","object","escape","escaperLookup","match","userProvidedKeyEscapeRegex","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","invokeCallback","c","nextNamePrefix","i","mapChildren","func","result","count","child","lazyInitializer","payload","ctor","moduleObject","reportGlobalError","event","Children","forEachFunc","forEachContext","n","size","fn","config","propName","childArray","defaultValue","childrenLength","render","compare","scope","prevTransition","currentTransition","returnValue","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","value","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","require_react_development","__commonJSMin","exports","module","defineDeprecationWarning","methodName","info","Component","getIteratorFn","maybeIterable","MAYBE_ITERATOR_SYMBOL","warnNoop","publicInstance","callerName","warningKey","didWarnStateUpdateForUnmountedComponent","props","context","updater","emptyObject","ReactNoopUpdateQueue","ComponentDummy","PureComponent","noop","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getComponentNameFromType","type","REACT_CLIENT_REFERENCE","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","x","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","config","hasOwnProperty","getter","defineKeyPropWarningGetter","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","key","owner","debugStack","debugTask","refProp","REACT_ELEMENT_TYPE","cloneAndReplaceKey","oldElement","newKey","validateChildKeys","node","isValidElement","object","escape","escaperLookup","match","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","callback","invokeCallback","childKey","isArrayImpl","userProvidedKeyEscapeRegex","c","i","didWarnAboutMaps","mapChildren","func","result","count","child","lazyInitializer","payload","ioInfo","moduleObject","_ioInfo","_ioInfo2","resolveDispatcher","releaseAsyncTransition","enqueueTask","task","enqueueTaskImpl","requireString","_err","didWarnAboutMessageChannel","channel","aggregateErrors","errors","popActScope","prevActQueue","prevActScopeDepth","actScopeDepth","recursivelyFlushAsyncActWork","returnValue","resolve","reject","queue","flushActQueue","isFlushing","continuation","assign","partialState","deprecatedAPIs","fnName","createTask","callStackForError","didWarnAboutOldJSXRuntime","unknownOwnerDebugStack","unknownOwnerDebugTask","reportGlobalError","event","didWarnNoAwaitAct","queueSeveralMicrotasks","size","forEachFunc","forEachContext","n","didAwaitActCall","error$0","_thrownError","returnValue$jscomp$0","fn","getCurrentStack","a","propName","defaultValue","childrenLength","childArray","_i","refObject","render","elementType","ownName","ctor","lazyType","compare","scope","prevTransition","currentTransition","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","formatterFn","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","require_react","__commonJSMin","exports","module","src_exports","__export","Component","ConnectedOverlayScrollHandler","FilterMatchMode","FilterOperator","Icon","LocaleContext","LocaleProvider","Motion","MotionProvider","PassThroughContext","PassThroughProvider","PrimeReactContext","PrimeReactProvider","PrimeReactStyleSheet","StyleRegistry","ThemeContext","ThemeProvider","combinedRefs","createOptionalContext","createSafeContext","defaultComponentProps","defaultConfigProps","defaultIconProps","defaultLocaleProps","defaultMotionProps","defaultPTProps","defaultThemeProps","defaultUseMotionProps","defaultUseStyleProps","globalProps","isValidElement","styles","useBase","useComponent","useHeadless","useIcon","useLocale","useMotion","useMotionContext","usePassThrough","usePrimeReact","useStyle","useTheme","withComponent","withHeadless","withIcon","FilterMatchMode","FilterOperator","React","useAttrSelector","prefix","id","cn","args","classes","i","className","type","_classes","key","value","c","hasClass","element","className","addClass","fn","_className","_classNames","removeClass","element","className","fn","_className","_classNames","getHiddenElementDimensions","element","dimensions","visibility","display","getParentNode","element","parent","isElement","element","toElement","target","createStyleMarkup","css","attributes","s","k","v","findSingle","element","selector","isElement","getParents","element","parents","parent","getParentNode","getScrollableParents","element","scrollableParents","parents","getParents","overflowRegex","overflowCheck","node","styleDeclaration","e","parent","scrollSelectors","selectors","selector","el","findSingle","isClient","isPrefersReducedMotion","setCSSProperty","element","property","value","priority","_a","EventBus","allHandlers","type","handler","handlers","evt","isFunction","value","mergeProps","props","merged","ps","key","__spreadValues","fn","args","isEmpty","value","isFunction","value","isNotEmpty","isEmpty","isObject","value","empty","resolve","obj","params","isFunction","isString","value","empty","toFlatCase","str","getKeyValue","key","fKeys","fKey","isObject","matchedKey","k","isArray","value","empty","isNumber","value","isNotEmpty","matchRegex","str","regex","match","minifyCSS","css","omit","obj","keys","isObject","copy","__spreadValues","key","toKebabCase","str","isString","c","i","toMs","value","React","React","React","React","useId","initialValue","idx","idState","setIdState","React","React","React","useMountEffect","effect","mounted","React","React","useProps","props1","props2","result","__spreadValues","key","value","React","React","useUnmountEffect","effect","React","useUpdateEffect","effect","dependencies","mounted","React","React","defaultLocaleProps","LocaleContext","LocaleProvider","inProps","attrs","useProps","defaultLocaleProps","value","m","React","useLocale","context","LocaleContext","React","defaultPTProps","PassThroughContext","PassThroughProvider","inProps","props","attrs","useProps","defaultPTProps","_a","value","rest","__objRest","pt","m","React","usePassThrough","context","PassThroughContext","ThemeService","EventBus","service_default","EXPR_REGEX","CALC_REGEX","VAR_REGEX","toTokenKey","str","isString","c","i","toValue","value","isObject","toNormalizePrefix","prefix","toNormalizeVariable","variable","isString","getVariableName","hasOddBraces","str","openBraces","closeBraces","getVariableValue","value","excludedKeyRegexes","fallback","val","matchRegex","EXPR_REGEX","_val","v","keys","_v","_r","toKebabCase","isNotEmpty","VAR_REGEX","CALC_REGEX","isNumber","setProperty","properties","key","value","isString","getRule","selector","evaluateDtExpressions","input","fn","fastParseArgs","str","args","i","current","quote","depth","c","arg","parseArg","q","num","indices","stack","start","end","inner","resolved","$dt","tokenPath","_a","theme","config_default","variable","dtwt","name","value","dt","args","fallback","type","VARIABLE","OPTIONS","prefix","transform","token","matchRegex","EXPR_REGEX","isEmpty","getVariableValue","css","strings","exprs","raw","acc","str","i","resolve","evaluateDtExpressions","toVariables_default","theme","options","VARIABLE","config_default","prefix","selector","excludedKeyRegex","tokens","variables","stack","node","path","key","raw","val","toValue","variablePath","matchRegex","toNormalizeVariable","toKebabCase","isObject","varName","getVariableName","varValue","getVariableValue","setProperty","token","declarations","getRule","themeUtils_default","value","rules","k","r","v","_a","rr","name","params","set","defaults","_e","_f","_g","_h","_i","_j","_k","preset","primitive_css","primitive_tokens","semantic_css","semantic_tokens","global_css","global_tokens","style","isNotEmpty","primitive","semantic","extend","colorScheme","sRest","__objRest","_b","eColorScheme","eRest","_c","dark","csRest","_d","eDark","ecsRest","prim_var","sRest_var","csRest_var","csDark_var","eRest_var","ecsRest_var","ecsDark_var","prim_css","prim_tokens","sRest_css","sRest_tokens","csRest_css","csRest_tokens","csDark_css","csDark_tokens","eRest_css","eRest_tokens","ecsRest_css","ecsRest_tokens","ecsDark_css","ecsDark_tokens","semantic_light_css","semantic_dark_css","global_light_css","global_dark_css","resolve","dt","p_css","p_tokens","p_style","_name","css","vRest","evRest","ecsDark","vRest_var","__spreadValues","vRest_css","vRest_tokens","light_variable_css","dark_variable_css","cPreset","dName","dPreset","cssLayer","props","common","_props","acc","_css","minifyCSS","id","preset_css","obj","parentKey","parentPath","computedFn","tokenPathMap","computedValue","EXPR_REGEX","_val","refPath","refToken","computed","CALC_REGEX","VAR_REGEX","isEmpty","traverse","currentKey","toTokenKey","currentPath","i","p","str","s","computedValues","cs","rest","selector1","selector2","type","mode","colorSchemeOption","_selector","layerOptions","newValues","__spreadProps","newValue","service_default","layerName","tokenPath","event","StyleSheet","attrs","key","css","isNotEmpty","meta","createStyleMarkup","__spreadProps","__spreadValues","style","stylesheet_default","React","defaultThemeProps","ThemeContext","ThemeProvider","inProps","props","useProps","defaultThemeProps","_a","stylesheet","preset","rest","__objRest","value","__spreadValues","S","m","React","useTheme","context","ThemeContext","React","defaultConfigProps","FilterMatchMode","PrimeReactContext","PrimeReactProvider","inProps","_a","_b","props","attrs","useProps","defaultConfigProps","inputVariant","setInputVariant","defaults","setDefaults","zIndex","setZIndex","value","LocaleProvider","PassThroughProvider","__spreadValues","ThemeProvider","m","React","usePrimeReact","config","PrimeReactContext","locale","LocaleContext","passthrough","PassThroughContext","theme","ThemeContext","combinedRefs","innerRef","forwardRef","ConnectedOverlayScrollHandler","element","listener","At","i","parent","React","createContext","defaultValue","fallback","Context","value","children","m","context","createSafeContext","message","createOptionalContext","StyleRegistry","name","isValidElement","obj","React","useBase","name","options","_a","_b","_c","$primereact","usePrimeReact","inProps","defaultProps","setup","id","useId","$attrSelector","useAttrSelector","ref","elementRef","base","computedDefaultProps","_d","globalDefaults","m","__spreadValues","props","attrs","useProps","common","__spreadProps","$computedSetup","instance","combinedRefs","React","Component","inProps","_b","_c","_e","_f","_a","pIf","style","className","as","asChild","instance","props","__objRest","AsComponent","renderAsChild","isFragment","_d","ref","children","inAttrs","restAttrs","attrs","__spreadValues","content","m","styles","classNames","isValidElement","__spreadProps","f","globalProps","defaultComponentProps","__spreadProps","__spreadValues","H","React","React","useComponentPT","instance","$params","_a","_b","_c","id","name","props","attrs","$primereact","$attrSelector","_hook","hookName","selfHook","_usePT","_getPT","F","defaultHook","_useDefaultPT","_mergeProps","fn","args","l","N","_getPTValue","obj","key","params","searchInDefaultPT","searchOut","mergeSections","useMergeProps","global","_useGlobalPT","_getPTClassValue","self","_getPTSelf","__spreadProps","__spreadValues","datasets","_getPTDatasets","datasetPrefix","isExtended","s","g","value","p","b","pt","getValue","checkSameKey","computedValue","_key","_cKey","vfn","originalValue","$globalPT","m","$defaultPT","$attrsPT","result","slot","rest","currentObj","nestedKey","index","array","$attrsWithoutPT","acc","ptm","ptmi","_attrs","ptmo","useMountEffect","useUpdateEffect","useUnmountEffect","React","React","useStyle","theme","ThemeContext","_load","loadOptions","name","css","element","options","tt","s","root","styleElement","load","_a","_b","unload","value","key","defaultUseStyleProps","React","useComponentStyleHandler","styles","elementRef","theme","ThemeContext","load","useStyle","_load","css","options","H","handler","__spreadProps","__spreadValues","style","extendedStyle","enableThemeTransform","name","resolvedStyle","ar","computedStyle","S","s","G","params","preset","selector","extendedCSS","props","_css","m","E","_style","_props","acc","k","v","cssArr","_name","useComponentStyle","instance","styles","$params","_a","props","$primereact","$attrSelector","elementRef","$style","useComponentStyleHandler","scopedStyleRef","_load","StyleRegistry","css","__spreadValues","$styleOptions","_loadThemeStyles","_loadStyles","_themeChangeListener","$isUnstyled","_b","_loadCoreStyles","name","_c","_d","S","primitive","semantic","global","style","layerOrder","_loadScopedThemeStyles","preset","scopedStyle","callback","N","cx","key","params","f","F","__spreadProps","sx","when","self","base","useComponent","name","options","defaultProps","__spreadValues","globalProps","baseInstance","useBase","ref","props","$params","ptx","useComponentPT","stx","useComponentStyle","instance","React","withComponent","name","defaultProps","styles","components","setup","render","Component","inProps","instance","useComponent","RenderedComponent","__spreadValues","prevProps","nextProps","i","key","value","useHeadless","name","options","useBase","withHeadless","name","defaultProps","setup","inProps","useHeadless","React","defaultIconProps","css","styles","props","__spreadValues","rr","React","useIcon","withHeadless","attrs","isAriaLabelEmpty","a","withIcon","name","defaultProps","styles","components","setup","render","withComponent","instance","icon","useIcon","computedSetup","m","__spreadValues","Icon","withIcon","styles","defaultIconProps","instance","id","props","ptmi","pti","cx","sx","rootProps","N","Component","ANIMATION","TRANSITION","shouldSkipMotion","options","isPrefersReducedMotion","mergeOptions","inOptions","defaultOptions","__spreadValues","acc","key","value","_a","resolveClassNames","name","enterClass","leaveClass","getMotionHooks","getMotionMetadata","element","expectedType","styles","getDelaysAndDurations","type","delays","durations","toMs","transitionDelays","transitionDurations","animationDelays","animationDurations","transitionTimeout","d","i","animationTimeout","timeout","count","nextFrame","resolve","resolveDuration","duration","phase","DEFAULT_MOTION_OPTIONS","createMotion","opts","skipMotion","classNames","cancelCurrent","hooks","init","newOpts","run","__async","onBefore","onStart","onAfter","onCancelled","fromClass","activeClass","toClass","addClass","setCSSProperty","getHiddenElementDimensions","removeClass","cleanup","onDone","whenEnd","instance","newElement","newOptions","endId","explicitTimeout","id","resolveIfNotStale","endEvent","ended","end","onEnd","event","css","styles","style","withComponent","name","defaultProps","styles","__spreadProps","__spreadValues","components","setup","render","React","MotionProvider","useMotionContext","createOptionalContext","defaultUseMotionProps","defaultMotionProps","__spreadProps","__spreadValues","defaultUseMotionProps","React","useMotion","withHeadless","defaultUseMotionProps","props","elementRef","motionRef","enter","_a","leave","cancel","update","element","motionProps","options","__spreadProps","__spreadValues","tt","Motion","withComponent","defaultMotionProps","instance","props","rendered","setRendered","isInitialMount","motion","useMotion","_a","_b","_c","_d","_e","element","cancelled","shouldAppear","Q","__spreadProps","__spreadValues","id","ptmi","rootProps","N","MotionProvider","Component","React","PrimeReactStyleSheet","Nt","attrs","key","_a","meta","css","name","a","__spreadProps","__spreadValues"]}
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.production.js","../../../../node_modules/.pnpm/react@19.2.0/node_modules/react/cjs/react.development.js","../../../../node_modules/.pnpm/react@19.2.0/node_modules/react/index.js","../../src/index.ts","../../src/api/FilterMatchMode.ts","../../src/api/FilterOperator.ts","../../../hooks/src/use-attr-selector/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/classnames/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/hasClass.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/addClass.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/calculateBodyScrollbarWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/helpers/blockBodyScroll.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/helpers/saveAs.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/helpers/exportCSV.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/removeClass.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/helpers/unblockBodyScroll.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getCSSVariableByRegex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getHiddenElementDimensions.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getViewport.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getScrollLeft.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getWindowScrollLeft.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getWindowScrollTop.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isRTL.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/absolutePosition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/addStyle.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getOuterWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/relativePosition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/alignOverlay.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getParentNode.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isExist.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/toElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getTargetElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/appendChild.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/calculateScrollbarHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/calculateScrollbarWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/clearSelection.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/setAttributes.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/createElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/createStyleMarkup.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/createStyleAsString.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/createStyleElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/createStyleTag.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/fadeIn.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/fadeOut.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/find.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/findSingle.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/focus.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getAttribute.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/resolveUserAgent.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getBrowser.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getBrowserLanguage.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getCSSProperty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getCursorOffset.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getFocusableElements.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getFirstFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getHiddenElementOuterHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getHiddenElementOuterWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getIndex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getInnerWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getLastFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getNextElementSibling.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getNextFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getOffset.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getOuterHeight.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getParents.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getPreviousElementSibling.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getScrollableParents.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getSelection.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getUserAgent.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/getWidth.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/hasCSSAnimation.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/hasCSSTransition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/invokeElementMethod.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isAndroid.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isAttributeEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isAttributeNotEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isClickable.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isClient.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isFocusableElement.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isVisible.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isHidden.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isIOS.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isPrefersReducedMotion.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isServer.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/isTouchDevice.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/nestedPosition.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/nextFrame.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/remove.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/removeChild.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/removeStyleTag.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/scrollInView.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/setAttribute.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/dom/methods/setCSSProperty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/eventbus/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/classnames/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isFunction.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/mergeprops/index.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isEmpty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/compare.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/deepEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isFunction.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isNotEmpty.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/resolveFieldData.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/equals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/contains.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isObject.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/deepMerge.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/filter.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/findIndexInList.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/findLast.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/findLastIndex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/resolve.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isString.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toFlatCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/getKeyValue.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/insertIntoOrderedArray.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isArray.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isDate.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isLetter.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isNumber.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isPrintableCharacter.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/isScalar.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/localeComparator.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/matchRegex.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/mergeKeys.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/minifyCSS.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/nestedKeys.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/omit.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/removeAccents.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/reorderArray.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/shallowEqualProps.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/shallowEquals.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/sort.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/stringify.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toCamelCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toCapitalCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toKebabCase.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toMs.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toTokenKey.ts","../../../../node_modules/.pnpm/@primeuix+utils@0.6.3/node_modules/@primeuix/utils/src/object/methods/toValue.ts","../../../hooks/src/use-controlled-state/index.ts","../../../hooks/src/use-event-listener/index.ts","../../../hooks/src/use-previous/index.ts","../../../hooks/src/use-id/index.ts","../../../hooks/src/use-mask/index.ts","../../../hooks/src/use-match-media/index.ts","../../../hooks/src/use-mount-effect/index.ts","../../../hooks/src/use-presence/index.ts","../../../hooks/src/use-props/index.ts","../../../hooks/src/use-scrolltop/index.ts","../../../hooks/src/use-unmount-effect/index.ts","../../../hooks/src/use-update-effect/index.ts","../../../hooks/src/use-view-transition/index.ts","../../../hooks/src/use-visibility-change/index.ts","../../src/locale/Locale.context.tsx","../../src/locale/Locale.props.ts","../../src/locale/useLocale.ts","../../src/passthrough/PassThrough.context.tsx","../../src/passthrough/PassThrough.props.ts","../../src/passthrough/usePassThrough.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/definePreset.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/updatePreset.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/service/index.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/utils/sharedUtils.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/utils/themeUtils.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/mix.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/palette.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/shade.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/color/tint.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/css.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/dt.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/t.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/helpers/toVariables.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/config/index.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/updatePrimaryPalette.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/updateSurfacePalette.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/usePreset.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/actions/useTheme.ts","../../../../node_modules/.pnpm/@primeuix+styled@0.7.4/node_modules/@primeuix/styled/src/stylesheet/index.ts","../../src/theme/Theme.context.tsx","../../src/theme/Theme.props.ts","../../src/theme/useTheme.ts","../../src/config/PrimeReact.context.tsx","../../src/config/PrimeReact.props.ts","../../src/config/usePrimeReact.ts","../../src/utils/combinedRefs.ts","../../src/utils/ConnectedOverlayScrollHandler.ts","../../src/utils/createContext.tsx","../../src/utils/styleRegistry.ts","../../src/utils/index.ts","../../src/base/useBase.ts","../../src/component/Component.tsx","../../src/component/Component.props.ts","../../src/component/useComponent.ts","../../src/component/useComponentPT.ts","../../src/component/useComponentStyle.ts","../../src/use-style/useStyle.ts","../../src/use-style/useStyle.props.ts","../../src/component/useComponentStyleHandler.ts","../../src/component/withComponent.tsx","../../src/headless/useHeadless.ts","../../src/headless/withHeadless.ts","../../src/icon/Icon.tsx","../../src/icon/Icon.props.ts","../../src/icon/Icon.style.ts","../../src/icon/withIcon.tsx","../../src/icon/useIcon.ts","../../../styles/src/base/Base.style.ts","../../../primereact/src/base/index.ts","../../src/motion/Motion.tsx","../../src/motion/Motion.context.ts","../../src/motion/useMotion.props.ts","../../src/motion/Motion.props.ts","../../../../node_modules/.pnpm/@primeuix+motion@0.0.10/node_modules/@primeuix/motion/src/config/index.ts","../../../../node_modules/.pnpm/@primeuix+motion@0.0.10/node_modules/@primeuix/motion/src/utils/index.ts","../../src/motion/useMotion.ts","../../src/stylesheet/PrimeReactStyleSheet.tsx"],"sourcesContent":["/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.0\";\n","/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n oldElement.props,\n oldElement._owner,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ioInfo = payload._ioInfo;\n null != ioInfo && (ioInfo.start = ioInfo.end = performance.now());\n ioInfo = payload._result;\n var thenable = ioInfo();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 1;\n payload._result = moduleObject;\n var _ioInfo = payload._ioInfo;\n null != _ioInfo && (_ioInfo.end = performance.now());\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n }\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 2;\n payload._result = error;\n var _ioInfo2 = payload._ioInfo;\n null != _ioInfo2 && (_ioInfo2.end = performance.now());\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n }\n );\n ioInfo = payload._ioInfo;\n if (null != ioInfo) {\n ioInfo.value = thenable;\n var displayName = thenable.displayName;\n \"string\" === typeof displayName && (ioInfo.name = displayName);\n }\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status)\n return (\n (ioInfo = payload._result),\n void 0 === ioInfo &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ioInfo\n ),\n \"default\" in ioInfo ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ioInfo\n ),\n ioInfo.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function releaseAsyncTransition() {\n ReactSharedInternals.asyncTransitions--;\n }\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n };\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n asyncTransitions: 0,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n var fnName = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = fnName;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function () {\n return null;\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n props,\n owner,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n validateChildKeys(arguments[key]);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++)\n validateChildKeys(arguments[i]);\n i = {};\n var key = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n key &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return ReactElement(\n type,\n key,\n i,\n getOwner(),\n propName ? Error(\"react-stack-top-frame\") : unknownOwnerDebugStack,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n ctor = { _status: -1, _result: ctor };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: ctor,\n _init: lazyInitializer\n },\n ioInfo = {\n name: \"lazy\",\n start: -1,\n end: -1,\n value: null,\n owner: null,\n debugStack: Error(\"react-stack-top-frame\"),\n debugTask: console.createTask ? console.createTask(\"lazy()\") : null\n };\n ctor._ioInfo = ioInfo;\n lazyType._debugInfo = [{ awaited: ioInfo }];\n return lazyType;\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition._updatedFibers = new Set();\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n (ReactSharedInternals.asyncTransitions++,\n returnValue.then(releaseAsyncTransition, releaseAsyncTransition),\n returnValue.then(noop, reportGlobalError));\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (null !== prevTransition.types &&\n prevTransition.types !== currentTransition.types &&\n console.error(\n \"We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.\"\n ),\n (prevTransition.types = currentTransition.types)),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useEffectEvent = function (callback) {\n return resolveDispatcher().useEffectEvent(callback);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.2.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/***************** PrimeReact Core (Auto-Generated) *****************/\n\nexport * from '@primereact/core/api';\nexport * from '@primereact/core/base';\nexport * from '@primereact/core/component';\nexport * from '@primereact/core/config';\nexport * from '@primereact/core/headless';\nexport * from '@primereact/core/icon';\nexport * from '@primereact/core/locale';\nexport * from '@primereact/core/motion';\nexport * from '@primereact/core/passthrough';\nexport * from '@primereact/core/stylesheet';\nexport * from '@primereact/core/theme';\nexport * from '@primereact/core/use-style';\nexport * from '@primereact/core/utils';\n","export const FilterMatchMode = Object.freeze({\n STARTS_WITH: 'startsWith',\n CONTAINS: 'contains',\n NOT_CONTAINS: 'notContains',\n ENDS_WITH: 'endsWith',\n EQUALS: 'equals',\n NOT_EQUALS: 'notEquals',\n IN: 'in',\n LESS_THAN: 'lt',\n LESS_THAN_OR_EQUAL_TO: 'lte',\n GREATER_THAN: 'gt',\n GREATER_THAN_OR_EQUAL_TO: 'gte',\n BETWEEN: 'between',\n DATE_IS: 'dateIs',\n DATE_IS_NOT: 'dateIsNot',\n DATE_BEFORE: 'dateBefore',\n DATE_AFTER: 'dateAfter',\n CUSTOM: 'custom'\n} as const);\n\nexport declare type FilterMatchModeType = (typeof FilterMatchMode)[keyof typeof FilterMatchMode];\n","export const FilterOperator = Object.freeze({ AND: 'and', OR: 'or' });\n\nexport declare type FilterOperatorType = (typeof FilterOperator)[keyof typeof FilterOperator];\n","import * as React from 'react';\n\n/**\n * Generates a unique attribute selector based on the provided prefix.\n *\n * @param prefix - The prefix to prepend to the generated selector.\n * @returns A unique string combining the prefix and the selector.\n *\n * @example\n * ```ts\n * const selector = useAttrSelector('foo');\n * console.log(selector); // e.g., 'foo0'\n * ```\n */\nexport function useAttrSelector(prefix: string = ''): string {\n const id = React.useId();\n\n return React.useMemo(() => `${prefix}${id.replaceAll(/:|«|»/g, '')}`.trim().toLowerCase(), [id, prefix]);\n}\n","export function cn(...args: any[]): string | undefined {\n if (args) {\n let classes: any = [];\n\n for (let i = 0; i < args.length; i++) {\n const className = args[i];\n\n if (!className) {\n continue;\n }\n\n const type = typeof className;\n\n if (type === 'string' || type === 'number') {\n classes.push(className);\n } else if (type === 'object') {\n const _classes = Array.isArray(className) ? [cn(...className)] : Object.entries(className).map(([key, value]) => (value ? key : undefined));\n\n classes = _classes.length ? classes.concat(_classes.filter((c) => !!c)) : classes;\n }\n }\n\n return classes.join(' ').trim();\n }\n\n return undefined;\n}\n\n/**\n * @deprecated Use `cn` instead.\n * @param args\n * @returns\n */\nexport function classNames(...args: any[]): string | undefined {\n return cn(...args);\n}\n","export default function hasClass(element: Element, className: string): boolean {\n if (element) {\n if (element.classList) return element.classList.contains(className);\n else return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n\n return false;\n}\n","import hasClass from './hasClass';\n\nexport default function addClass(element: Element, className: string | undefined | null | (string | undefined | null)[]): void {\n if (element && className) {\n const fn = (_className: string) => {\n if (!hasClass(element, _className)) {\n if (element.classList) element.classList.add(_className);\n else element.className += ' ' + _className;\n }\n };\n\n [className]\n .flat()\n .filter(Boolean)\n .forEach((_classNames) => (_classNames as string).split(' ').forEach(fn));\n }\n}\n","export default function calculateBodyScrollbarWidth(): number {\n return window.innerWidth - document.documentElement.offsetWidth;\n}\n","import addClass from '../methods/addClass';\nimport calculateBodyScrollbarWidth from '../methods/calculateBodyScrollbarWidth';\n\nexport interface BlockBodyScrollOptions {\n className?: string;\n variableName?: string;\n}\n\nexport default function blockBodyScroll(option: string | BlockBodyScrollOptions | undefined): void {\n if (typeof option === 'string') {\n addClass(document.body, option || 'p-overflow-hidden');\n } else {\n option?.variableName && document.body.style.setProperty(option.variableName, calculateBodyScrollbarWidth() + 'px');\n addClass(document.body, option?.className || 'p-overflow-hidden');\n }\n}\n","export default function saveAs(file: { name: string; src: string }): boolean {\n if (file) {\n const link = document.createElement('a');\n\n if (link.download !== undefined) {\n const { name, src } = file;\n\n link.setAttribute('href', src);\n link.setAttribute('download', name);\n link.style.display = 'none';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n return true;\n }\n }\n\n return false;\n}\n","import saveAs from './saveAs';\n\nexport default function exportCSV(csv: any, filename: string): void {\n const blob = new Blob([csv], {\n type: 'application/csv;charset=utf-8;'\n });\n\n if ((window.navigator as any).msSaveOrOpenBlob) {\n (navigator as any).msSaveOrOpenBlob(blob, filename + '.csv');\n } else {\n const isDownloaded = saveAs({ name: filename + '.csv', src: URL.createObjectURL(blob) });\n\n if (!isDownloaded) {\n csv = 'data:text/csv;charset=utf-8,' + csv;\n window.open(encodeURI(csv));\n }\n }\n}\n","export default function removeClass(element: Element, className: string | undefined | null | (string | undefined | null)[]): void {\n if (element && className) {\n const fn = (_className: string) => {\n if (element.classList) element.classList.remove(_className);\n else element.className = element.className.replace(new RegExp('(^|\\\\b)' + _className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n };\n\n [className]\n .flat()\n .filter(Boolean)\n .forEach((_classNames) => (_classNames as string).split(' ').forEach(fn));\n }\n}\n","import removeClass from '../methods/removeClass';\n\nexport interface UnblockBodyScrollOptions {\n className?: string;\n variableName?: string;\n}\n\nexport default function unblockBodyScroll(option: string | UnblockBodyScrollOptions | undefined): void {\n if (typeof option === 'string') {\n removeClass(document.body, option || 'p-overflow-hidden');\n } else {\n if (option?.variableName) document.body.style.removeProperty(option.variableName);\n removeClass(document.body, option?.className || 'p-overflow-hidden');\n }\n}\n","export default function getCSSVariableByRegex(variableRegex: RegExp): { name: string | undefined; value: string | undefined } | null {\n for (const sheet of document?.styleSheets) {\n try {\n for (const rule of sheet?.cssRules) {\n for (const property of (rule as CSSStyleRule)?.style) {\n if (variableRegex.test(property)) {\n return { name: property, value: (rule as CSSStyleRule).style.getPropertyValue(property).trim() };\n }\n }\n }\n } catch {}\n }\n\n return null;\n}\n","export default function getHiddenElementDimensions(element?: HTMLElement): { width: number; height: number } {\n const dimensions: { width: number; height: number } = { width: 0, height: 0 };\n\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n const rect = element.getBoundingClientRect();\n\n // Temporarily hide the element to get its dimensions\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n dimensions.width = rect.width || element.offsetWidth;\n dimensions.height = rect.height || element.offsetHeight;\n element.style.display = display;\n element.style.visibility = visibility;\n }\n\n return dimensions;\n}\n","export default function getViewport(): { width: number; height: number } {\n const win = window,\n d = document,\n e = d.documentElement,\n g = d.getElementsByTagName('body')[0],\n w = win.innerWidth || e.clientWidth || g.clientWidth,\n h = win.innerHeight || e.clientHeight || g.clientHeight;\n\n return { width: w, height: h };\n}\n","export default function getScrollLeft(element?: HTMLElement): number {\n // for RTL scrollLeft should be negative\n return element ? Math.abs(element.scrollLeft) : 0;\n}\n","import getScrollLeft from './getScrollLeft';\n\nexport default function getWindowScrollLeft(): number {\n const doc = document.documentElement;\n\n return (window.pageXOffset || getScrollLeft(doc)) - (doc.clientLeft || 0);\n}\n","export default function getWindowScrollTop(): number {\n const doc = document.documentElement;\n\n return (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n}\n","export default function isRTL(element?: HTMLElement): boolean {\n return element ? getComputedStyle(element).direction === 'rtl' : false;\n}\n","import getCSSVariableByRegex from './getCSSVariableByRegex';\nimport getHiddenElementDimensions from './getHiddenElementDimensions';\nimport getViewport from './getViewport';\nimport getWindowScrollLeft from './getWindowScrollLeft';\nimport getWindowScrollTop from './getWindowScrollTop';\nimport isRTL from './isRTL';\n\nexport default function absolutePosition(element: HTMLElement, target: HTMLElement, gutter: boolean = true): void {\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const elementOuterHeight = elementDimensions.height;\n const elementOuterWidth = elementDimensions.width;\n const targetOuterHeight = target.offsetHeight;\n const targetOuterWidth = target.offsetWidth;\n const targetOffset = target.getBoundingClientRect();\n const windowScrollTop = getWindowScrollTop();\n const windowScrollLeft = getWindowScrollLeft();\n const viewport = getViewport();\n let top,\n left,\n origin = 'top';\n\n if (targetOffset.top + targetOuterHeight + elementOuterHeight > viewport.height) {\n top = targetOffset.top + windowScrollTop - elementOuterHeight;\n origin = 'bottom';\n\n if (top < 0) {\n top = windowScrollTop;\n }\n } else {\n top = targetOuterHeight + targetOffset.top + windowScrollTop;\n }\n\n if (targetOffset.left + elementOuterWidth > viewport.width) left = Math.max(0, targetOffset.left + windowScrollLeft + targetOuterWidth - elementOuterWidth);\n else left = targetOffset.left + windowScrollLeft;\n\n if (isRTL(element)) {\n element.style.insetInlineEnd = left + 'px';\n } else {\n element.style.insetInlineStart = left + 'px';\n }\n\n element.style.top = top + 'px';\n element.style.transformOrigin = origin;\n if (gutter) element.style.marginTop = origin === 'bottom' ? `calc(${getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '2px'} * -1)` : (getCSSVariableByRegex(/-anchor-gutter$/)?.value ?? '');\n }\n}\n","export default function addStyle(element: HTMLElement, style: string | object): void {\n if (element) {\n if (typeof style === 'string') {\n element.style.cssText = style;\n } else {\n Object.entries(style || {}).forEach(([key, value]: [string, string]) => ((element.style as any)[key] = value));\n }\n }\n}\n","export default function getOuterWidth(element: unknown, margin?: boolean): number {\n if (element instanceof HTMLElement) {\n let width = element.offsetWidth;\n\n if (margin) {\n const style = getComputedStyle(element);\n\n width += parseFloat(style.marginLeft) + parseFloat(style.marginRight);\n }\n\n return width;\n }\n\n return 0;\n}\n","import getCSSVariableByRegex from './getCSSVariableByRegex';\nimport getHiddenElementDimensions from './getHiddenElementDimensions';\nimport getViewport from './getViewport';\n\nexport default function relativePosition(element: HTMLElement, target: HTMLElement, gutter: boolean = true, fixedOrigin: 'top' | 'bottom' | undefined = undefined): void {\n if (element) {\n const elementDimensions = element.offsetParent ? { width: element.offsetWidth, height: element.offsetHeight } : getHiddenElementDimensions(element);\n const targetHeight = target.offsetHeight;\n const targetOffset = target.getBoundingClientRect();\n const viewport = getViewport();\n let top,\n left,\n origin = fixedOrigin ?? 'top';\n\n if (!fixedOrigin && targetOffset.top + targetHeight + elementDimensions.height > viewport.height) {\n top = -1 * elementDimensions.height;\n origin = 'bottom';\n\n if (targetOffset.top + top < 0) {\n top = -1 * targetOffset.top;\n }\n } else {\n top = targetHeight;\n }\n\n if (elementDimensions.width > viewport.width) {\n // element wider then viewport and cannot fit on screen (align at left side of viewport)\n left = targetOffset.left * -1;\n } else if (targetOffset.left + elementDimensions.width > viewport.width) {\n // element wider then viewport but can be fit on screen (align at right side of viewport)\n left = (targetOffset.left + elementDimensions.width - viewport.width) * -1;\n } else {\n // element fits on screen (align with target)\n left = 0;\n }\n\n element.style.top = top + 'px';\n element.style.insetInlineStart = left + 'px';\n element.style.transformOrigin = origin;\n\n if (gutter) {\n const gutterValue = getCSSVariableByRegex(/-anchor-gutter$/)?.value;\n\n element.style.marginTop = origin === 'bottom' ? `calc(${gutterValue ?? '2px'} * -1)` : (gutterValue ?? '');\n }\n }\n}\n","import absolutePosition from './absolutePosition';\nimport getOuterWidth from './getOuterWidth';\nimport relativePosition from './relativePosition';\n\nexport default function alignOverlay(overlay: HTMLElement, target: HTMLElement, appendTo: string, calculateMinWidth: boolean = true) {\n if (overlay && target) {\n if (appendTo === 'self') {\n relativePosition(overlay, target);\n } else {\n if (calculateMinWidth) overlay.style.minWidth = getOuterWidth(target) + 'px';\n absolutePosition(overlay, target);\n }\n }\n}\n","export default function getParentNode(element: Node): ParentNode | null {\n if (element) {\n let parent = element.parentNode;\n\n if (parent && parent instanceof ShadowRoot && parent.host) {\n parent = parent.host;\n }\n\n return parent;\n }\n\n return null;\n}\n","import getParentNode from './getParentNode';\n\nexport default function isExist(element: Node): boolean {\n return !!(element !== null && typeof element !== 'undefined' && element.nodeName && getParentNode(element));\n}\n","export default function isElement(element: unknown): element is Element {\n return typeof Element !== 'undefined' ? element instanceof Element : element !== null && typeof element === 'object' && (element as Element).nodeType === 1 && typeof (element as Element).nodeName === 'string';\n}\n","import isElement from './isElement';\n\ntype ReactElement = { current: Element | null | undefined };\ntype VueElement = { el: Element | null | undefined };\ntype AngularElement = { el: { nativeElement: Element | undefined } };\n\nexport default function toElement(element: unknown): Element | null | undefined {\n let target = element;\n\n if (element && typeof element === 'object') {\n if (Object.hasOwn(element, 'current')) {\n // For React\n target = (element as ReactElement).current;\n } else if (Object.hasOwn(element, 'el')) {\n if (Object.hasOwn((element as AngularElement).el, 'nativeElement')) {\n // For Angular\n target = (element as AngularElement).el.nativeElement;\n } else {\n // For Vue\n target = (element as VueElement).el;\n }\n }\n }\n\n return isElement(target) ? target : undefined;\n}\n","import isExist from './isExist';\nimport toElement from './toElement';\n\nexport default function getTargetElement(target: unknown, currentElement?: Element): Window | Document | Element | null | undefined {\n if (!target) return undefined;\n\n switch (target) {\n case 'document':\n return document;\n case 'window':\n return window;\n case 'body':\n return document.body;\n case '@next':\n return currentElement?.nextElementSibling;\n case '@prev':\n return currentElement?.previousElementSibling;\n case '@first':\n return currentElement?.firstElementChild;\n case '@last':\n return currentElement?.lastElementChild;\n case '@child':\n return currentElement?.children?.[0];\n case '@parent':\n return currentElement?.parentElement;\n case '@grandparent':\n return currentElement?.parentElement?.parentElement;\n\n default: {\n if (typeof target === 'string') {\n // child selector\n const match = target.match(/^@child\\[(\\d+)]/);\n\n if (match) {\n return currentElement?.children?.[parseInt(match[1], 10)] || null;\n }\n\n return document.querySelector(target) || null;\n }\n\n const isFunction = (value: unknown): value is (...args: unknown[]) => unknown => typeof value === 'function' && 'call' in value && 'apply' in value;\n const computedTarget = isFunction(target) ? target() : target;\n const element = toElement(computedTarget);\n\n return isExist(element as Element) ? (element as Element) : (computedTarget as Document)?.nodeType === 9 ? (computedTarget as Document) : undefined;\n }\n }\n}\n","import getTargetElement from './getTargetElement';\n\nexport default function appendChild(element: unknown, child: Node | Element) {\n const target: Document | Element | null | undefined = getTargetElement(element, child as Element) as Exclude<ReturnType<typeof getTargetElement>, Window>;\n\n if (target) target.appendChild(child);\n else throw new Error('Cannot append ' + child + ' to ' + element);\n}\n","import addStyle from './addStyle';\n\nlet calculatedScrollbarHeight: number | undefined = undefined;\n\nexport default function calculateScrollbarHeight(element?: HTMLElement): number {\n if (element) {\n const style = getComputedStyle(element);\n\n return element.offsetHeight - element.clientHeight - parseFloat(style.borderTopWidth) - parseFloat(style.borderBottomWidth);\n } else {\n if (calculatedScrollbarHeight != null) return calculatedScrollbarHeight;\n\n const scrollDiv = document.createElement('div');\n\n addStyle(scrollDiv, {\n width: '100px',\n height: '100px',\n overflow: 'scroll',\n position: 'absolute',\n top: '-9999px'\n });\n document.body.appendChild(scrollDiv);\n\n const scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;\n\n document.body.removeChild(scrollDiv);\n\n calculatedScrollbarHeight = scrollbarHeight;\n\n return scrollbarHeight;\n }\n}\n","import addStyle from './addStyle';\n\nlet calculatedScrollbarWidth: number | undefined = undefined;\n\nexport default function calculateScrollbarWidth(element?: HTMLElement): number {\n if (element) {\n const style = getComputedStyle(element);\n\n return element.offsetWidth - element.clientWidth - parseFloat(style.borderLeftWidth) - parseFloat(style.borderRightWidth);\n } else {\n if (calculatedScrollbarWidth != null) return calculatedScrollbarWidth;\n\n const scrollDiv = document.createElement('div');\n\n addStyle(scrollDiv, {\n width: '100px',\n height: '100px',\n overflow: 'scroll',\n position: 'absolute',\n top: '-9999px'\n });\n document.body.appendChild(scrollDiv);\n\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n document.body.removeChild(scrollDiv);\n\n calculatedScrollbarWidth = scrollbarWidth;\n\n return scrollbarWidth;\n }\n}\n","export default function clearSelection(): void {\n if (window.getSelection) {\n const selection: any = window.getSelection() || {};\n\n if (selection.empty) {\n selection.empty();\n } else if (selection.removeAllRanges && selection.rangeCount > 0 && selection.getRangeAt(0).getClientRects().length > 0) {\n selection.removeAllRanges();\n }\n }\n}\n","import isElement from './isElement';\n\nexport default function setAttributes(element: HTMLElement, attributes: { [key: string]: any } = {}): void {\n if (isElement(element)) {\n const computedStyles = (rule: string, value: any): string[] => {\n const styles = (element as any)?.$attrs?.[rule] ? [(element as any)?.$attrs?.[rule]] : [];\n\n return [value].flat().reduce((cv, v) => {\n if (v !== null && v !== undefined) {\n const type = typeof v;\n\n if (type === 'string' || type === 'number') {\n cv.push(v);\n } else if (type === 'object') {\n const _cv = Array.isArray(v) ? computedStyles(rule, v) : Object.entries(v).map(([_k, _v]) => (rule === 'style' && (!!_v || _v === 0) ? `${_k.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}:${_v}` : _v ? _k : undefined));\n\n cv = _cv.length ? cv.concat(_cv.filter((c) => !!c)) : cv;\n }\n }\n\n return cv;\n }, styles);\n };\n\n Object.entries(attributes).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n const matchedEvent = key.match(/^on(.+)/);\n\n if (matchedEvent) {\n element.addEventListener(matchedEvent[1].toLowerCase(), value);\n } else if (key === 'p-bind' || key === 'pBind') {\n setAttributes(element, value);\n } else {\n value = key === 'class' ? [...new Set(computedStyles('class', value))].join(' ').trim() : key === 'style' ? computedStyles('style', value).join(';').trim() : value;\n ((element as any).$attrs = (element as any).$attrs || {}) && ((element as any).$attrs[key] = value);\n element.setAttribute(key, value);\n }\n }\n });\n }\n}\n","import setAttributes from './setAttributes';\n\nexport default function createElement(type: string, attributes: Record<string, unknown> = {}, ...children: (string | Node)[]): HTMLElement | undefined {\n if (type) {\n const element = document.createElement(type);\n\n setAttributes(element, attributes);\n element.append(...children);\n\n return element;\n }\n\n return undefined;\n}\n","export default function createStyleMarkup(css?: string, attributes: Record<string, unknown> = {}): string {\n return css ? `<style${Object.entries(attributes).reduce((s, [k, v]) => s + ` ${k}=\"${v}\"`, '')}>${css}</style>` : '';\n}\n","import createStyleMarkup from './createStyleMarkup';\n\n/**\n * @deprecated Use `createStyleMarkup` instead.\n */\nexport default function createStyleAsString(css?: string, options: Record<string, unknown> = {}) {\n return createStyleMarkup(css, options);\n}\n","import createElement from './createElement';\n\nexport default function createStyleElement(css: string, attributes: Record<string, unknown> = {}, container?: Element): HTMLStyleElement {\n const element = createElement('style', attributes, css)! as HTMLStyleElement;\n\n container?.appendChild(element);\n\n return element;\n}\n","import createStyleElement from './createStyleElement';\n\n/**\n * @deprecated Use `createStyleElement` instead.\n */\nexport default function createStyleTag(attributes: Record<string, unknown> = {}, container?: Element): HTMLStyleElement {\n return createStyleElement('', attributes, container || document.head);\n}\n","export default function fadeIn(element: HTMLElement, duration: number): void {\n if (element) {\n element.style.opacity = '0';\n\n let last = +new Date();\n let opacity = '0';\n\n const tick = function () {\n opacity = `${+element.style.opacity + (new Date().getTime() - last) / duration}`;\n element.style.opacity = opacity;\n last = +new Date();\n\n if (+opacity < 1) {\n if ('requestAnimationFrame' in window) requestAnimationFrame(tick);\n else setTimeout(tick, 16);\n }\n };\n\n tick();\n }\n}\n","export default function fadeOut(element: HTMLElement, duration: number): void {\n if (element) {\n let opacity = 1;\n const interval = 50;\n const gap = interval / duration;\n\n const fading = setInterval(() => {\n opacity -= gap;\n\n if (opacity <= 0) {\n opacity = 0;\n clearInterval(fading);\n }\n\n element.style.opacity = opacity.toString();\n }, interval);\n }\n}\n","import isElement from './isElement';\n\nexport default function find(element: Element, selector: string): Element[] {\n return isElement(element) ? Array.from(element.querySelectorAll(selector)) : [];\n}\n","import isElement from './isElement';\n\nexport default function findSingle(element: Element, selector: string): Element | null {\n return isElement(element) ? (element.matches(selector) ? element : element.querySelector(selector)) : null;\n}\n","export default function focus(element: HTMLElement, options?: FocusOptions): void {\n if (element && document.activeElement !== element) element.focus(options);\n}\n","import isElement from './isElement';\n\nexport default function getAttribute(element: Element, name: string): any {\n if (isElement(element)) {\n const value = element.getAttribute(name);\n\n if (!isNaN(value as any)) {\n return +(value as string);\n }\n\n if (value === 'true' || value === 'false') {\n return value === 'true';\n }\n\n return value;\n }\n\n return undefined;\n}\n","export default function resolveUserAgent(): { browser: string | undefined; version: string | undefined } {\n const ua = navigator.userAgent.toLowerCase();\n const match = /(chrome)[ ]([\\w.]+)/.exec(ua) || /(webkit)[ ]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ ]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || (ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(ua)) || [];\n\n return {\n browser: match[1] || '',\n version: match[2] || '0'\n };\n}\n","import resolveUserAgent from './resolveUserAgent';\n\ntype BrowserType = {\n [key: string]: string | boolean | undefined;\n};\n\nlet browser: BrowserType | null = null;\n\nexport default function getBrowser(): BrowserType {\n if (!browser) {\n browser = {};\n\n const matched = resolveUserAgent();\n\n if (matched.browser) {\n browser[matched.browser] = true;\n browser['version'] = matched.version;\n }\n\n if (browser['chrome']) {\n browser['webkit'] = true;\n } else if (browser['webkit']) {\n browser['safari'] = true;\n }\n }\n\n return browser;\n}\n","export default function getBrowserLanguage(): string {\n return (navigator.languages && navigator.languages.length && navigator.languages[0]) || navigator.language || 'en';\n}\n","export default function getCSSProperty(element?: HTMLElement, property?: string, inline?: boolean): string | null {\n if (element && property) {\n return inline ? element?.style?.getPropertyValue(property) : getComputedStyle(element).getPropertyValue(property);\n }\n\n return null;\n}\n","export default function getCursorOffset(element: Element, prevText: string, nextText: string, currentText: string): { top: number | string; left: number | string } {\n if (element) {\n const style = getComputedStyle(element);\n const ghostDiv = document.createElement('div');\n\n ghostDiv.style.position = 'absolute';\n ghostDiv.style.top = '0px';\n ghostDiv.style.left = '0px';\n ghostDiv.style.visibility = 'hidden';\n ghostDiv.style.pointerEvents = 'none';\n ghostDiv.style.overflow = style.overflow;\n ghostDiv.style.width = style.width;\n ghostDiv.style.height = style.height;\n ghostDiv.style.padding = style.padding;\n ghostDiv.style.border = style.border;\n ghostDiv.style.overflowWrap = style.overflowWrap;\n ghostDiv.style.whiteSpace = style.whiteSpace;\n ghostDiv.style.lineHeight = style.lineHeight;\n ghostDiv.innerHTML = prevText.replace(/\\r\\n|\\r|\\n/g, '<br />');\n\n const ghostSpan = document.createElement('span');\n\n ghostSpan.textContent = currentText;\n ghostDiv.appendChild(ghostSpan);\n\n const text = document.createTextNode(nextText);\n\n ghostDiv.appendChild(text);\n document.body.appendChild(ghostDiv);\n\n const { offsetLeft, offsetTop, clientHeight } = ghostSpan;\n\n document.body.removeChild(ghostDiv);\n\n return {\n left: Math.abs(offsetLeft - element.scrollLeft),\n top: Math.abs(offsetTop - element.scrollTop) + clientHeight\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n}\n","import find from './find';\n\nexport default function getFocusableElements(element: Element, selector: string = ''): Element[] {\n const focusableElements = find(\n element,\n `button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href]:not([tabindex = \"-1\"]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`\n );\n\n const visibleFocusableElements: Element[] = [];\n\n for (const focusableElement of focusableElements) {\n if (getComputedStyle(focusableElement).display != 'none' && getComputedStyle(focusableElement).visibility != 'hidden') visibleFocusableElements.push(focusableElement);\n }\n\n return visibleFocusableElements;\n}\n","import getFocusableElements from './getFocusableElements';\n\nexport default function getFirstFocusableElement(element: Element, selector?: string): Element | null {\n const focusableElements = getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[0] : null;\n}\n","export default function getHeight(element: HTMLElement): number {\n if (element) {\n let height = element.offsetHeight;\n const style = getComputedStyle(element);\n\n height -= parseFloat(style.paddingTop) + parseFloat(style.paddingBottom) + parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);\n\n return height;\n }\n\n return 0;\n}\n","export default function getHiddenElementOuterHeight(element: HTMLElement): number {\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its outer height\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n const elementHeight = element.offsetHeight;\n\n element.style.display = display;\n element.style.visibility = visibility;\n\n return elementHeight;\n }\n\n return 0;\n}\n","export default function getHiddenElementOuterWidth(element: HTMLElement): number {\n if (element) {\n const [visibility, display] = [element.style.visibility, element.style.display];\n\n // Temporarily hide the element to get its outer width\n element.style.visibility = 'hidden';\n element.style.display = 'block';\n const elementWidth = element.offsetWidth;\n\n element.style.display = display;\n element.style.visibility = visibility;\n\n return elementWidth;\n }\n\n return 0;\n}\n","import getParentNode from './getParentNode';\n\nexport default function getIndex(element: HTMLElement): number {\n if (element) {\n const children = getParentNode(element)?.childNodes;\n let num = 0;\n\n if (children) {\n for (let i = 0; i < children.length; i++) {\n if (children[i] === element) return num;\n if (children[i].nodeType === 1) num++;\n }\n }\n }\n\n return -1;\n}\n","export default function getInnerWidth(element: HTMLElement): number {\n if (element) {\n let width = element.offsetWidth;\n const style = getComputedStyle(element);\n\n width -= parseFloat(style.borderLeft) + parseFloat(style.borderRight);\n\n return width;\n }\n\n return 0;\n}\n","import getFocusableElements from './getFocusableElements';\n\nexport default function getLastFocusableElement(element: Element, selector?: string): Element | null {\n const focusableElements = getFocusableElements(element, selector);\n\n return focusableElements.length > 0 ? focusableElements[focusableElements.length - 1] : null;\n}\n","export default function getNextElementSibling(element: Element, selector: string): Element | null {\n let nextElement = element.nextElementSibling;\n\n while (nextElement) {\n if (nextElement.matches(selector)) {\n return nextElement;\n } else {\n nextElement = nextElement.nextElementSibling;\n }\n }\n\n return null;\n}\n","import getFocusableElements from './getFocusableElements';\n\nexport default function getNextFocusableElement(container: Element, element: Element, selector?: string): Element | null {\n const focusableElements: Element[] = getFocusableElements(container, selector);\n const index = focusableElements.length > 0 ? focusableElements.findIndex((el) => el === element) : -1;\n const nextIndex = index > -1 && focusableElements.length >= index + 1 ? index + 1 : -1;\n\n return nextIndex > -1 ? focusableElements[nextIndex] : null;\n}\n","import getScrollLeft from './getScrollLeft';\n\nexport default function getOffset(element?: Element | null): { top: number | string; left: number | string } {\n if (element) {\n const rect = element.getBoundingClientRect();\n\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || getScrollLeft(document.documentElement) || getScrollLeft(document.body) || 0)\n };\n }\n\n return {\n top: 'auto',\n left: 'auto'\n };\n}\n","export default function getOuterHeight(element: HTMLElement, margin?: boolean): number {\n if (element) {\n let height = element.offsetHeight;\n\n if (margin) {\n const style = getComputedStyle(element);\n\n height += parseFloat(style.marginTop) + parseFloat(style.marginBottom);\n }\n\n return height;\n }\n\n return 0;\n}\n","import getParentNode from './getParentNode';\n\nexport default function getParents(element: Node, parents: ParentNode[] = []): ParentNode[] {\n const parent = getParentNode(element);\n\n return parent === null ? parents : getParents(parent, parents.concat([parent]));\n}\n","export default function getPreviousElementSibling(element: Element, selector: string): Element | null {\n let previousElement = element.previousElementSibling;\n\n while (previousElement) {\n if (previousElement.matches(selector)) {\n return previousElement;\n } else {\n previousElement = previousElement.previousElementSibling;\n }\n }\n\n return null;\n}\n","import findSingle from './findSingle';\nimport getParents from './getParents';\n\nexport default function getScrollableParents(element: Element): Element[] {\n const scrollableParents = [];\n\n if (element) {\n const parents = getParents(element) as HTMLElement[];\n const overflowRegex = /(auto|scroll)/;\n\n const overflowCheck = (node: Element) => {\n try {\n const styleDeclaration = window['getComputedStyle'](node, null);\n\n return overflowRegex.test(styleDeclaration.getPropertyValue('overflow')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowX')) || overflowRegex.test(styleDeclaration.getPropertyValue('overflowY'));\n } catch {\n return false;\n }\n };\n\n for (const parent of parents) {\n const scrollSelectors = parent.nodeType === 1 && parent.dataset['scrollselectors'];\n\n if (scrollSelectors) {\n const selectors = scrollSelectors.split(',');\n\n for (const selector of selectors) {\n const el = findSingle(parent, selector);\n\n if (el && overflowCheck(el)) {\n scrollableParents.push(el);\n }\n }\n }\n\n if (parent.nodeType !== 9 && overflowCheck(parent)) {\n scrollableParents.push(parent);\n }\n }\n }\n\n return scrollableParents;\n}\n","export default function getSelection(): string | undefined {\n if (window.getSelection) return (window.getSelection() as any).toString();\n else if (document.getSelection) return (document.getSelection() as any).toString();\n\n return undefined;\n}\n","export default function getUserAgent(): string {\n return navigator.userAgent;\n}\n","export default function getWidth(element: HTMLElement): number {\n if (element) {\n let width = element.offsetWidth;\n const style = getComputedStyle(element);\n\n width -= parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) + parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth);\n\n return width;\n }\n\n return 0;\n}\n","export default function hasCSSAnimation(element: Element): boolean {\n if (element) {\n const style = getComputedStyle(element);\n const animationDuration = parseFloat(style.getPropertyValue('animation-duration') || '0');\n\n return animationDuration > 0;\n }\n\n return false;\n}\n","export default function hasCSSTransition(element: Element): boolean {\n if (element) {\n const style = getComputedStyle(element);\n const transitionDuration = parseFloat(style.getPropertyValue('transition-duration') || '0');\n\n return transitionDuration > 0;\n }\n\n return false;\n}\n","export default function invokeElementMethod<T extends keyof Element>(element: Element, methodName: T, args?: unknown[]): void {\n const method = element[methodName];\n\n if (typeof method === 'function') {\n (method as (...args: unknown[]) => void).apply(element, args ?? []);\n }\n}\n","export default function isAndroid(): boolean {\n return /(android)/i.test(navigator.userAgent);\n}\n","import getAttribute from './getAttribute';\nimport isElement from './isElement';\n\nexport default function isAttributeEquals(element: Element, name: string, value: any): boolean {\n return isElement(element) ? getAttribute(element, name) === value : false;\n}\n","import isAttributeEquals from './isAttributeEquals';\n\nexport default function isAttributeNotEquals(element: Element, name: string, value: any): boolean {\n return !isAttributeEquals(element, name, value);\n}\n","export default function isClickable(element: Element): boolean {\n if (element) {\n const targetNode = element.nodeName;\n const parentNode = element.parentElement && element.parentElement.nodeName;\n\n return (\n targetNode === 'INPUT' ||\n targetNode === 'TEXTAREA' ||\n targetNode === 'BUTTON' ||\n targetNode === 'A' ||\n parentNode === 'INPUT' ||\n parentNode === 'TEXTAREA' ||\n parentNode === 'BUTTON' ||\n parentNode === 'A' ||\n !!element.closest('.p-button, .p-checkbox, .p-radiobutton') // @todo Add [data-pc-section=\"button\"]\n );\n }\n\n return false;\n}\n","export default function isClient(): boolean {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\n","import isElement from './isElement';\n\nexport default function isFocusableElement(element: unknown, selector: string = ''): boolean {\n return isElement(element)\n ? (element as Element).matches(`button:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [href][clientHeight][clientWidth]:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n input:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n select:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n textarea:not([tabindex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [tabIndex]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector},\n [contenteditable]:not([tabIndex = \"-1\"]):not([disabled]):not([style*=\"display:none\"]):not([hidden])${selector}`)\n : false;\n}\n","export default function isVisible(element?: HTMLElement): boolean {\n return !!(element && element.offsetParent != null);\n}\n","import isVisible from './isVisible';\n\nexport default function isHidden(element: HTMLElement): boolean {\n return !isVisible(element);\n}\n","export default function isIOS(): boolean {\n return /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n}\n","export default function isPrefersReducedMotion(): boolean {\n if (typeof window === 'undefined' || !window.matchMedia) {\n return false;\n }\n\n const mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');\n\n return mediaQuery.matches;\n}\n","import isClient from './isClient';\n\nexport default function isServer(): boolean {\n return !isClient();\n}\n","export default function isTouchDevice(): boolean {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || (navigator as Partial<Navigator & { msMaxTouchPoints?: number }>).msMaxTouchPoints! > 0;\n}\n","import calculateScrollbarWidth from './calculateScrollbarWidth';\nimport getHiddenElementOuterHeight from './getHiddenElementOuterHeight';\nimport getHiddenElementOuterWidth from './getHiddenElementOuterWidth';\nimport getOffset from './getOffset';\nimport getOuterHeight from './getOuterHeight';\nimport getOuterWidth from './getOuterWidth';\nimport getViewport from './getViewport';\n\nexport default function nestedPosition(element: HTMLElement, level: number): void {\n if (element) {\n const parentItem = element.parentElement;\n const elementOffset = getOffset(parentItem);\n const viewport = getViewport();\n const sublistWidth = element.offsetParent ? element.offsetWidth : getHiddenElementOuterWidth(element);\n const sublistHeight = element.offsetParent ? element.offsetHeight : getHiddenElementOuterHeight(element);\n const itemOuterWidth = getOuterWidth(parentItem?.children?.[0]);\n const itemOuterHeight = getOuterHeight(parentItem?.children?.[0] as HTMLElement);\n\n let left: string = '';\n let top: string = '';\n\n if ((elementOffset.left as number) + itemOuterWidth + sublistWidth > viewport.width - calculateScrollbarWidth()) {\n if ((elementOffset.left as number) < sublistWidth) {\n // for too small screens\n if (level % 2 === 1) {\n left = (elementOffset.left as number) ? '-' + (elementOffset.left as number) + 'px' : '100%';\n } else if (level % 2 === 0) {\n left = viewport.width - sublistWidth - calculateScrollbarWidth() + 'px';\n }\n } else {\n left = '-100%';\n }\n } else {\n left = '100%';\n }\n\n // getBoundingClientRect returns a top position from the current visible viewport area\n if (element.getBoundingClientRect().top + itemOuterHeight + sublistHeight > viewport.height) {\n top = `-${sublistHeight - itemOuterHeight}px`;\n } else {\n top = '0px';\n }\n\n element.style.top = top;\n element.style.insetInlineStart = left;\n }\n}\n","export default function nextFrame(): Promise<void> {\n return new Promise((resolve) => {\n requestAnimationFrame(() => {\n requestAnimationFrame(resolve as () => void);\n });\n });\n}\n","export default function remove(element: Element) {\n if (element) {\n if (!('remove' in Element.prototype)) element.parentNode?.removeChild(element);\n else element.remove();\n }\n}\n","import toElement from './toElement';\n\nexport default function removeChild(element: unknown, child: Node) {\n const target = toElement(element);\n\n if (target) target.removeChild(child);\n else throw new Error('Cannot remove ' + child + ' from ' + element);\n}\n","import isExist from './isExist';\n\nexport default function removeStyleTag(element: Node): Node | null {\n if (isExist(element)) {\n try {\n element.parentNode?.removeChild(element);\n } catch {\n // style element may have already been removed in a fast refresh\n }\n\n return null;\n }\n\n return element;\n}\n","import getOuterHeight from './getOuterHeight';\n\nexport default function scrollInView(container: HTMLElement, item: HTMLElement): void {\n const borderTopValue = getComputedStyle(container).getPropertyValue('borderTopWidth');\n const borderTop = borderTopValue ? parseFloat(borderTopValue) : 0;\n const paddingTopValue = getComputedStyle(container).getPropertyValue('paddingTop');\n const paddingTop = paddingTopValue ? parseFloat(paddingTopValue) : 0;\n const containerRect = container.getBoundingClientRect();\n const itemRect = item.getBoundingClientRect();\n const offset = itemRect.top + document.body.scrollTop - (containerRect.top + document.body.scrollTop) - borderTop - paddingTop;\n const scroll = container.scrollTop;\n const elementHeight = container.clientHeight;\n const itemHeight = getOuterHeight(item);\n\n if (offset < 0) {\n container.scrollTop = scroll + offset;\n } else if (offset + itemHeight > elementHeight) {\n container.scrollTop = scroll + offset - elementHeight + itemHeight;\n }\n}\n","import isElement from './isElement';\n\nexport default function setAttribute(element: HTMLElement, attribute: string = '', value: any): void {\n if (isElement(element) && value !== null && value !== undefined) {\n element.setAttribute(attribute, value);\n }\n}\n","export default function setCSSProperty(element?: HTMLElement, property?: string, value: any = null, priority?: string): void {\n property && element?.style?.setProperty(property, value, priority);\n}\n","export type Handler = (evt: unknown) => void;\n\nexport interface EventBusOptions {\n on(type: string, handler: Handler): void;\n off(type: string, handler: Handler): void;\n emit(type: string, evt?: unknown): void;\n clear(): void;\n}\n\nexport function EventBus(): EventBusOptions {\n const allHandlers = new Map<string, Handler[]>();\n\n return {\n on(type: string, handler: Handler) {\n let handlers = allHandlers.get(type);\n\n if (!handlers) handlers = [handler];\n else handlers.push(handler);\n\n allHandlers.set(type, handlers);\n\n return this;\n },\n off(type: string, handler: Handler) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n\n return this;\n },\n emit(type: string, evt?: unknown) {\n const handlers = allHandlers.get(type);\n\n if (handlers) {\n handlers.forEach((handler) => {\n handler(evt);\n });\n }\n },\n clear() {\n allHandlers.clear();\n }\n };\n}\n","export function cn(...args: any[]): string | undefined {\n if (args) {\n let classes: any = [];\n\n for (let i = 0; i < args.length; i++) {\n const className = args[i];\n\n if (!className) {\n continue;\n }\n\n const type = typeof className;\n\n if (type === 'string' || type === 'number') {\n classes.push(className);\n } else if (type === 'object') {\n const _classes = Array.isArray(className) ? [cn(...className)] : Object.entries(className).map(([key, value]) => (value ? key : undefined));\n\n classes = _classes.length ? classes.concat(_classes.filter((c) => !!c)) : classes;\n }\n }\n\n return classes.join(' ').trim();\n }\n\n return undefined;\n}\n\n/**\n * @deprecated Use `cn` instead.\n * @param args\n * @returns\n */\nexport function classNames(...args: any[]): string | undefined {\n return cn(...args);\n}\n","export default function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function' && 'call' in value && 'apply' in value;\n}\n","import { cn } from '../classnames';\nimport { isFunction } from '../object';\n\nexport function mergeProps(...props: any[]): object | undefined {\n return props?.reduce((merged, ps = {}) => {\n for (const key in ps) {\n const value = ps[key];\n\n if (key === 'style') {\n merged['style'] = { ...merged['style'], ...ps['style'] };\n } else if (key === 'class' || key === 'className') {\n merged[key] = cn(merged[key], ps[key]);\n } else if (isFunction(value)) {\n const fn = merged[key];\n\n merged[key] = fn\n ? (...args: any[]) => {\n fn(...args);\n value(...args);\n }\n : value;\n } else {\n merged[key] = value;\n }\n }\n\n return merged;\n }, {});\n}\n","export default function isEmpty(value: any): boolean {\n return value === null || value === undefined || value === '' || (Array.isArray(value) && value.length === 0) || (!(value instanceof Date) && typeof value === 'object' && Object.keys(value).length === 0);\n}\n","import isEmpty from './isEmpty';\n\nexport default function compare<T = unknown>(value1: T, value2: T, comparator: (val1: T, val2: T) => number, order: number = 1): number {\n let result = -1;\n const emptyValue1 = isEmpty(value1);\n const emptyValue2 = isEmpty(value2);\n\n if (emptyValue1 && emptyValue2) result = 0;\n else if (emptyValue1) result = order;\n else if (emptyValue2) result = -order;\n else if (typeof value1 === 'string' && typeof value2 === 'string') result = comparator(value1, value2);\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n return result;\n}\n","function _deepEquals(obj1: unknown, obj2: unknown, visited: WeakSet<object> = new WeakSet()): boolean {\n // Base case: same object reference\n if (obj1 === obj2) return true;\n\n // If one of them is null or not an object, directly return false\n if (!obj1 || !obj2 || typeof obj1 !== 'object' || typeof obj2 !== 'object') return false;\n\n // Check for circular references\n if (visited.has(obj1) || visited.has(obj2)) return false;\n\n // Add objects to the visited set\n visited.add(obj1).add(obj2);\n\n const arrObj1 = Array.isArray(obj1);\n const arrObj2 = Array.isArray(obj2);\n let i, length, key;\n\n if (arrObj1 && arrObj2) {\n length = obj1.length;\n if (length != obj2.length) return false;\n for (i = length; i-- !== 0; ) if (!_deepEquals(obj1[i], obj2[i], visited)) return false;\n\n return true;\n }\n\n if (arrObj1 != arrObj2) return false;\n\n const dateObj1 = obj1 instanceof Date,\n dateObj2 = obj2 instanceof Date;\n\n if (dateObj1 != dateObj2) return false;\n if (dateObj1 && dateObj2) return obj1.getTime() == obj2.getTime();\n\n const regexpObj1 = obj1 instanceof RegExp,\n regexpObj2 = obj2 instanceof RegExp;\n\n if (regexpObj1 != regexpObj2) return false;\n if (regexpObj1 && regexpObj2) return obj1.toString() == obj2.toString();\n\n const keys = Object.keys(obj1);\n\n length = keys.length;\n\n if (length !== Object.keys(obj2).length) return false;\n\n for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(obj2, keys[i])) return false;\n\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!_deepEquals((obj1 as Record<string, unknown>)[key], (obj2 as Record<string, unknown>)[key], visited)) return false;\n }\n\n return true;\n}\n\nexport default function deepEquals(obj1: unknown, obj2: unknown): boolean {\n return _deepEquals(obj1, obj2);\n}\n","export default function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function' && 'call' in value && 'apply' in value;\n}\n","import isEmpty from './isEmpty';\n\nexport default function isNotEmpty(value: any): boolean {\n return !isEmpty(value);\n}\n","import isFunction from './isFunction';\nimport isNotEmpty from './isNotEmpty';\n\nexport default function resolveFieldData(data: any, field: any): any {\n if (!data || !field) {\n // short circuit if there is nothing to resolve\n return null;\n }\n\n try {\n const value = data[field];\n\n if (isNotEmpty(value)) return value;\n } catch {\n // Performance optimization: https://github.com/primefaces/primereact/issues/4797\n // do nothing and continue to other methods to resolve field data\n }\n\n if (Object.keys(data).length) {\n if (isFunction(field)) {\n return field(data);\n } else if (field.indexOf('.') === -1) {\n return data[field];\n } else {\n const fields = field.split('.');\n let value = data;\n\n for (let i = 0, len = fields.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n\n value = value[fields[i]];\n }\n\n return value;\n }\n }\n\n return null;\n}\n","import deepEquals from './deepEquals';\nimport resolveFieldData from './resolveFieldData';\n\nexport default function equals(obj1: any, obj2: any, field?: string): boolean {\n if (field) return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);\n else return deepEquals(obj1, obj2);\n}\n","import equals from './equals';\n\nexport default function contains<T = unknown>(value: T, list: T[]): boolean {\n if (value != null && list && list.length) {\n for (const val of list) {\n if (equals(value, val)) return true;\n }\n }\n\n return false;\n}\n","export default function isObject(value: unknown, empty: boolean = true): value is object {\n return value instanceof Object && value.constructor === Object && (empty || Object.keys(value).length !== 0);\n}\n","import isObject from './isObject';\n\nfunction _deepMerge(target: Record<string, unknown> = {}, source: Record<string, unknown> = {}): Record<string, unknown> {\n const mergedObj: Record<string, unknown> = { ...target };\n\n Object.keys(source).forEach((key) => {\n const typedKey = key as keyof typeof source;\n\n if (isObject(source[typedKey]) && typedKey in target && isObject(target[typedKey])) {\n mergedObj[typedKey] = _deepMerge(target[typedKey] as Record<string, unknown>, source[typedKey] as Record<string, unknown>);\n } else {\n mergedObj[typedKey] = source[typedKey];\n }\n });\n\n return mergedObj;\n}\n\n/**\n * Merges multiple objects into one.\n * @param args - Objects to merge.\n * @returns Merged object.\n */\nexport default function deepMerge(...args: Record<string, unknown>[]): Record<string, unknown> {\n return args.reduce((acc, obj, i) => (i === 0 ? obj : _deepMerge(acc, obj)), {});\n}\n","import resolveFieldData from './resolveFieldData';\n\nexport default function filter<T = any>(value: T[], fields: string[], filterValue: string): T[] {\n const filteredItems = [];\n\n if (value) {\n for (const item of value) {\n for (const field of fields) {\n if (String(resolveFieldData(item, field)).toLowerCase().indexOf(filterValue.toLowerCase()) > -1) {\n filteredItems.push(item);\n break;\n }\n }\n }\n }\n\n return filteredItems;\n}\n","export default function findIndexInList<T = any>(value: T, list: T[]): number {\n let index = -1;\n\n if (list) {\n for (let i = 0; i < list.length; i++) {\n if (list[i] === value) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n}\n","import isNotEmpty from './isNotEmpty';\n\n/**\n * Firefox-v103 does not currently support the \"findLast\" method. It is stated that this method will be supported with Firefox-v104.\n * https://caniuse.com/mdn-javascript_builtins_array_findlast\n */\nexport default function findLast<T = any>(arr: T[], callback: (value: T, index: number, array: T[]) => boolean): T | undefined {\n let item;\n\n if (isNotEmpty(arr)) {\n try {\n item = (arr as any).findLast(callback);\n } catch {\n item = [...arr].reverse().find(callback);\n }\n }\n\n return item;\n}\n","import isNotEmpty from './isNotEmpty';\n\n/**\n * Firefox-v103 does not currently support the \"findLastIndex\" method. It is stated that this method will be supported with Firefox-v104.\n * https://caniuse.com/mdn-javascript_builtins_array_findlastindex\n */\nexport default function findLastIndex<T = any>(arr: T[], callback: (value: T, index: number, array: T[]) => boolean): number {\n let index = -1;\n\n if (isNotEmpty(arr)) {\n try {\n index = (arr as any).findLastIndex(callback);\n } catch {\n index = arr.lastIndexOf([...arr].reverse().find(callback) as T);\n }\n }\n\n return index;\n}\n","import isFunction from './isFunction';\n\nexport default function resolve<T, P extends unknown[], R>(obj: T | ((...params: P) => R), ...params: P): T | R {\n return isFunction(obj) ? (obj as (...params: P) => R)(...params) : (obj as T);\n}\n","export default function isString(value: unknown, empty: boolean = true): value is string {\n return typeof value === 'string' && (empty || value !== '');\n}\n","import isString from './isString';\n\nexport default function toFlatCase(str: string): string {\n // convert snake, kebab, camel and pascal cases to flat case\n return isString(str) ? str.replace(/(-|_)/g, '').toLowerCase() : str;\n}\n","import isObject from './isObject';\nimport resolve from './resolve';\nimport toFlatCase from './toFlatCase';\n\nexport default function getKeyValue<T extends Record<string, unknown>>(obj: T | undefined, key: string = '', params: unknown = {}): unknown {\n const fKeys = toFlatCase(key).split('.');\n const fKey = fKeys.shift();\n\n if (fKey) {\n if (isObject(obj)) {\n const matchedKey = Object.keys(obj).find((k) => toFlatCase(k) === fKey) || '';\n\n return getKeyValue(resolve(obj[matchedKey], params) as Record<string, unknown>, fKeys.join('.'), params);\n }\n\n return undefined;\n }\n\n return resolve(obj, params);\n}\n","import findIndexInList from './findIndexInList';\n\nexport default function insertIntoOrderedArray<T>(item: T, index: number, arr: T[], sourceArr: any[]): void {\n if (arr.length > 0) {\n let injected = false;\n\n for (let i = 0; i < arr.length; i++) {\n const currentItemIndex = findIndexInList(arr[i], sourceArr);\n\n if (currentItemIndex > index) {\n arr.splice(i, 0, item);\n injected = true;\n break;\n }\n }\n\n if (!injected) {\n arr.push(item);\n }\n } else {\n arr.push(item);\n }\n}\n","export default function isArray(value: any, empty: boolean = true): boolean {\n return Array.isArray(value) && (empty || value.length !== 0);\n}\n","export default function isDate(value: unknown): value is Date {\n return value instanceof Date;\n}\n","export default function isLetter(char: string): boolean {\n return /^[a-zA-Z\\u00C0-\\u017F]$/.test(char);\n}\n","import isNotEmpty from './isNotEmpty';\n\nexport default function isNumber(value: unknown): boolean {\n return isNotEmpty(value) && !isNaN(value as number);\n}\n","import isNotEmpty from './isNotEmpty';\n\nexport default function isPrintableCharacter(char: string = ''): boolean {\n return isNotEmpty(char) && char.length === 1 && !!char.match(/\\S| /);\n}\n","export default function isScalar(value: any): boolean {\n return value != null && (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint' || typeof value === 'boolean');\n}\n","export default function localeComparator(): (val1: string, val2: string) => number {\n //performance gain using Int.Collator. It is not recommended to use localeCompare against large arrays.\n return new Intl.Collator(undefined, { numeric: true }).compare;\n}\n","export default function matchRegex(str: string, regex?: RegExp): boolean {\n if (regex) {\n const match = regex.test(str);\n\n regex.lastIndex = 0;\n\n return match;\n }\n\n return false;\n}\n","import deepMerge from './deepMerge';\n\n/**\n * @deprecated Use `deepMerge` instead.\n *\n * Merges multiple objects into one.\n * @param args - Objects to merge.\n * @returns Merged object.\n */\nexport default function mergeKeys(...args: Record<string, unknown>[]): Record<string, unknown> {\n return deepMerge(...args);\n}\n","export default function minifyCSS(css?: string): string | undefined {\n return css\n ? css\n .replace(/\\/\\*(?:(?!\\*\\/)[\\s\\S])*\\*\\/|[\\r\\n\\t]+/g, '')\n .replace(/ {2,}/g, ' ')\n .replace(/ ([{:}]) /g, '$1')\n .replace(/([;,]) /g, '$1')\n .replace(/ !/g, '!')\n .replace(/: /g, ':')\n .trim()\n : css;\n}\n","import isObject from './isObject';\n\nexport default function nestedKeys(obj: Record<string, any> = {}, parentKey: string = ''): string[] {\n return Object.entries(obj).reduce<string[]>((o, [key, value]) => {\n const currentKey = parentKey ? `${parentKey}.${key}` : key;\n\n isObject(value) ? (o = o.concat(nestedKeys(value, currentKey))) : o.push(currentKey);\n\n return o;\n }, []);\n}\n","import isObject from './isObject';\n\nexport default function omit(obj: unknown, ...keys: string[]): unknown {\n if (!isObject(obj)) return obj;\n\n const copy = { ...(obj as Record<string, unknown>) };\n\n keys?.flat().forEach((key) => delete copy[key]);\n\n return copy;\n}\n","export default function removeAccents(str: string): string {\n // Regular expression to check for any accented characters 'Latin-1 Supplement' and 'Latin Extended-A'\n const accentCheckRegex = /[\\xC0-\\xFF\\u0100-\\u017E]/;\n\n if (str && accentCheckRegex.test(str)) {\n const accentsMap: { [key: string]: RegExp } = {\n A: /[\\xC0-\\xC5\\u0100\\u0102\\u0104]/g,\n AE: /[\\xC6]/g,\n C: /[\\xC7\\u0106\\u0108\\u010A\\u010C]/g,\n D: /[\\xD0\\u010E\\u0110]/g,\n E: /[\\xC8-\\xCB\\u0112\\u0114\\u0116\\u0118\\u011A]/g,\n G: /[\\u011C\\u011E\\u0120\\u0122]/g,\n H: /[\\u0124\\u0126]/g,\n I: /[\\xCC-\\xCF\\u0128\\u012A\\u012C\\u012E\\u0130]/g,\n IJ: /[\\u0132]/g,\n J: /[\\u0134]/g,\n K: /[\\u0136]/g,\n L: /[\\u0139\\u013B\\u013D\\u013F\\u0141]/g,\n N: /[\\xD1\\u0143\\u0145\\u0147\\u014A]/g,\n O: /[\\xD2-\\xD6\\xD8\\u014C\\u014E\\u0150]/g,\n OE: /[\\u0152]/g,\n R: /[\\u0154\\u0156\\u0158]/g,\n S: /[\\u015A\\u015C\\u015E\\u0160]/g,\n T: /[\\u0162\\u0164\\u0166]/g,\n U: /[\\xD9-\\xDC\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172]/g,\n W: /[\\u0174]/g,\n Y: /[\\xDD\\u0176\\u0178]/g,\n Z: /[\\u0179\\u017B\\u017D]/g,\n\n a: /[\\xE0-\\xE5\\u0101\\u0103\\u0105]/g,\n ae: /[\\xE6]/g,\n c: /[\\xE7\\u0107\\u0109\\u010B\\u010D]/g,\n d: /[\\u010F\\u0111]/g,\n e: /[\\xE8-\\xEB\\u0113\\u0115\\u0117\\u0119\\u011B]/g,\n g: /[\\u011D\\u011F\\u0121\\u0123]/g,\n i: /[\\xEC-\\xEF\\u0129\\u012B\\u012D\\u012F\\u0131]/g,\n ij: /[\\u0133]/g,\n j: /[\\u0135]/g,\n k: /[\\u0137,\\u0138]/g,\n l: /[\\u013A\\u013C\\u013E\\u0140\\u0142]/g,\n n: /[\\xF1\\u0144\\u0146\\u0148\\u014B]/g,\n p: /[\\xFE]/g,\n o: /[\\xF2-\\xF6\\xF8\\u014D\\u014F\\u0151]/g,\n oe: /[\\u0153]/g,\n r: /[\\u0155\\u0157\\u0159]/g,\n s: /[\\u015B\\u015D\\u015F\\u0161]/g,\n t: /[\\u0163\\u0165\\u0167]/g,\n u: /[\\xF9-\\xFC\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173]/g,\n w: /[\\u0175]/g,\n y: /[\\xFD\\xFF\\u0177]/g,\n z: /[\\u017A\\u017C\\u017E]/g\n };\n\n for (const key in accentsMap) {\n str = str.replace(accentsMap[key], key);\n }\n }\n\n return str;\n}\n","export default function reorderArray<T>(value: T[], from: number, to: number): void {\n if (value && from !== to) {\n if (to >= value.length) {\n to %= value.length;\n from %= value.length;\n }\n\n value.splice(to, 0, value.splice(from, 1)[0]);\n }\n}\n","/**\n * Shallow equal for React/Vue props comparison\n * Ignores functions (common in props)\n */\nexport default function shallowEqualProps(propsA: Record<string, unknown>, propsB: Record<string, unknown>): boolean {\n if (propsA === propsB) return true;\n\n const keysA = Object.keys(propsA);\n const keysB = Object.keys(propsB);\n\n if (keysA.length !== keysB.length) return false;\n\n for (const key of keysA) {\n const valueA = propsA[key];\n const valueB = propsB[key];\n\n // Skip function comparison (they rarely change)\n if (typeof valueA === 'function' && typeof valueB === 'function') {\n continue;\n }\n\n if (!Object.is(valueA, valueB)) {\n return false;\n }\n }\n\n return true;\n}\n","/**\n * Checks if two values are shallowly equal\n * - Primitives: compared by value (===)\n * - Objects/Arrays: compared by reference and first-level properties\n *\n * @param objA - First value to compare\n * @param objB - Second value to compare\n * @returns True if values are shallowly equal, false otherwise\n *\n * @example\n * shallowEquals(1, 1) // true\n * shallowEquals('a', 'a') // true\n * shallowEquals({ a: 1 }, { a: 1 }) // true (shallow)\n * shallowEquals({ a: { b: 1 } }, { a: { b: 1 } }) // false (nested objects are different references)\n * shallowEquals([1, 2], [1, 2]) // true (shallow)\n * shallowEquals([1, [2]], [1, [2]]) // false (nested arrays are different references)\n */\nexport default function shallowEquals(objA: unknown, objB: unknown): boolean {\n // Fast path: same reference\n if (objA === objB) return true;\n\n // Fast path: different types or null\n if (typeof objA !== typeof objB || objA === null || objB === null) {\n return false;\n }\n\n // Fast path: primitives\n if (typeof objA !== 'object') {\n return objA === objB;\n }\n\n // Same reference (including null === null, undefined === undefined)\n if (Object.is(objA, objB)) {\n return true;\n }\n\n // If either is not an object or is null, they're not equal\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n // Compare arrays\n if (Array.isArray(objA) && Array.isArray(objB)) {\n if (objA.length !== objB.length) {\n return false;\n }\n\n for (let i = 0; i < objA.length; i++) {\n if (!Object.is(objA[i], objB[i])) {\n return false;\n }\n }\n\n return true;\n }\n\n // If only one is array, they're not equal\n if (Array.isArray(objA) || Array.isArray(objB)) {\n return false;\n }\n\n // Compare object keys\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Check if all keys and values match\n for (const key of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, key) || !Object.is((objA as Record<string, unknown>)[key], (objB as Record<string, unknown>)[key])) {\n return false;\n }\n }\n\n return true;\n}\n","import compare from './compare';\nimport isEmpty from './isEmpty';\n\nexport default function sort<T>(value1: T, value2: T, order: number = 1, comparator: (val1: T, val2: T) => number, nullSortOrder: number = 1): number {\n const result = compare(value1, value2, comparator, order);\n let finalSortOrder = order;\n\n // nullSortOrder == 1 means Excel like sort nulls at bottom\n if (isEmpty(value1) || isEmpty(value2)) {\n finalSortOrder = nullSortOrder === 1 ? order : nullSortOrder;\n }\n\n return finalSortOrder * result;\n}\n","import isArray from './isArray';\nimport isDate from './isDate';\nimport isFunction from './isFunction';\nimport isObject from './isObject';\n\nexport default function stringify(value: unknown, indent: number = 2, currentIndent: number = 0): string {\n const currentIndentStr = ' '.repeat(currentIndent);\n const nextIndentStr = ' '.repeat(currentIndent + indent);\n\n if (isArray(value)) {\n return '[' + (value as unknown[]).map((v: unknown) => stringify(v, indent, currentIndent + indent)).join(', ') + ']';\n } else if (isDate(value)) {\n return value.toISOString();\n } else if (isFunction(value)) {\n return value.toString();\n } else if (isObject(value)) {\n return (\n '{\\n' +\n Object.entries(value)\n .map(([k, v]) => `${nextIndentStr}${k}: ${stringify(v, indent, currentIndent + indent)}`)\n .join(',\\n') +\n `\\n${currentIndentStr}` +\n '}'\n );\n } else {\n return JSON.stringify(value);\n }\n}\n","import isString from './isString';\n\nexport default function toCamelCase(str: string): string {\n // convert snake, kebab and pascal cases to camel case\n return isString(str) ? str.replace(/[-_](\\w)/g, (_, c) => (c ? c.toUpperCase() : '')) : str;\n}\n","import isString from './isString';\n\nexport default function toCapitalCase(str: string): string {\n return isString(str, false) ? str[0].toUpperCase() + str.slice(1) : str;\n}\n","import isString from './isString';\n\nexport default function toKebabCase(str: string): string {\n // convert snake, camel and pascal cases to kebab case\n return isString(str)\n ? str\n .replace(/(_)/g, '-')\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase()\n : str;\n}\n","export default function toMs(value: string | number): number {\n if (value === 'auto') return 0;\n\n if (typeof value === 'number') return value;\n\n return Number(value.replace(/[^\\d.]/g, '').replace(',', '.')) * 1000;\n}\n","import isString from './isString';\n\nexport default function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c, i) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n","import resolve from './resolve';\n\ntype ReactRef = { current: unknown };\ntype VueRef = { value: unknown };\n\nexport default function toValue(value: unknown): unknown {\n if (value && typeof value === 'object') {\n if (Object.hasOwn(value, 'current')) {\n // For React\n return (value as ReactRef).current;\n } else if (Object.hasOwn(value, 'value')) {\n // For Vue\n return (value as VueRef).value;\n }\n }\n\n // For Angular signals and functions usage\n return resolve(value);\n}\n","import { resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * The options for the `useControlledState` hook.\n */\nexport interface UseControlledStateOptions<T = unknown, E = unknown> {\n /**\n * The value of the controlled state.\n */\n value?: T | undefined;\n /**\n * The default value of the uncontrolled state.\n */\n defaultValue?: T | undefined;\n /**\n * Callback function that is called when the value changes.\n */\n onChange?: (newValue: E) => void;\n}\n\n/**\n * The return type of the `useControlledState` hook.\n * A tuple containing the current value and a function to update it.\n */\nexport type UseControlledStateReturnType<T = unknown> = [T | undefined, (inValue: unknown | ((prev?: T) => unknown)) => void, boolean];\n\n/**\n * A custom hook that manages controlled and uncontrolled state.\n *\n * @param {UseControlledStateOptions} options - The options for the controlled state.\n * @returns A tuple containing the current value and a function to update it.\n *\n * @example\n * ```tsx\n * const ControlledComponent = () => {\n * const [controlledValue, setControlledValue] = React.useState('');\n *\n * const [value, setValue] = useControlledState({\n * value: controlledValue,\n * defaultValue: 'initial value',\n * onChange: (newValue) => {\n * setControlledValue(newValue);\n * }\n * });\n *\n * return <Component value={value} onChange={(e) => setValue(e.target.value)} />;\n * };\n * ```\n */\nexport function useControlledState<T = unknown, E = T>({ value, defaultValue, onChange }: UseControlledStateOptions<T, E>): UseControlledStateReturnType<T | undefined> {\n const [valueState, setValueState] = React.useState<T | undefined>(defaultValue ?? value);\n\n const isControlled = value !== undefined;\n const computedValue = isControlled ? (value as T) : valueState;\n\n const setValue = React.useCallback(\n (inValue: unknown | ((prev?: T) => unknown)) => {\n // @todo - update resolve to accept multiple parameters\n const [newValue, onChangeParam] = resolve(inValue, computedValue, isControlled) as [T, E];\n\n onChange?.(onChangeParam);\n\n if (!isControlled) {\n setValueState(newValue);\n }\n },\n [computedValue, isControlled, onChange]\n );\n\n React.useEffect(() => {\n if (!isControlled) {\n setValueState(defaultValue);\n }\n }, [defaultValue, isControlled]);\n\n return [computedValue, setValue, isControlled];\n}\n","import { getTargetElement, isNotEmpty } from '@primeuix/utils';\nimport * as React from 'react';\nimport { usePrevious } from '../use-previous';\n\n/**\n * The options for the `useEventListener` hook.\n */\nexport interface UseEventListenerOptions<T = keyof HTMLElementEventMap> {\n /**\n * The target element to bind the event listener to.\n * @default 'document'\n */\n target?: 'document' | 'window' | 'body' | HTMLElement | (() => HTMLElement) | React.Ref<HTMLElement> | string | null;\n /**\n * The event type to listen for.\n */\n type: T | string;\n /**\n * The event listener callback.\n */\n listener: EventListener;\n /**\n * The event listener options\n */\n options?: AddEventListenerOptions | boolean;\n /**\n * A boolean indicating whether the event listener should be active.\n */\n when?: boolean;\n}\n\n/**\n * The return type of the `useEventListener` hook.\n * A tuple containing functions;\n * 1. `bind` function is used to bind the event listener.\n * 2. `unbind` function is used to unbind the event listener.\n */\nexport type UseEventListenerReturnType = [(options?: Partial<Omit<UseEventListenerOptions, 'target'>> & { target?: UseEventListenerOptions['target'] | Document | null }) => void, () => void];\n\n/**\n * Listens for the specified event type on the target element.\n *\n * @param {UseEventListenerOptions} options - The options for the event listener.\n * @returns A tuple containing functions;\n * 1. `bind` function is used to bind the event listener.\n * 2. `unbind` function is used to unbind the event listener.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const [bind, unbind] = useEventListener({\n * target: 'document',\n * type: 'click',\n * listener: (event) => {\n * console.log(event);\n * },\n * when: true\n * });\n *\n * return <div>Click me</div>;\n * };\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const [bind, unbind] = useEventListener({\n * target: () => document.querySelector('.element'),\n * type: 'mouseover',\n * listener: (event) => {\n * console.log(event);\n * }\n * });\n *\n * return <div>MouseOver to `.element`</div>;\n * };\n * ```\n */\nexport function useEventListener({ target = 'document', type, listener, options, when = true }: UseEventListenerOptions): UseEventListenerReturnType {\n const targetRef = React.useRef<HTMLElement | null>(null);\n const listenerRef = React.useRef<EventListener | null>(null);\n let prevListener = usePrevious(listener);\n let prevOptions = usePrevious(options);\n\n const bind = (bindOptions: Partial<Omit<UseEventListenerOptions, 'target'>> & { target?: UseEventListenerOptions['target'] | Document | null } = {}) => {\n const { target: bindTarget } = bindOptions;\n\n if (isNotEmpty(bindTarget)) {\n unbind();\n\n if (bindOptions.when || when) {\n targetRef.current = getTargetElement(bindTarget) as HTMLElement;\n }\n }\n\n if (!listenerRef.current && targetRef.current) {\n listenerRef.current = (event: Event) => listener && listener(event);\n targetRef.current.addEventListener(type, listenerRef.current, options);\n }\n };\n\n const unbind = () => {\n if (listenerRef.current) {\n targetRef.current?.removeEventListener(type, listenerRef.current, options);\n listenerRef.current = null;\n }\n };\n\n const dispose = () => {\n unbind();\n // Prevent memory leak by releasing\n prevListener = null;\n prevOptions = null;\n };\n\n const updateTarget = React.useCallback(() => {\n if (when) {\n targetRef.current = getTargetElement(target) as HTMLElement;\n } else {\n unbind();\n targetRef.current = null;\n }\n }, [target, when]);\n\n React.useEffect(() => {\n return () => {\n dispose();\n };\n }, []);\n\n React.useEffect(() => {\n updateTarget();\n }, [updateTarget]);\n\n React.useEffect(() => {\n const listenerChanged = `${prevListener}` !== `${listener}`;\n const optionsChanged = prevOptions !== options;\n const listenerExists = listenerRef.current;\n\n if (listenerExists && (listenerChanged || optionsChanged)) {\n unbind();\n\n if (when) {\n bind();\n }\n } else if (!listenerExists) {\n dispose();\n }\n }, [listener, options, when]);\n\n return [bind, unbind];\n}\n","import * as React from 'react';\n\n/**\n * Returns the previous value of the provided value.\n *\n * @param value - The value to track.\n * @returns The previous value of the provided value.\n *\n * @example\n * ```tsx\n * const [count, setCount] = React.useState(5);\n * const prevCount = usePrevious(count);\n *\n * console.log(prevCount); // undefined\n *\n * setCount(10);\n *\n * console.log(prevCount); // 5\n * ```\n */\nexport function usePrevious<T>(value: T): T | null | undefined {\n const ref = React.useRef<T | null>(null);\n\n React.useEffect(() => {\n ref.current = value;\n\n return () => {\n ref.current = null;\n };\n }, [value]);\n\n return ref.current;\n}\n","import * as React from 'react';\n\n/**\n * Generates a unique identifier.\n *\n * @param initialValue Optional initial value for the ID.\n * @returns The generated or provided ID.\n *\n * @example\n * ```tsx\n * const id = useId('foo');\n * console.log(id); // 'foo'\n * ```\n *\n * @example\n * ```tsx\n * const defaultId = useId();\n * console.log(defaultId); // e.g., 'pr_id_0'\n * ```\n */\nexport function useId(initialValue?: string): string {\n const idx = React.useId();\n const [idState, setIdState] = React.useState<string>(initialValue || `pr_id_${idx.replaceAll(/:|«|»/g, '')}`);\n\n React.useEffect(() => {\n setIdState(initialValue || `pr_id_${idx.replaceAll(/:|«|»/g, '')}`);\n }, [initialValue, idx]);\n\n return idState;\n}\n","import { useMountEffect } from '@primereact/hooks';\nimport { getUserAgent } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * Event fired when the component's state changes.\n */\nexport interface UseMaskChangeEvent {\n /**\n * The value of the component.\n */\n value: string | undefined;\n}\n\n/**\n * The options for the `useMask` hook.\n */\nexport interface UseMaskOptions {\n /**\n * Mask pattern.\n */\n mask: string;\n /**\n * Defines if model sets the raw unmasked value to bound value or the formatted mask value.\n * @default false\n */\n unmask?: string;\n /**\n * Placeholder character in mask, default is underscore.\n * @default _\n */\n slotChar?: string;\n /**\n * Clears the incomplete value on blur.\n * @default true\n */\n autoClear?: boolean;\n /**\n * Whether the components are clickable or not.\n * @default false\n */\n readOnly?: boolean;\n /**\n * Callback function that is called when the value is changed.\n * @param event The event that triggered the change.\n * @param event.value The value of the component.\n * @returns void\n */\n onMaskChange?: (event: UseMaskChangeEvent) => void;\n /**\n * Reference to the mask element.\n */\n target: HTMLInputElement;\n}\n\nexport interface UseMaskExposes {\n /**\n * Handles input events for the masked input field.\n * Processes character input and composition events while applying the mask pattern.\n * @param event - The form or composition event from the input element\n */\n onMaskInput: (event: React.FormEvent<HTMLInputElement> | React.CompositionEvent<HTMLInputElement>) => void;\n /**\n * Handles keydown events for special key operations.\n * Manages backspace, delete, escape, and enter key behaviors.\n * @param event - The keyboard event from the input element\n */\n onMaskKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Handles keypress events for character input validation.\n * Validates and places characters according to the mask pattern.\n * @param event - The keyboard event from the input element\n */\n onMaskKeyPress: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Handles focus events when the input gains focus.\n * Initializes the mask display and sets the cursor position.\n * @param event - The focus event from the input element\n */\n onMaskFocus: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * Handles blur events when the input loses focus.\n * Validates the final value and triggers change events if needed.\n * @param event - The focus event from the input element\n */\n onMaskBlur: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * Handles paste events for clipboard content insertion.\n * Processes pasted content according to the mask pattern.\n * @param event - The clipboard event from the input element\n */\n onMaskPaste: (event: React.ClipboardEvent<HTMLInputElement>) => void;\n}\n\n/**\n * useMask hook is used to enter input in a certain format such as numeric, date, currency, email and phone.\n *\n * @param {UseMaskOptions} options - The options for the mask.\n * @returns {UseMaskExposes} - The exposed methods for the mask.\n *\n * @example\n * ```tsx\n * const { onMaskInput, onMaskKeyDown, onMaskKeyPress, onMaskFocus, onMaskBlur, onMaskPaste } = useMask({\n * mask: '99/99/9999',\n * onMaskChange: (event: UseMaskChangeEvent) => setValue(event.value ?? ''),\n * target: ref\n * });\n *\n * return (\n * <div className=\"card flex justify-center\">\n * <InputText ref={ref} value={value} placeholder=\"99/99/9999\" onInput={onMaskInput} onKeyDown={onMaskKeyDown} onKeyPress={onMaskKeyPress} onFocus={onMaskFocus} onBlur={onMaskBlur} onPaste={onMaskPaste} />\n * </div>\n * );\n */\nexport function useMask(options: UseMaskOptions): UseMaskExposes {\n const { mask, unmask, slotChar = '_', autoClear = true, readOnly = false, onMaskChange, target } = options;\n\n const len = React.useRef(0);\n const tests = React.useRef<Array<RegExp | null>>([]);\n const buffer = React.useRef<string[]>([]);\n const defaultBuffer = React.useRef<string | null>(null);\n const partialPosition = React.useRef<number>(0);\n const androidChrome = React.useRef(false);\n const focus = React.useRef(false);\n const focusText = React.useRef<string | null>(null);\n const firstNonMaskPos = React.useRef<number | null>(null);\n const lastRequiredNonMaskPos = React.useRef<number>(0);\n const caretTimeoutId = React.useRef<NodeJS.Timeout | null>(null);\n const oldVal = React.useRef<string | null>(null);\n const currentVal = React.useRef<string | null>(null);\n\n const onMaskInput = (event: React.FormEvent<HTMLInputElement> | React.CompositionEvent<HTMLInputElement>) => {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if ('isComposing' in event && event.isComposing) {\n return;\n }\n\n if (androidChrome.current) handleAndroidInput();\n else handleInputChange(event);\n };\n\n const onMaskKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n const k = event.code;\n let pos, begin, end;\n const iPhone = /iphone/i.test(getUserAgent());\n\n oldVal.current = target?.value as string;\n\n //backspace, delete, and escape get special treatment\n if (k === 'Backspace' || k === 'Delete' || (iPhone && k === 'Escape')) {\n pos = caret();\n\n if (!pos) {\n return;\n }\n\n begin = pos.begin;\n end = pos.end;\n\n if (end - begin === 0) {\n begin = k !== 'Delete' ? seekPrev(begin) : (end = seekNext(begin - 1));\n end = k === 'Delete' ? seekNext(end) : end;\n }\n\n clearBuffer(begin, end);\n shiftL(begin, end - 1);\n updateModelValue((event.target as HTMLInputElement).value);\n\n event.preventDefault();\n } else if (k === 'Enter') {\n // enter\n target.blur();\n updateModelValue((event.target as HTMLInputElement).value);\n } else if (k === 'Escape') {\n // escape\n if (target) {\n target.value = focusText.current ?? '';\n }\n\n caret(0, checkVal());\n updateModelValue((event.target as HTMLInputElement).value);\n event.preventDefault();\n }\n };\n\n const onMaskKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly) {\n return;\n }\n\n const k = event.code,\n pos = caret();\n let p: number, c: string, next: number;\n\n if (!pos) {\n return;\n }\n\n if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey || event.key === 'CapsLock' || event.key === 'Escape' || event.key === 'Tab') {\n //Ignore\n return;\n } else if (k && k !== 'Enter') {\n if (pos.end - pos.begin !== 0) {\n clearBuffer(pos.begin, pos.end);\n shiftL(pos.begin, pos.end - 1);\n }\n\n p = seekNext(pos.begin - 1);\n\n if (p < len.current) {\n c = event.key;\n\n if (tests.current[p]?.test(c)) {\n shiftR(p);\n\n buffer.current[p] = c;\n writeBuffer();\n next = seekNext(p);\n\n if (/android/i.test(getUserAgent())) {\n //Path for CSP Violation on FireFox OS 1.1\n const proxy = () => {\n caret(next);\n };\n\n setTimeout(proxy, 0);\n } else {\n caret(next);\n }\n }\n }\n\n event.preventDefault();\n }\n\n updateModelValue((event.target as HTMLInputElement).value);\n };\n\n const onMaskFocus = () => {\n if (readOnly) {\n return;\n }\n\n if (caretTimeoutId.current) {\n clearTimeout(caretTimeoutId.current as NodeJS.Timeout);\n }\n\n focus.current = true;\n focusText.current = target.value as string;\n\n if (!target.value || target.value === defaultBuffer.current) {\n requestAnimationFrame(() => {\n if (target === document.activeElement) {\n caret(0, 0);\n }\n });\n } else {\n const pos = checkVal();\n\n caretTimeoutId.current = setTimeout(() => {\n if (target !== document.activeElement) {\n return;\n }\n\n writeBuffer();\n\n if (pos === mask?.replace('?', '').length) {\n caret(0, pos);\n } else {\n caret(pos);\n }\n }, 10);\n }\n };\n\n const onMaskBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n focus.current = false;\n checkVal();\n updateModelValue(event.target.value);\n\n if (target.value !== focusText.current) {\n const e = new Event('change', { bubbles: true, cancelable: false });\n\n target.dispatchEvent(e);\n }\n };\n\n const onMaskPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n handleInputChange(event);\n };\n\n const caret = (first?: number, last?: number): { begin: number; end: number } | undefined => {\n let begin = 0,\n end = 0;\n\n if (typeof first === 'number') {\n begin = first;\n end = typeof last === 'number' ? last : begin;\n\n target.setSelectionRange(begin, end);\n } else {\n if (target) {\n begin = target.selectionStart ?? 0;\n end = target.selectionEnd ?? 0;\n }\n }\n\n return { begin, end };\n };\n\n const getPlaceholder = (i: number) => {\n if (i < slotChar.length) {\n return slotChar.charAt(i);\n }\n\n return slotChar.charAt(0);\n };\n\n const seekNext = (pos: number) => {\n while (++pos < len.current && !tests.current[pos]);\n\n return pos;\n };\n\n const seekPrev = (pos: number) => {\n while (--pos >= 0 && !tests.current[pos]);\n\n return pos;\n };\n\n const shiftL = (begin: number, end: number) => {\n let i, j;\n\n if (begin < 0) {\n return;\n }\n\n for (i = begin, j = seekNext(end); i < len.current; i++) {\n if (tests.current[i]) {\n if (j < len.current && tests.current[i]?.test(buffer.current[j])) {\n buffer.current[i] = buffer.current[j];\n buffer.current[j] = getPlaceholder(j);\n } else {\n break;\n }\n\n j = seekNext(j);\n }\n }\n\n writeBuffer();\n caret(Math.max(firstNonMaskPos.current ?? 0, begin));\n };\n\n const shiftR = (pos: number) => {\n let i, c, j, t;\n\n for (i = pos, c = getPlaceholder(pos); i < len.current; i++) {\n if (tests.current[i]) {\n j = seekNext(i);\n t = buffer.current[i];\n buffer.current[i] = c;\n\n if (j < len.current && tests.current[j]?.test(t)) {\n c = t;\n } else {\n break;\n }\n }\n }\n };\n\n const handleAndroidInput = () => {\n const curVal = target.value as string;\n const pos = caret();\n\n if (!pos) {\n return;\n }\n\n if (oldVal.current && oldVal.current.length && oldVal.current.length > curVal.length) {\n // a deletion or backspace happened\n checkVal(true);\n while (pos.begin > 0 && !tests.current[pos.begin - 1]) pos.begin--;\n\n if (pos.begin === 0) {\n while (pos.begin < (firstNonMaskPos.current ?? 0) && !tests.current[pos.begin]) pos.begin++;\n }\n\n caret(pos.begin, pos.begin);\n } else {\n checkVal(true);\n while (pos.begin < len.current && !tests.current[pos.begin]) pos.begin++;\n\n caret(pos.begin, pos.begin);\n }\n };\n\n const clearBuffer = (start: number, end: number) => {\n let i;\n\n for (i = start; i < end && i < len.current; i++) {\n if (tests.current[i]) {\n buffer.current[i] = getPlaceholder(i);\n }\n }\n };\n\n const writeBuffer = () => {\n if (target) {\n target.value = buffer.current.join('');\n }\n };\n\n const checkVal = (allow = false): number => {\n //try to place characters where they belong\n const test = target.value;\n let lastMatch = -1,\n i,\n c,\n pos;\n\n for (i = 0, pos = 0; i < len.current; i++) {\n const currentTest = tests.current[i];\n\n if (currentTest !== null) {\n buffer.current[i] = getPlaceholder(i);\n\n while (pos++ < (test?.length ?? 0)) {\n c = test?.charAt(pos - 1) ?? '';\n\n if (currentTest.test(c)) {\n buffer.current[i] = c;\n lastMatch = i;\n break;\n }\n }\n\n if (pos > (test?.length ?? 0)) {\n clearBuffer(i + 1, len.current);\n break;\n }\n } else {\n if (buffer.current[i] === test?.charAt(pos)) {\n pos++;\n }\n\n if (i < partialPosition.current) {\n lastMatch = i;\n }\n }\n }\n\n if (allow) {\n writeBuffer();\n } else if (lastMatch + 1 < partialPosition.current) {\n if (autoClear || buffer.current.join('') === defaultBuffer.current) {\n // Invalid value. Remove it and replace it with the\n // mask, which is the default behavior.\n if (target.value) {\n target.value = '';\n }\n\n clearBuffer(0, len.current);\n } else {\n // Invalid value, but we opt to show the value to the\n // user and allow them to correct their mistake.\n writeBuffer();\n }\n } else {\n writeBuffer();\n\n if (target) {\n target.value = target.value.substring(0, lastMatch + 1);\n }\n }\n\n return partialPosition.current ? i : (firstNonMaskPos.current ?? 0);\n };\n\n const handleInputChange = (event: React.FormEvent<HTMLInputElement> | React.ClipboardEvent<HTMLInputElement>) => {\n const isPasteEvent = event.type === 'paste';\n\n if (readOnly || isPasteEvent) {\n return;\n }\n\n const pos = checkVal(true);\n\n caret(pos);\n updateModelValue((event.target as HTMLInputElement).value);\n };\n\n const unmaskValue = (value: string) => {\n const unmaskedBuffer = [];\n const thisbuffer = value.split('');\n\n for (let i = 0; i < thisbuffer.length; i++) {\n const c = thisbuffer[i];\n\n if (tests.current[i] && c !== getPlaceholder(i)) {\n unmaskedBuffer.push(c);\n }\n }\n\n return unmaskedBuffer.join('');\n };\n\n const updateModelValue = (value: string) => {\n if (currentVal.current === value) return;\n\n const val = unmask ? unmaskValue(value) : value;\n const finalValue = defaultBuffer.current !== val ? val : '';\n\n currentVal.current = value;\n\n if (target) {\n target.value = finalValue;\n }\n\n // Call the onMaskChange callback to update React state\n if (onMaskChange) {\n onMaskChange({ value: finalValue });\n }\n };\n\n const updateValue = (updateModel = true) => {\n if (target) {\n if (target.value == null) {\n target.value = '';\n\n if (updateModel) {\n updateModelValue('');\n }\n } else {\n checkVal();\n\n setTimeout(() => {\n if (target) {\n writeBuffer();\n checkVal();\n\n if (updateModel) updateModelValue(target.value);\n }\n }, 10);\n }\n\n focusText.current = target.value;\n }\n };\n\n const initMask = () => {\n tests.current = [];\n partialPosition.current = mask ? mask.length : 0;\n len.current = mask ? mask.length : 0;\n firstNonMaskPos.current = null;\n const defs = {\n 9: '[0-9]',\n a: '[A-Za-z]',\n '*': '[A-Za-z0-9]'\n } as Record<string, string>;\n\n const ua = getUserAgent();\n\n androidChrome.current = /chrome/i.test(ua) && /android/i.test(ua);\n\n const maskTokens = mask ? mask.split('') : '';\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c === '?') {\n len.current--;\n partialPosition.current = i;\n } else if (defs[c]) {\n tests.current.push(new RegExp(defs[c]));\n\n if (firstNonMaskPos.current === null) {\n firstNonMaskPos.current = tests.current.length - 1;\n }\n\n if (i < partialPosition.current) {\n lastRequiredNonMaskPos.current = tests.current.length - 1;\n }\n } else {\n tests.current.push(null);\n }\n }\n\n buffer.current = [];\n\n for (let i = 0; i < maskTokens.length; i++) {\n const c = maskTokens[i];\n\n if (c !== '?') {\n if (defs[c]) buffer.current.push(getPlaceholder(i));\n else buffer.current.push(c);\n }\n }\n\n defaultBuffer.current = buffer.current.join('');\n\n updateValue(false);\n };\n\n useMountEffect(() => {\n initMask();\n });\n\n return {\n onMaskInput,\n onMaskKeyDown,\n onMaskKeyPress,\n onMaskFocus,\n onMaskBlur,\n onMaskPaste\n };\n}\n","import * as React from 'react';\n\n/**\n * Listens for the specified media query.\n *\n * @param query - The media query to match.\n * @param when - A boolean indicating whether the media query should be active.\n * @returns A boolean indicating whether the media query matches.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const isMobile = useMatchMedia('(max-width: 768px)');\n *\n * return <div>{isMobile ? 'Mobile' : 'Desktop'}</div>;\n * };\n */\nexport function useMatchMedia(query: string, when: boolean = true): boolean {\n const [matches, setMatches] = React.useState(false);\n const matchMedia = React.useRef<MediaQueryList | null>(null);\n\n const handleChange = (event: MediaQueryListEvent) => setMatches(event.matches);\n const bind = () => matchMedia.current?.addEventListener('change', handleChange);\n const unbind = () => matchMedia.current?.removeEventListener('change', handleChange) && (matchMedia.current = null);\n\n React.useEffect(() => {\n if (when) {\n matchMedia.current = window.matchMedia(query);\n setMatches(matchMedia.current.matches);\n\n bind();\n }\n\n return () => {\n unbind();\n };\n }, [query, when]);\n\n return matches;\n}\n","import * as React from 'react';\n\n/**\n * Custom hook that runs a mount effect only once.\n * This is similar to `useEffect`, but it only runs on mount.\n *\n * @param {React.EffectCallback} effect the callback function\n * @returns {void}\n *\n * @example\n * ```tsx\n * const MyComponent = () => {\n * useMountEffect(() => {\n * console.log('Mounted');\n * });\n * };\n * ```\n */\nexport function useMountEffect(effect: React.EffectCallback): void {\n const mounted = React.useRef<boolean>(false);\n\n React.useEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n\n effect?.();\n }\n }, []);\n}\n","import * as React from 'react';\n\n/**\n * usePresence hook is used to manage the presence of a component.\n *\n * @param open - The open state.\n * @returns An object containing the present, exiting, mounted, and ref states.\n *\n * @example\n * ```tsx\n * const { present, exiting, mounted, ref } = usePresence(true);\n *\n * return present && (\n * <div className=\"card flex justify-center\"></div>\n * );\n */\n\nexport function usePresence(open: boolean, fallbackMs: number = 500) {\n const [present, setPresent] = React.useState(open);\n const [exiting, setExiting] = React.useState(false);\n const [mounted, setMounted] = React.useState(false);\n const ref = React.useRef<HTMLElement>(null);\n const cleanupRef = React.useRef<(() => void) | null>(null);\n const rafCleanupRef = React.useRef<(() => void) | null>(null);\n\n React.useEffect(() => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = null;\n }\n\n if (rafCleanupRef.current) {\n rafCleanupRef.current();\n rafCleanupRef.current = null;\n }\n\n if (open) {\n setPresent(true);\n setExiting(false);\n\n const rafs: number[] = [];\n\n rafs.push(\n requestAnimationFrame(() => {\n rafs.push(\n requestAnimationFrame(() => {\n rafs.push(requestAnimationFrame(() => setMounted(true)));\n })\n );\n })\n );\n\n rafCleanupRef.current = () => {\n rafs.forEach((raf) => cancelAnimationFrame(raf));\n rafs.length = 0;\n };\n } else if (ref.current) {\n setExiting(true);\n setMounted(false);\n const node = ref.current;\n let isHandled = false;\n\n const handleEnd = () => {\n if (isHandled) return;\n\n isHandled = true;\n\n setPresent(false);\n setExiting(false);\n\n node.removeEventListener('transitionend', handleEnd);\n node.removeEventListener('animationend', handleEnd);\n\n cleanupRef.current = null;\n };\n\n node.addEventListener('transitionend', handleEnd, { passive: true });\n node.addEventListener('animationend', handleEnd, { passive: true });\n\n // const fallbackTimeout = setTimeout(() => {\n // if (!isHandled) {\n // handleEnd();\n // }\n // }, fallbackMs);\n\n cleanupRef.current = () => {\n // clearTimeout(fallbackTimeout);\n\n if (!isHandled) {\n node.removeEventListener('transitionend', handleEnd);\n node.removeEventListener('animationend', handleEnd);\n }\n };\n } else {\n setMounted(false);\n setPresent(false);\n setExiting(false);\n }\n }, [open, fallbackMs]);\n\n React.useEffect(() => {\n return () => {\n if (cleanupRef.current) {\n cleanupRef.current();\n }\n\n if (rafCleanupRef.current) {\n rafCleanupRef.current();\n }\n };\n }, []);\n\n return { present, exiting, mounted, ref };\n}\n","import * as React from 'react';\n\n/**\n * Used to merge and differentiate incoming props with the default props.\n * - Keys that exist in both `props1` and `props2` are placed in `props`, with values from `props1`.\n * - Keys that exist in `props1` but not in `props2` are placed in `attrs`.\n *\n * @template P1 The type of the incoming set of props.\n * @template P2 The type of the default set of props.\n *\n * @param props1 The incoming set of props (e.g., user-defined or dynamic props).\n * @param props2 The default set of props (e.g., default props).\n * @returns An object containing:\n * - `props`: A new object containing keys that exist in both `props1` and `props2`, using values from `props1`.\n * - `attrs`: A new object containing keys that exist only in `props1`, excluding any keys from `props2`.\n *\n * @example\n * ```ts\n * const { props, attrs } = useProps({ id: 'foo', className: 'bar' }, { className: 'baz' });\n *\n * console.log(props); // { className: 'bar' }\n * console.log(attrs); // { id: 'foo' }\n * ```\n */\nexport function useProps<P1, P2>(props1: P1 = {} as P1, props2: P2 = {} as P2) {\n type Props = Pick<P1 & P2, keyof P2>;\n type Attrs = Omit<P1, keyof P2>;\n type Result = { props: Props; attrs: Attrs };\n\n return React.useMemo(() => {\n const result: Result = { props: { ...props2 } as Props, attrs: {} as Attrs };\n\n Object.entries(props1 as Record<string, unknown>).forEach(([key, value]) => {\n if (key in (props2 as Record<string, unknown>)) {\n (result.props as Record<string, unknown>)[key] = value;\n } else {\n (result.attrs as Record<string, unknown>)[key] = value;\n }\n });\n\n return result;\n }, [props1, props2]);\n}\n","import { getWindowScrollTop } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * The options for the `useScrollTop` hook.\n */\nexport interface UseScrollTopOptions {\n /**\n * Reference to the target element.\n * @default window\n */\n target?: Window | Element | null;\n /**\n * Defines the threshold value of the vertical scroll position of the target to toggle the visibility.\n * @default 400\n */\n threshold?: number;\n /**\n * Defines the scrolling behaviour, 'smooth' adds an animation and 'auto' scrolls with a jump.\n * @default smooth\n */\n behavior?: ScrollBehavior;\n}\n\n/**\n * The exposes for the `useScrollTop` hook.\n */\nexport interface UseScrollTopExposes {\n /**\n * Current visible state as a boolean.\n * @default false\n */\n visible: boolean;\n /**\n * Scrolls the target element to the top.\n */\n scrollToTop: () => void;\n}\n\n/**\n * useScrollTop hook is used to enter input in a certain format such as numeric, date, currency, email and phone.\n *\n * @param {UseScrollTopOptions} options - The options for the scroll top behavior.\n * @returns {UseScrollTopExposes} - The exposed methods for the scroll top behavior.\n *\n * @example\n * ```tsx\n * const { scrollToTop, visible } = useScrollTop({\n * target: elementRef.current,\n * threshold: 400,\n * behavior: 'smooth'\n * });\n *\n * return (\n * <div ref={elementRef}>\n * {visible && (\n * <Button onClick={scrollToTop}>\n * <i className=\"pi pi-arrow-up\" />\n * </Button>\n * )}\n * </div>\n * );\n */\nexport function useScrollTop(options?: UseScrollTopOptions): UseScrollTopExposes {\n const { target = typeof window !== 'undefined' ? window : null, threshold = 400, behavior = 'smooth' } = options || {};\n const [visible, setVisible] = React.useState(false);\n\n const scrollToTop = () => {\n target?.scroll({\n top: 0,\n behavior: behavior\n });\n };\n\n React.useEffect(() => {\n if (!target) return;\n\n const checkVisibility = (scrollY: number) => {\n if (scrollY > threshold) setVisible(true);\n else setVisible(false);\n };\n\n const onScroll = () => {\n const scrollY = target === window ? getWindowScrollTop() : (target as Element).scrollTop;\n\n checkVisibility(scrollY);\n };\n\n target.addEventListener('scroll', onScroll);\n\n return () => {\n target.removeEventListener('scroll', onScroll);\n };\n }, [target, threshold]);\n\n return {\n //state\n visible,\n //methods\n scrollToTop\n };\n}\n","import * as React from 'react';\n\n/**\n * Custom hook that runs an unmount effect only once.\n * This is similar to `useEffect`, but it only runs on unmount.\n *\n * @param {React.EffectCallback} effect the callback function\n * @returns {void}\n *\n * @example\n * ```tsx\n * const Component = () => {\n * useUnmountEffect(() => {\n * console.log('Unmounted');\n * });\n * };\n * ```\n */\nexport function useUnmountEffect(effect: React.EffectCallback): void {\n React.useEffect(() => {\n return () => {\n effect?.();\n };\n }, []);\n}\n","import * as React from 'react';\n\n/**\n * Custom hook that runs an update effect whenever dependencies change.\n * This is similar to `useEffect`, but it does not run on mount.\n *\n * @param {React.EffectCallback} effect the callback function\n * @param {React.DependencyList} dependencies the dependencies\n * @returns {void}\n *\n * @example\n * ```tsx\n * const Component = ({ value }) => {\n * useUpdateEffect(() => {\n * console.log('Updated');\n * }, [value]);\n * };\n * ```\n */\nexport function useUpdateEffect(effect: React.EffectCallback, dependencies?: React.DependencyList): void {\n const mounted = React.useRef<boolean>(false);\n\n React.useEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n\n return;\n }\n\n return effect?.();\n }, dependencies);\n}\n","import * as React from 'react';\n\n/**\n * Starts a view transition.\n *\n * @returns A function that starts a view transition.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const startTransition = useViewTransition();\n *\n * const handleClick = () => {\n * startTransition(() => {\n * // Perform some work\n * });\n * };\n *\n * return <button onClick={handleClick}>Click me</button>;\n * };\n */\nexport function useViewTransition() {\n const startTransition = React.useCallback((callback: () => void) => {\n if (document.startViewTransition) {\n document.startViewTransition(() => {\n callback();\n });\n } else {\n callback();\n }\n }, []);\n\n return startTransition;\n}\n","import * as React from 'react';\n\n/**\n * useVisibilityChange hook is used to check if the document is visible.\n *\n * @returns A boolean indicating whether the document is visible.\n *\n * @example\n * ```tsx\n * const Component = () => {\n * const isVisible = useVisibilityChange();\n *\n * return <div>{isVisible ? 'Visible' : 'Hidden'}</div>;\n * };\n */\nexport function useVisibilityChange() {\n const [isVisible, setIsVisible] = React.useState(true);\n\n React.useEffect(() => {\n const handleVisibilityChange = () => {\n setIsVisible(!document.hidden);\n };\n\n handleVisibilityChange();\n\n document.addEventListener('visibilitychange', handleVisibilityChange);\n\n return () => {\n document.removeEventListener('visibilitychange', handleVisibilityChange);\n };\n }, []);\n\n return isVisible;\n}\n","import { useProps } from '@primereact/hooks';\nimport type { LocaleProps } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultLocaleProps } from './Locale.props';\n\nexport const LocaleContext = React.createContext<LocaleProps | undefined>(undefined);\n\nexport const LocaleProvider = (inProps: React.PropsWithChildren<LocaleProps> = {}) => {\n const { attrs } = useProps(inProps, defaultLocaleProps as LocaleProps);\n const value = undefined;\n\n return <LocaleContext.Provider value={value}>{resolve(attrs.children, value)}</LocaleContext.Provider>;\n};\n","import type { LocaleProps } from '@primereact/types/core';\n\nexport const defaultLocaleProps: LocaleProps = {\n lang: 'en'\n};\n","import * as React from 'react';\nimport { LocaleContext } from './Locale.context';\n\nexport function useLocale() {\n const context = React.useContext(LocaleContext);\n\n if (context === undefined) {\n throw new Error('Context must be used within a LocaleProvider');\n }\n\n return context;\n}\n","import { useProps } from '@primereact/hooks';\nimport type { PassThroughProps } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultPTProps } from './PassThrough.props';\n\nexport const PassThroughContext = React.createContext<PassThroughProps | undefined>(undefined);\n\nexport const PassThroughProvider = (inProps: React.PropsWithChildren<PassThroughProps> = {}) => {\n const { props, attrs } = useProps(inProps, defaultPTProps as PassThroughProps);\n const { value, ...rest } = props;\n\n const pt = {\n value,\n options: rest\n };\n\n return <PassThroughContext.Provider value={pt}>{resolve(attrs.children, pt)}</PassThroughContext.Provider>;\n};\n","import type { PassThroughProps } from '@primereact/types/core';\n\nexport const defaultPTProps: PassThroughProps = {\n value: undefined,\n mergeProps: false,\n mergeSections: true\n};\n","import * as React from 'react';\nimport { PassThroughContext } from './PassThrough.context';\n\nexport function usePassThrough() {\n const context = React.useContext(PassThroughContext);\n\n if (context === undefined) {\n throw new Error('Context must be used within a PassThroughProvider');\n }\n\n return context;\n}\n","import { deepMerge } from '@primeuix/utils/object';\n\nexport default function definePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n return deepMerge(...presets) as T;\n}\n","import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function updatePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(Theme.getPreset(), ...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nconst ThemeService = EventBus();\n\nexport default ThemeService;\n","import { getKeyValue, isArray, isNotEmpty, isNumber, isObject, isString, matchRegex, toKebabCase } from '@primeuix/utils/object';\n\nexport const EXPR_REGEX = /{([^}]*)}/g; // Exp: '{a}', '{a.b}', '{a.b.c}' etc.\nexport const CALC_REGEX = /(\\d+\\s+[\\+\\-\\*\\/]\\s+\\d+)/g;\nexport const VAR_REGEX = /var\\([^)]+\\)/g;\n\nexport function toTokenKey(str: string): string {\n return isString(str) ? str.replace(/[A-Z]/g, (c: string, i: number) => (i === 0 ? c : '.' + c.toLowerCase())).toLowerCase() : str;\n}\n\nexport function merge(value1: any, value2: any): void {\n if (isArray(value1)) {\n value1.push(...(value2 || []));\n } else if (isObject(value1)) {\n Object.assign(value1, value2);\n }\n}\n\nexport function toValue(value: any): any {\n // Check for Figma ($value-$type)\n return isObject(value) && value.hasOwnProperty('$value') && value.hasOwnProperty('$type') ? (value as any).$value : value;\n}\n\nexport function toUnit(value: string, variable: string = ''): string {\n const excludedProperties = ['opacity', 'z-index', 'line-height', 'font-weight', 'flex', 'flex-grow', 'flex-shrink', 'order'];\n\n if (!excludedProperties.some((property) => variable.endsWith(property))) {\n const val = `${value}`.trim();\n const valArr = val.split(' ');\n\n return valArr.map((v) => (isNumber(v) ? `${v}px` : v)).join(' ');\n }\n\n return value;\n}\n\nexport function toNormalizePrefix(prefix: string): string {\n return prefix.replaceAll(/ /g, '').replace(/[^\\w]/g, '-');\n}\n\nexport function toNormalizeVariable(prefix: string = '', variable: string = ''): string {\n return toNormalizePrefix(`${isString(prefix, false) && isString(variable, false) ? `${prefix}-` : prefix}${variable}`);\n}\n\nexport function getVariableName(prefix: string = '', variable: string = ''): string {\n return `--${toNormalizeVariable(prefix, variable)}`;\n}\n\nexport function hasOddBraces(str: string = ''): boolean {\n const openBraces = (str.match(/{/g) || []).length;\n const closeBraces = (str.match(/}/g) || []).length;\n\n return (openBraces + closeBraces) % 2 !== 0;\n}\n\nexport function getVariableValue(value: any, variable: string = '', prefix: string = '', excludedKeyRegexes: RegExp[] = [], fallback?: string): string | undefined {\n if (isString(value)) {\n const val = value.trim();\n\n if (hasOddBraces(val)) {\n return undefined;\n } else if (matchRegex(val, EXPR_REGEX)) {\n const _val = val.replaceAll(EXPR_REGEX, (v: string) => {\n const path = v.replace(/{|}/g, '');\n const keys = path.split('.').filter((_v: string) => !excludedKeyRegexes.some((_r) => matchRegex(_v, _r)));\n\n return `var(${getVariableName(prefix, toKebabCase(keys.join('-')))}${isNotEmpty(fallback) ? `, ${fallback}` : ''})`;\n });\n\n return matchRegex(_val.replace(VAR_REGEX, '0'), CALC_REGEX) ? `calc(${_val})` : _val;\n }\n\n return val; //toUnit(val, variable);\n } else if (isNumber(value)) {\n return value; //toUnit(value, variable);\n }\n\n return undefined;\n}\n\nexport function getComputedValue(obj = {}, value: any): any {\n if (isString(value)) {\n const val = value.trim();\n\n return matchRegex(val, EXPR_REGEX) ? val.replaceAll(EXPR_REGEX, (v: string) => getKeyValue(obj, v.replace(/{|}/g, '')) as string) : val;\n } else if (isNumber(value)) {\n return value;\n }\n\n return undefined;\n}\n\nexport function setProperty(properties: string[], key: string, value?: string) {\n if (isString(key, false)) {\n properties.push(`${key}:${value};`);\n }\n}\n\nexport function getRule(selector: string, properties: string): string {\n if (selector) {\n return `${selector}{${properties}}`;\n }\n\n return '';\n}\n\nexport function evaluateDtExpressions(input: string, fn: (...args: any[]) => string): string {\n if (input.indexOf('dt(') === -1) return input;\n\n function fastParseArgs(str: string, fn: (...args: (string | number)[]) => string): (string | number)[] {\n const args: (string | number)[] = [];\n let i = 0;\n let current = '';\n let quote: string | null = null;\n let depth = 0;\n\n while (i <= str.length) {\n const c = str[i];\n\n if ((c === '\"' || c === \"'\" || c === '`') && str[i - 1] !== '\\\\') {\n quote = quote === c ? null : c;\n }\n\n if (!quote) {\n if (c === '(') depth++;\n if (c === ')') depth--;\n\n if ((c === ',' || i === str.length) && depth === 0) {\n const arg = current.trim();\n\n if (arg.startsWith('dt(')) {\n args.push(evaluateDtExpressions(arg, fn));\n } else {\n args.push(parseArg(arg));\n }\n\n current = '';\n i++;\n continue;\n }\n }\n\n if (c !== undefined) current += c;\n i++;\n }\n\n return args;\n }\n\n function parseArg(arg: string): string | number {\n const q = arg[0];\n\n if ((q === '\"' || q === \"'\" || q === '`') && arg[arg.length - 1] === q) {\n return arg.slice(1, -1);\n }\n\n const num = Number(arg);\n\n return isNaN(num) ? arg : num;\n }\n\n const indices: [number, number][] = [];\n const stack: number[] = [];\n\n for (let i = 0; i < input.length; i++) {\n if (input[i] === 'd' && input.slice(i, i + 3) === 'dt(') {\n stack.push(i);\n i += 2;\n } else if (input[i] === ')' && stack.length > 0) {\n const start = stack.pop()!;\n\n if (stack.length === 0) {\n indices.push([start, i]);\n }\n }\n }\n\n if (!indices.length) return input;\n\n for (let i = indices.length - 1; i >= 0; i--) {\n const [start, end] = indices[i];\n const inner = input.slice(start + 3, end);\n const args = fastParseArgs(inner, fn);\n const resolved = fn(...args);\n\n input = input.slice(0, start) + resolved + input.slice(end + 1);\n }\n\n return input;\n}\n","import { isEmpty, isNotEmpty, isObject, matchRegex, minifyCSS, resolve } from '@primeuix/utils/object';\nimport { dt, toVariables } from '../helpers/index';\nimport { CALC_REGEX, EXPR_REGEX, getRule, toTokenKey, VAR_REGEX } from './sharedUtils';\n\nexport default {\n regex: {\n rules: {\n class: {\n pattern: /^\\.([a-zA-Z][\\w-]*)$/,\n resolve(value: string) {\n return { type: 'class', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n attr: {\n pattern: /^\\[(.*)\\]$/,\n resolve(value: string) {\n return { type: 'attr', selector: `:root${value},:host${value}`, matched: this.pattern.test(value.trim()) };\n }\n },\n media: {\n pattern: /^@media (.*)$/,\n resolve(value: string) {\n return { type: 'media', selector: value, matched: this.pattern.test(value.trim()) };\n }\n },\n system: {\n pattern: /^system$/,\n resolve(value: string) {\n return { type: 'system', selector: '@media (prefers-color-scheme: dark)', matched: this.pattern.test(value.trim()) };\n }\n },\n custom: {\n resolve(value: string) {\n return { type: 'custom', selector: value, matched: true };\n }\n }\n },\n resolve(value: any) {\n const rules = Object.keys(this.rules)\n .filter((k) => k !== 'custom')\n .map((r) => (this.rules as any)[r]);\n\n return [value].flat().map((v) => rules.map((r) => r.resolve(v)).find((rr) => rr.matched) ?? this.rules.custom.resolve(v));\n }\n },\n _toVariables(theme: any, options: any) {\n return toVariables(theme, { prefix: options?.prefix });\n },\n getCommon({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n let primitive_css, primitive_tokens, semantic_css, semantic_tokens, global_css, global_tokens, style;\n\n // @todo - check if options is not empty\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const { primitive, semantic, extend } = preset;\n const { colorScheme, ...sRest } = semantic || {};\n const { colorScheme: eColorScheme, ...eRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: eDark, ...ecsRest } = eColorScheme || {};\n const prim_var: any = isNotEmpty(primitive) ? this._toVariables({ primitive }, options) : {};\n const sRest_var: any = isNotEmpty(sRest) ? this._toVariables({ semantic: sRest }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ light: csRest }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ dark }, options) : {};\n const eRest_var: any = isNotEmpty(eRest) ? this._toVariables({ semantic: eRest }, options) : {};\n const ecsRest_var: any = isNotEmpty(ecsRest) ? this._toVariables({ light: ecsRest }, options) : {};\n const ecsDark_var: any = isNotEmpty(eDark) ? this._toVariables({ dark: eDark }, options) : {};\n\n const [prim_css, prim_tokens] = [prim_var.declarations ?? '', prim_var.tokens];\n const [sRest_css, sRest_tokens] = [sRest_var.declarations ?? '', sRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n const [eRest_css, eRest_tokens] = [eRest_var.declarations ?? '', eRest_var.tokens || []];\n const [ecsRest_css, ecsRest_tokens] = [ecsRest_var.declarations ?? '', ecsRest_var.tokens || []];\n const [ecsDark_css, ecsDark_tokens] = [ecsDark_var.declarations ?? '', ecsDark_var.tokens || []];\n\n primitive_css = this.transformCSS(name, prim_css, 'light', 'variable', options, set, defaults);\n primitive_tokens = prim_tokens;\n\n const semantic_light_css = this.transformCSS(name, `${sRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults);\n const semantic_dark_css = this.transformCSS(name, `${csDark_css}`, 'dark', 'variable', options, set, defaults);\n\n semantic_css = `${semantic_light_css}${semantic_dark_css}`;\n semantic_tokens = [...new Set([...sRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n const global_light_css = this.transformCSS(name, `${eRest_css}${ecsRest_css}color-scheme:light`, 'light', 'variable', options, set, defaults);\n const global_dark_css = this.transformCSS(name, `${ecsDark_css}color-scheme:dark`, 'dark', 'variable', options, set, defaults);\n\n global_css = `${global_light_css}${global_dark_css}`;\n global_tokens = [...new Set([...eRest_tokens, ...ecsRest_tokens, ...ecsDark_tokens])];\n\n style = resolve(preset.css, { dt }) as string;\n }\n\n return {\n primitive: {\n css: primitive_css,\n tokens: primitive_tokens\n },\n semantic: {\n css: semantic_css,\n tokens: semantic_tokens\n },\n global: {\n css: global_css,\n tokens: global_tokens\n },\n style\n };\n },\n getPreset({ name = '', preset = {}, options, params, set, defaults, selector }: any) {\n let p_css, p_tokens, p_style;\n\n if (isNotEmpty(preset) && options.transform !== 'strict') {\n const _name = name.replace('-directive', '');\n const { colorScheme, extend, css, ...vRest } = preset;\n const { colorScheme: eColorScheme, ...evRest } = extend || {};\n const { dark, ...csRest } = colorScheme || {};\n const { dark: ecsDark, ...ecsRest } = eColorScheme || {};\n const vRest_var: any = isNotEmpty(vRest) ? this._toVariables({ [_name]: { ...vRest, ...evRest } }, options) : {};\n const csRest_var: any = isNotEmpty(csRest) ? this._toVariables({ [_name]: { ...csRest, ...ecsRest } }, options) : {};\n const csDark_var: any = isNotEmpty(dark) ? this._toVariables({ [_name]: { ...dark, ...ecsDark } }, options) : {};\n\n const [vRest_css, vRest_tokens] = [vRest_var.declarations ?? '', vRest_var.tokens || []];\n const [csRest_css, csRest_tokens] = [csRest_var.declarations ?? '', csRest_var.tokens || []];\n const [csDark_css, csDark_tokens] = [csDark_var.declarations ?? '', csDark_var.tokens || []];\n\n const light_variable_css = this.transformCSS(_name, `${vRest_css}${csRest_css}`, 'light', 'variable', options, set, defaults, selector);\n const dark_variable_css = this.transformCSS(_name, csDark_css, 'dark', 'variable', options, set, defaults, selector);\n\n p_css = `${light_variable_css}${dark_variable_css}`;\n p_tokens = [...new Set([...vRest_tokens, ...csRest_tokens, ...csDark_tokens])];\n\n p_style = resolve(css, { dt }) as string;\n }\n\n return {\n css: p_css,\n tokens: p_tokens,\n style: p_style\n };\n },\n getPresetC({ name = '', theme = {}, params, set, defaults }: any) {\n const { preset, options } = theme;\n const cPreset = preset?.components?.[name];\n\n return this.getPreset({ name, preset: cPreset, options, params, set, defaults });\n },\n // @deprecated - use getPresetC instead\n getPresetD({ name = '', theme = {}, params, set, defaults }: any) {\n const dName = name.replace('-directive', '');\n const { preset, options } = theme;\n const dPreset = preset?.components?.[dName] || preset?.directives?.[dName];\n\n return this.getPreset({ name: dName, preset: dPreset, options, params, set, defaults });\n },\n applyDarkColorScheme(options: any) {\n return !(options.darkModeSelector === 'none' || options.darkModeSelector === false);\n },\n getColorSchemeOption(options: any, defaults: any) {\n return this.applyDarkColorScheme(options) ? this.regex.resolve(options.darkModeSelector === true ? defaults.options.darkModeSelector : (options.darkModeSelector ?? defaults.options.darkModeSelector)) : [];\n },\n getLayerOrder(name: string, options: any = {}, params: any, defaults: any) {\n const { cssLayer } = options;\n\n if (cssLayer) {\n const order = resolve(cssLayer.order || cssLayer.name || 'primeui', params);\n\n return `@layer ${order}`;\n }\n\n return '';\n },\n getCommonStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const common = this.getCommon({ name, theme, params, set, defaults });\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return Object.entries(common || {})\n .reduce((acc: any, [key, value]) => {\n if (isObject(value) && Object.hasOwn(value, 'css')) {\n const _css = minifyCSS((value as any).css);\n const id = `${key}-variables`;\n\n acc.push(`<style type=\"text/css\" data-primevue-style-id=\"${id}\" ${_props}>${_css}</style>`); // @todo data-primevue -> data-primeui check in primevue usestyle\n }\n\n return acc;\n }, [])\n .join('');\n },\n getStyleSheet({ name = '', theme = {}, params, props = {}, set, defaults }: any) {\n const options = { name, theme, params, set, defaults };\n const preset_css = (name.includes('-directive') ? this.getPresetD(options) : this.getPresetC(options))?.css;\n const _props = Object.entries(props)\n .reduce((acc: any, [k, v]) => acc.push(`${k}=\"${v}\"`) && acc, [])\n .join(' ');\n\n return preset_css ? `<style type=\"text/css\" data-primevue-style-id=\"${name}-variables\" ${_props}>${minifyCSS(preset_css)}</style>` : ''; // @todo check\n },\n createTokens(obj: any = {}, defaults: any, parentKey: string = '', parentPath: string = '', tokens: any = {}) {\n const computedFn = function (this: any, colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) {\n if (stack.includes(this.path)) {\n console.warn(`Circular reference detected at ${this.path}`);\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: undefined\n };\n }\n\n stack.push(this.path);\n tokenPathMap['name'] = this.path;\n tokenPathMap['binding'] ||= {};\n\n let computedValue: any = this.value;\n\n if (typeof this.value === 'string' && EXPR_REGEX.test(this.value)) {\n const val = this.value.trim();\n const _val = val.replace(EXPR_REGEX, (v: any) => {\n const refPath = v.slice(1, -1);\n const refToken = this.tokens[refPath];\n\n if (!refToken) {\n console.warn(`Token not found for path: ${refPath}`);\n\n return `__UNRESOLVED__`;\n }\n\n const computed = refToken.computed(colorScheme, tokenPathMap, stack);\n\n if (Array.isArray(computed) && computed.length === 2) {\n return `light-dark(${computed[0].value},${computed[1].value})`;\n } else {\n return computed?.value ?? `__UNRESOLVED__`;\n }\n });\n\n computedValue = CALC_REGEX.test(_val.replace(VAR_REGEX, '0')) ? `calc(${_val})` : _val;\n }\n\n if (isEmpty(tokenPathMap['binding'])) {\n delete tokenPathMap['binding'];\n }\n\n stack.pop();\n\n return {\n colorScheme,\n path: this.path,\n paths: tokenPathMap,\n value: computedValue.includes('__UNRESOLVED__') ? undefined : computedValue\n };\n };\n\n const traverse = (obj: any, parentKey: string, parentPath: string) => {\n Object.entries(obj).forEach(([key, value]) => {\n const currentKey = matchRegex(key, defaults.variable.excludedKeyRegex) ? parentKey : parentKey ? `${parentKey}.${toTokenKey(key)}` : toTokenKey(key);\n\n const currentPath = parentPath ? `${parentPath}.${key}` : key;\n\n if (isObject(value)) {\n traverse(value, currentKey, currentPath);\n } else {\n if (!tokens[currentKey]) {\n tokens[currentKey] = {\n paths: [],\n computed: (colorScheme: string, tokenPathMap: any = {}, stack: string[] = []) => {\n if (tokens[currentKey].paths.length === 1) {\n return tokens[currentKey].paths[0].computed(tokens[currentKey].paths[0].scheme, tokenPathMap['binding'], stack);\n } else if (colorScheme && colorScheme !== 'none') {\n for (let i = 0; i < tokens[currentKey].paths.length; i++) {\n const p = tokens[currentKey].paths[i];\n\n if (p.scheme === colorScheme) {\n return p.computed(colorScheme, tokenPathMap['binding'], stack);\n }\n }\n }\n\n return tokens[currentKey].paths.map((p: any) => p.computed(p.scheme, tokenPathMap[p.scheme], stack));\n }\n };\n }\n\n tokens[currentKey].paths.push({\n path: currentPath,\n value,\n scheme: currentPath.includes('colorScheme.light') ? 'light' : currentPath.includes('colorScheme.dark') ? 'dark' : 'none',\n computed: computedFn,\n tokens\n });\n }\n });\n };\n\n traverse(obj, parentKey, parentPath);\n\n return tokens;\n },\n getTokenValue(tokens: any, path: string, defaults: any) {\n const normalizePath = (str: string) => {\n const strArr = str.split('.');\n\n return strArr.filter((s) => !matchRegex(s.toLowerCase(), defaults.variable.excludedKeyRegex)).join('.');\n };\n\n const token = normalizePath(path);\n const colorScheme = path.includes('colorScheme.light') ? 'light' : path.includes('colorScheme.dark') ? 'dark' : undefined;\n const computedValues = [tokens[token as any]?.computed(colorScheme)].flat().filter((computed) => computed);\n\n return computedValues.length === 1\n ? computedValues[0].value\n : computedValues.reduce((acc = {}, computed) => {\n const { colorScheme: cs, ...rest } = computed;\n\n acc[cs] = rest;\n\n return acc;\n }, undefined);\n },\n getSelectorRule(selector1: any, selector2: any, type: string, css: string) {\n return type === 'class' || type === 'attr' ? getRule(isNotEmpty(selector2) ? `${selector1}${selector2},${selector1} ${selector2}` : selector1, css) : getRule(selector1, getRule(selector2 ?? ':root,:host', css));\n },\n transformCSS(name: string, css: string, mode?: string, type?: string, options: any = {}, set?: any, defaults?: any, selector?: string) {\n if (isNotEmpty(css)) {\n const { cssLayer } = options;\n\n if (type !== 'style') {\n const colorSchemeOption = this.getColorSchemeOption(options, defaults);\n\n css =\n mode === 'dark'\n ? colorSchemeOption.reduce((acc, { type, selector: _selector }) => {\n if (isNotEmpty(_selector)) {\n acc += _selector.includes('[CSS]') ? _selector.replace('[CSS]', css) : this.getSelectorRule(_selector, selector, type, css);\n }\n\n return acc;\n }, '')\n : getRule(selector ?? ':root,:host', css);\n }\n\n if (cssLayer) {\n const layerOptions = {\n name: 'primeui',\n order: 'primeui'\n };\n\n isObject(cssLayer) && (layerOptions.name = resolve((cssLayer as any).name, { name, type }));\n\n if (isNotEmpty(layerOptions.name)) {\n css = getRule(`@layer ${layerOptions.name}`, css);\n set?.layerNames(layerOptions.name);\n }\n }\n\n return css;\n }\n\n return '';\n }\n};\n","function normalizeColor(color: string): string {\n if (color.length === 4) {\n return `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n\n return color;\n}\n\nfunction hexToRgb(hex: string) {\n const bigint = parseInt(hex.substring(1), 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n\n return { r, g, b };\n}\n\nfunction rgbToHex(r: number, g: number, b: number) {\n return `#${r.toString(16).padStart(2, '0')}${g.toString(16).padStart(2, '0')}${b.toString(16).padStart(2, '0')}`;\n}\n\nexport default (color1: string, color2: string, weight: number): string => {\n color1 = normalizeColor(color1);\n color2 = normalizeColor(color2);\n\n const p = weight / 100;\n const w = p * 2 - 1;\n const w1 = (w + 1) / 2.0;\n const w2 = 1 - w1;\n\n const rgb1 = hexToRgb(color1);\n const rgb2 = hexToRgb(color2);\n\n const r = Math.round(rgb1.r * w1 + rgb2.r * w2);\n const g = Math.round(rgb1.g * w1 + rgb2.g * w2);\n const b = Math.round(rgb1.b * w1 + rgb2.b * w2);\n\n return rgbToHex(r, g, b);\n};\n","import { matchRegex } from '@primeuix/utils';\nimport type { ColorScale } from '../..';\nimport { EXPR_REGEX } from '../../utils/index';\nimport shade from './shade';\nimport tint from './tint';\n\nconst scales: number[] = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];\n\nexport default (color: string): string | ColorScale => {\n if (matchRegex(color, EXPR_REGEX)) {\n const token = color.replace(/{|}/g, '');\n\n return scales.reduce<ColorScale>((acc, scale) => {\n acc[scale as keyof ColorScale] = `{${token}.${scale}}`;\n\n return acc;\n }, {});\n }\n\n return typeof color === 'string'\n ? scales.reduce<ColorScale>((acc, scale, i) => {\n acc[scale as keyof ColorScale] = i <= 5 ? tint(color, (5 - i) * 19) : shade(color, (i - 5) * 15);\n\n return acc;\n }, {})\n : color;\n};\n","import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#000000', color, percent);\n","import mix from './mix';\n\nexport default (color: string, percent: number) => mix('#ffffff', color, percent);\n","import { resolve } from '@primeuix/utils';\nimport { evaluateDtExpressions, type StyleType } from '..';\nimport { dt } from './dt';\n\nexport function css(strings: TemplateStringsArray | StyleType, ...exprs: unknown[]): string | undefined {\n if (strings instanceof Array) {\n const raw = strings.reduce((acc, str, i) => acc + str + (resolve(exprs[i], { dt }) ?? ''), '');\n\n return evaluateDtExpressions(raw, dt);\n }\n\n return resolve(strings as unknown, { dt }) as string | undefined;\n}\n","import { isEmpty, matchRegex } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { EXPR_REGEX, getVariableValue } from '../utils/index';\n\nexport const $dt = (tokenPath: string): { name: string; variable: string; value: unknown } => {\n const theme = Theme.getTheme();\n\n const variable = dtwt(theme, tokenPath, undefined, 'variable');\n const name = variable?.match(/--[\\w-]+/g)?.[0];\n const value = dtwt(theme, tokenPath, undefined, 'value');\n\n return {\n name,\n variable,\n value\n };\n};\n\nexport const dt = (...args: Parameters<typeof dtwt> extends [unknown, ...infer Rest] ? Rest : never) => {\n return dtwt(Theme.getTheme(), ...args);\n};\n\nexport const dtwt = (theme: any = {}, tokenPath: string, fallback?: string, type?: string) => {\n if (tokenPath) {\n const { variable: VARIABLE, options: OPTIONS } = Theme.defaults || {};\n const { prefix, transform } = theme?.options || OPTIONS || {};\n const token = matchRegex(tokenPath, EXPR_REGEX) ? tokenPath : `{${tokenPath}}`;\n const isStrictTransform = type === 'value' || (isEmpty(type) && transform === 'strict'); // @todo - TRANSFORM: strict | lenient(default)\n\n return isStrictTransform ? Theme.getTokenValue(tokenPath) : getVariableValue(token, undefined, prefix, [VARIABLE.excludedKeyRegex], fallback);\n }\n\n return '';\n};\n","import { mergeKeys } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport const $t = (theme: any = {}) => {\n let { preset: _preset, options: _options } = theme;\n\n return {\n preset(value: any) {\n _preset = _preset ? mergeKeys(_preset, value) : value;\n\n return this;\n },\n options(value: any) {\n _options = _options ? { ..._options, ...value } : value;\n\n return this;\n },\n // features\n primaryPalette(primary: any) {\n const { semantic } = _preset || {};\n\n _preset = { ..._preset, semantic: { ...semantic, primary } };\n\n return this;\n },\n surfacePalette(surface: any) {\n const { semantic } = _preset || {};\n const lightSurface = surface && Object.hasOwn(surface, 'light') ? surface.light : surface;\n const darkSurface = surface && Object.hasOwn(surface, 'dark') ? surface.dark : surface;\n const newColorScheme = {\n colorScheme: {\n light: { ...semantic?.colorScheme?.light, ...(!!lightSurface && { surface: lightSurface }) },\n dark: { ...semantic?.colorScheme?.dark, ...(!!darkSurface && { surface: darkSurface }) }\n }\n };\n\n _preset = { ..._preset, semantic: { ...semantic, ...newColorScheme } };\n\n return this;\n },\n // actions\n define({ useDefaultPreset = false, useDefaultOptions = false } = {}) {\n return {\n preset: useDefaultPreset ? Theme.getPreset() : _preset,\n options: useDefaultOptions ? Theme.getOptions() : _options\n };\n },\n update({ mergePresets = true, mergeOptions = true } = {}) {\n const newTheme = {\n preset: mergePresets ? mergeKeys(Theme.getPreset(), _preset) : _preset,\n options: mergeOptions ? { ...Theme.getOptions(), ..._options } : _options\n };\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n },\n use(options: any) {\n const newTheme = this.define(options);\n\n Theme.setTheme(newTheme);\n\n return newTheme;\n }\n };\n};\n","import { isObject, matchRegex, toKebabCase } from '@primeuix/utils/object';\nimport Theme from '../config/index';\nimport { getRule, getVariableName, getVariableValue, setProperty, toNormalizeVariable, toValue } from '../utils/index';\n\nexport interface toVariableOptions {\n prefix?: string;\n selector?: string;\n excludedKeyRegex?: RegExp;\n}\n\nexport interface toVariableOutput {\n value: string[];\n tokens: string[];\n declarations: string;\n css: string;\n}\n\nexport default function (theme: any, options: toVariableOptions = {}): toVariableOutput {\n const VARIABLE = Theme.defaults.variable;\n const { prefix = VARIABLE.prefix, selector = VARIABLE.selector, excludedKeyRegex = VARIABLE.excludedKeyRegex } = options;\n\n const tokens: string[] = [];\n const variables: string[] = [];\n\n const stack = [{ node: theme, path: prefix }];\n\n while (stack.length) {\n const { node, path } = stack.pop()!;\n\n for (const key in node) {\n const raw = node[key];\n const val = toValue(raw);\n\n const skipNormalize = matchRegex(key, excludedKeyRegex);\n const variablePath = skipNormalize ? toNormalizeVariable(path) : toNormalizeVariable(path, toKebabCase(key));\n\n if (isObject(val)) {\n stack.push({ node: val, path: variablePath });\n } else {\n const varName = getVariableName(variablePath);\n const varValue = getVariableValue(val, variablePath, prefix, [excludedKeyRegex]);\n\n setProperty(variables, varName, varValue);\n\n let token = variablePath;\n\n if (prefix && token.startsWith(prefix + '-')) {\n token = token.slice(prefix.length + 1);\n }\n\n tokens.push(token.replace(/-/g, '.'));\n }\n }\n }\n\n const declarations = variables.join('');\n\n return {\n value: variables,\n tokens,\n declarations,\n css: getRule(selector, declarations)\n };\n}\n","import ThemeService from '../service/index';\nimport { ThemeUtils } from '../utils/index';\n\nexport default {\n defaults: {\n variable: {\n prefix: 'p',\n selector: ':root,:host',\n excludedKeyRegex: /^(primitive|semantic|components|directives|variables|colorscheme|light|dark|common|root|states|extend|css)$/gi\n },\n options: {\n prefix: 'p',\n darkModeSelector: 'system',\n cssLayer: false\n }\n },\n _theme: undefined,\n _layerNames: new Set(),\n _loadedStyleNames: new Set(),\n _loadingStyles: new Set(),\n _tokens: {},\n update(newValues: any = {}) {\n const { theme } = newValues;\n\n if (theme) {\n this._theme = {\n ...theme,\n options: {\n ...this.defaults.options,\n ...theme.options\n }\n };\n this._tokens = ThemeUtils.createTokens(this.preset, this.defaults);\n this.clearLoadedStyleNames();\n }\n },\n get theme(): any {\n return this._theme;\n },\n get preset() {\n return this.theme?.preset || {};\n },\n get options() {\n return this.theme?.options || {};\n },\n get tokens() {\n return this._tokens;\n },\n getTheme() {\n return this.theme;\n },\n setTheme(newValue: any) {\n this.update({ theme: newValue });\n ThemeService.emit('theme:change', newValue);\n },\n getPreset() {\n return this.preset;\n },\n setPreset(newValue: any) {\n this._theme = { ...this.theme, preset: newValue };\n this._tokens = ThemeUtils.createTokens(newValue, this.defaults);\n\n this.clearLoadedStyleNames();\n ThemeService.emit('preset:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getOptions() {\n return this.options;\n },\n setOptions(newValue: any) {\n this._theme = { ...this.theme, options: newValue };\n\n this.clearLoadedStyleNames();\n ThemeService.emit('options:change', newValue);\n ThemeService.emit('theme:change', this.theme);\n },\n getLayerNames() {\n return [...this._layerNames];\n },\n setLayerNames(layerName: any) {\n this._layerNames.add(layerName);\n },\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name: string) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name: string) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name: string) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n },\n getTokenValue(tokenPath: string) {\n return ThemeUtils.getTokenValue(this.tokens, tokenPath, this.defaults);\n },\n getCommon(name = '', params: any) {\n return ThemeUtils.getCommon({ name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getComponent(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetC(options);\n },\n // @deprecated - use getComponent instead\n getDirective(name = '', params: any) {\n const options = { name, theme: this.theme, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPresetD(options);\n },\n getCustomPreset(name = '', preset: any, selector: string, params: any) {\n const options = { name, preset, options: this.options, selector, params, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } };\n\n return ThemeUtils.getPreset(options);\n },\n getLayerOrderCSS(name = '') {\n return ThemeUtils.getLayerOrder(name, this.options, { names: this.getLayerNames() }, this.defaults);\n },\n transformCSS(name = '', css: string, type: string = 'style', mode?: string) {\n return ThemeUtils.transformCSS(name, css, mode, type, this.options, { layerNames: this.setLayerNames.bind(this) }, this.defaults);\n },\n getCommonStyleSheet(name = '', params: any, props = {}) {\n return ThemeUtils.getCommonStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n getStyleSheet(name: string, params: any, props = {}) {\n return ThemeUtils.getStyleSheet({ name, theme: this.theme, params, props, defaults: this.defaults, set: { layerNames: this.setLayerNames.bind(this) } });\n },\n onStyleMounted(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleUpdated(name: string) {\n this._loadingStyles.add(name);\n },\n onStyleLoaded(event: any, { name }: { name: any }) {\n if (this._loadingStyles.size) {\n this._loadingStyles.delete(name);\n\n ThemeService.emit(`theme:${name}:load`, event); // Exp: ThemeService.emit('theme:panel-style:load', event)\n !this._loadingStyles.size && ThemeService.emit('theme:load');\n }\n }\n};\n","import { $t } from '../helpers/index';\n\nexport default function updatePrimaryPalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().primaryPalette(palette).update().preset as P;\n}\n","import { $t } from '../helpers/index';\n\nexport default function updateSurfacePalette<T = unknown, P = unknown>(palette?: T): P {\n return $t().surfacePalette(palette).update().preset as P;\n}\n","import { deepMerge } from '@primeuix/utils/object';\nimport Theme from '../config/index';\n\nexport default function usePreset<T extends Record<string, unknown>>(...presets: T[]): T {\n const newPreset = deepMerge(...presets);\n\n Theme.setPreset(newPreset);\n\n return newPreset as T;\n}\n","import { $t } from '../helpers/index';\n\nexport default function useTheme<T = unknown>(theme: T): T {\n return $t(theme).update({ mergePresets: false }) as T;\n}\n","import { createStyleMarkup, isNotEmpty } from '@primeuix/utils';\n\nexport interface StyleSheetProps {\n attrs?: Record<string, unknown>;\n}\n\nexport interface StyleMeta<E = HTMLStyleElement> {\n name?: string;\n css?: string;\n attrs?: Record<string, unknown>;\n markup?: string;\n element?: E;\n}\n\nclass StyleSheet<E = HTMLStyleElement> {\n _styles: Map<string, StyleMeta<E>>;\n _attrs: Record<string, unknown>;\n constructor({ attrs }: StyleSheetProps = {}) {\n this._styles = new Map();\n this._attrs = attrs || {};\n }\n get(key: string) {\n return this._styles.get(key);\n }\n has(key: string) {\n return this._styles.has(key);\n }\n delete(key: string) {\n this._styles.delete(key);\n }\n clear() {\n this._styles.clear();\n }\n add(key: string, css?: string) {\n if (isNotEmpty(css)) {\n const meta = {\n name: key,\n css,\n attrs: this._attrs,\n markup: createStyleMarkup(css, this._attrs)\n } satisfies StyleMeta<E>;\n\n this._styles.set(key, {\n ...meta,\n element: this.createStyleElement(meta)\n });\n }\n }\n update() {\n // @todo\n }\n getStyles() {\n return this._styles;\n }\n getAllCSS() {\n return [...this._styles.values()].map((style) => style.css).filter(String);\n }\n getAllMarkup() {\n return [...this._styles.values()].map((style) => style.markup).filter(String);\n }\n getAllElements() {\n return [...this._styles.values()].map((style) => style.element);\n }\n /**\n * Used to create a style element.\n *\n * @param {StyleMeta} meta\n * @returns {HTMLStyleElement | undefined}\n */\n // eslint-disable-next-line\n createStyleElement(meta: StyleMeta = {}): E | undefined {\n return undefined;\n }\n}\n\nexport default StyleSheet;\n","import { useProps } from '@primereact/hooks';\nimport type { ThemeProps } from '@primereact/types/core';\nimport { Theme } from '@primeuix/styled';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultThemeProps } from './Theme.props';\n\nexport const ThemeContext = React.createContext<ThemeProps | null>(null);\n\nexport const ThemeProvider = (inProps: ThemeProps = {}) => {\n const { props } = useProps(inProps, defaultThemeProps);\n const { stylesheet, preset, ...rest } = props;\n\n const value = {\n preset,\n stylesheet,\n ...rest\n };\n\n Theme.setTheme({ preset, options: rest });\n\n return <ThemeContext.Provider value={value}>{resolve(inProps.children, value)}</ThemeContext.Provider>;\n};\n","import type { ThemeProps } from '@primereact/types/core';\n\nexport const defaultThemeProps: ThemeProps = {\n preset: undefined,\n prefix: 'p',\n darkModeSelector: 'system',\n cssLayer: false,\n stylesheet: undefined\n};\n","import * as React from 'react';\nimport { ThemeContext } from './Theme.context';\n\nexport function useTheme() {\n const context = React.useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error('Context must be used within a ThemeProvider');\n }\n\n return context;\n}\n","import { LocaleProvider } from '@primereact/core/locale';\nimport { PassThroughProvider } from '@primereact/core/passthrough';\nimport { ThemeProvider } from '@primereact/core/theme';\nimport { useProps } from '@primereact/hooks';\nimport type { PrimeReactProps } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultConfigProps } from './PrimeReact.props';\n\nexport const PrimeReactContext = React.createContext<PrimeReactProps | undefined>(undefined);\n\nexport function PrimeReactProvider(inProps: React.PropsWithChildren<PrimeReactProps> = {}) {\n const { props, attrs } = useProps(inProps, defaultConfigProps);\n\n // states\n const [inputVariant, setInputVariant] = React.useState(props.inputVariant);\n const [defaults, setDefaults] = React.useState(props.defaults);\n const [zIndex, setZIndex] = React.useState(props.zIndex);\n\n const value = {\n inputVariant,\n setInputVariant,\n defaults,\n setDefaults,\n zIndex,\n setZIndex\n };\n\n return (\n <PrimeReactContext.Provider value={value}>\n <LocaleProvider lang={props.locale}>\n <PassThroughProvider value={props.pt} {...props.ptOptions}>\n <ThemeProvider preset={props.theme?.preset} stylesheet={props.stylesheet} {...props.theme?.options}>\n {resolve(attrs.children, value)}\n </ThemeProvider>\n </PassThroughProvider>\n </LocaleProvider>\n </PrimeReactContext.Provider>\n );\n}\n","import { FilterMatchMode } from '@primereact/core/api';\nimport type { PrimeReactProps } from '@primereact/types/core';\n\nexport const defaultConfigProps: PrimeReactProps = {\n csp: { nonce: undefined },\n defaults: undefined,\n filterMatchModeOptions: {\n text: [FilterMatchMode.STARTS_WITH, FilterMatchMode.CONTAINS, FilterMatchMode.NOT_CONTAINS, FilterMatchMode.ENDS_WITH, FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS],\n numeric: [FilterMatchMode.EQUALS, FilterMatchMode.NOT_EQUALS, FilterMatchMode.LESS_THAN, FilterMatchMode.LESS_THAN_OR_EQUAL_TO, FilterMatchMode.GREATER_THAN, FilterMatchMode.GREATER_THAN_OR_EQUAL_TO],\n date: [FilterMatchMode.DATE_IS, FilterMatchMode.DATE_IS_NOT, FilterMatchMode.DATE_BEFORE, FilterMatchMode.DATE_AFTER]\n },\n inputVariant: undefined,\n locale: 'en',\n pt: undefined,\n ptOptions: { mergeSections: true, mergeProps: false },\n ripple: false,\n theme: undefined,\n stylesheet: undefined,\n unstyled: false,\n zIndex: { modal: 1100, overlay: 1000, menu: 1000, tooltip: 1100 }\n};\n","import { LocaleContext } from '@primereact/core/locale';\nimport { PassThroughContext } from '@primereact/core/passthrough';\nimport { ThemeContext } from '@primereact/core/theme';\nimport * as React from 'react';\nimport { PrimeReactContext } from './PrimeReact.context';\n\nexport function usePrimeReact() {\n const config = React.useContext(PrimeReactContext);\n const locale = React.useContext(LocaleContext);\n const passthrough = React.useContext(PassThroughContext);\n const theme = React.useContext(ThemeContext);\n\n if (config === undefined) {\n throw new Error('Context must be used within a PrimeReactProvider');\n }\n\n return {\n config,\n locale,\n passthrough,\n theme\n };\n}\n","import * as React from 'react';\n\nexport const combinedRefs = <I = unknown>(innerRef?: React.Ref<I>, forwardRef?: React.Ref<unknown>) => {\n if (innerRef && forwardRef) {\n if (typeof forwardRef === 'function') {\n forwardRef(innerRef && 'current' in innerRef ? innerRef.current : null);\n } else {\n if ('current' in forwardRef) {\n forwardRef.current = innerRef && 'current' in innerRef ? innerRef.current : null;\n }\n }\n }\n};\n","import { getScrollableParents } from '@primeuix/utils/dom';\n\nexport class ConnectedOverlayScrollHandler {\n private element: HTMLElement | null;\n private listener: (() => void) | null;\n private scrollableParents: Element[] | null = null;\n\n constructor(element: HTMLElement | null, listener: () => void = () => {}) {\n this.element = element;\n this.listener = listener;\n }\n\n bindScrollListener() {\n if (!this.element) return;\n\n this.scrollableParents = getScrollableParents(this.element);\n\n for (let i = 0; i < this.scrollableParents.length; i++) {\n const parent = this.scrollableParents[i];\n\n if (parent && this.listener) {\n parent.addEventListener('scroll', this.listener);\n }\n }\n }\n\n unbindScrollListener() {\n if (this.scrollableParents && this.listener) {\n for (let i = 0; i < this.scrollableParents.length; i++) {\n const parent = this.scrollableParents[i];\n\n if (parent) {\n parent.removeEventListener('scroll', this.listener);\n }\n }\n }\n }\n\n destroy() {\n this.unbindScrollListener();\n this.element = null;\n this.listener = null;\n this.scrollableParents = null;\n }\n}\n","import { resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\nfunction createContext<T>(defaultValue?: T, fallback?: () => never | T | undefined) {\n const Context = React.createContext<T | undefined>(defaultValue);\n\n const useContext = () => {\n const context = React.useContext(Context);\n\n if (context === undefined) {\n return fallback?.();\n }\n\n return context;\n };\n\n const Provider = ({ value, children }: { value: T; children: React.ReactNode }) => <Context.Provider value={value}>{resolve(children, value)}</Context.Provider>;\n\n return [Provider, useContext] as const;\n}\n\nexport function createSafeContext<T>(defaultValue?: T, message?: string) {\n return createContext<T>(defaultValue, () => {\n throw new Error(message || 'Context must be used within a Provider');\n });\n}\n\nexport function createOptionalContext<T>(defaultValue?: T) {\n return createContext<T>(defaultValue, () => {\n return defaultValue;\n });\n}\n","export const StyleRegistry = {\n _loadedStyleNames: new Set(),\n getLoadedStyleNames() {\n return this._loadedStyleNames;\n },\n isStyleNameLoaded(name: string) {\n return this._loadedStyleNames.has(name);\n },\n setLoadedStyleName(name: string) {\n this._loadedStyleNames.add(name);\n },\n deleteLoadedStyleName(name: string) {\n this._loadedStyleNames.delete(name);\n },\n clearLoadedStyleNames() {\n this._loadedStyleNames.clear();\n }\n};\n","export * from './combinedRefs';\nexport * from './ConnectedOverlayScrollHandler';\nexport * from './createContext';\nexport * from './styleRegistry';\n\nexport function isValidElement(obj: unknown): obj is React.ReactElement {\n return typeof obj === 'object' && obj !== null && ((obj as React.ExoticComponent).$$typeof === Symbol.for('react.transitional.element') || (obj as React.ExoticComponent).$$typeof === Symbol.for('react.element'));\n}\n","import { usePrimeReact } from '@primereact/core/config';\nimport { combinedRefs } from '@primereact/core/utils';\nimport { useAttrSelector, useId, useProps } from '@primereact/hooks';\nimport type { BaseInstance, BaseSetup, CommonInstance, Instance, useBaseOptions } from '@primereact/types/core';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * A custom hook for creating a base instance.\n * This hook is used to initialize a base instance with common properties and methods.\n * It handles props, attributes, and provides a setup function for additional configuration.\n * @param name The name of the base instance.\n * @param options The options for the base instance.\n * @returns The base instance.\n */\nexport const useBase = <IProps extends { id?: string; ref?: React.Ref<unknown> }, DProps, Exposes extends Record<PropertyKey, unknown>>(name: string = 'UnknownBase', options: useBaseOptions<IProps, DProps, Exposes>) => {\n const $primereact = usePrimeReact();\n const { inProps, defaultProps, setup } = options || {};\n\n const id = useId(inProps?.id as string | undefined);\n const $attrSelector = useAttrSelector('pc_');\n\n const ref = React.useRef(inProps?.ref ?? null);\n const elementRef = React.useRef<HTMLElement | null>(null);\n\n const base = React.useMemo<BaseInstance<IProps>>(\n () => ({\n ref,\n elementRef,\n id,\n name,\n inProps,\n $attrSelector,\n $primereact\n }),\n [id, inProps, $attrSelector, $primereact]\n );\n\n const computedDefaultProps = React.useMemo<DProps>(() => {\n const globalDefaults = resolve($primereact?.config?.defaults?.[name] || $primereact?.config?.defaults?.[name.toLowerCase()], base) as { props?: DProps } | undefined;\n\n return { ...defaultProps, ...globalDefaults?.props } as DProps;\n }, [defaultProps, $primereact?.config?.defaults?.[name]]);\n\n const { props, attrs } = useProps(inProps, computedDefaultProps);\n\n const common = React.useMemo<CommonInstance<typeof props, IProps>>(\n () => ({\n ...base,\n props,\n attrs\n }),\n [base, props, attrs]\n );\n\n const $computedSetup = resolve(setup as BaseSetup<typeof props, IProps, Exposes>, common) as Exposes;\n\n const instance = React.useMemo<Instance<typeof props, IProps, Record<PropertyKey, unknown>, Exposes>>(\n () => ({\n state: {},\n $computedSetup,\n ...$computedSetup,\n ...common,\n elementRef: ($computedSetup?.elementRef ?? elementRef) as React.RefObject<HTMLElement | null>\n }),\n [$computedSetup, common]\n );\n\n React.useEffect(() => {\n combinedRefs(ref, inProps?.ref);\n }, [ref, inProps?.ref]);\n\n React.useImperativeHandle(ref as React.Ref<Instance<typeof props, IProps, typeof instance.state, Exposes>>, () => instance, [instance]);\n\n return instance;\n};\n","import { isValidElement } from '@primereact/core/utils';\nimport type { ComponentInstance, ComponentProps } from '@primereact/types/core';\nimport { cn, resolve } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * A component wrapper for rendering elements with additional props and attributes.\n * @param inProps The properties to pass to the component.\n * @returns A React element or null if `pIf` is false.\n */\nexport function Component<I extends ComponentInstance = ComponentInstance>(inProps: ComponentProps<I> = {}) {\n const { pIf = true, style, className, as, asChild, instance, ...props } = inProps;\n\n if (pIf === false) return null;\n\n const AsComponent = (as || instance?.props?.as || React.Fragment) as React.ElementType;\n const renderAsChild = asChild || instance?.props?.asChild;\n const isFragment = AsComponent === React.Fragment;\n\n const { ref = instance?.elementRef, children, attrs: inAttrs, ...restAttrs } = props;\n const attrs = { ...inAttrs, ...restAttrs } as React.HTMLAttributes<HTMLElement>;\n // @ts-expect-error: Update resolve to handle attrs correctly\n const content = resolve(children, instance, attrs) as React.ReactNode;\n const styles = resolve(style || instance?.props?.style, instance) as React.CSSProperties | undefined;\n const classNames = resolve(className || instance?.props?.className, instance) as string | undefined;\n\n return renderAsChild || isFragment ? (\n <React.Fragment>{content}</React.Fragment>\n ) : isValidElement(AsComponent) ? (\n resolve(AsComponent, instance)\n ) : (\n <AsComponent {...attrs} ref={ref} style={{ ...attrs.style, ...styles }} className={cn(attrs.className, classNames)}>\n {content}\n </AsComponent>\n );\n}\n\nComponent.displayName = 'PrimeReact.Component';\n","import type { ComponentProps, GlobalComponentProps } from '@primereact/types/core';\nimport { omit } from '@primeuix/utils';\n\nexport const globalProps: GlobalComponentProps = {\n ref: undefined,\n pIf: true,\n style: undefined,\n className: undefined,\n as: undefined,\n asChild: false,\n pt: undefined,\n ptOptions: undefined,\n unstyled: undefined,\n dt: undefined,\n children: undefined\n};\n\nexport const defaultComponentProps: ComponentProps = {\n ...(omit(globalProps, 'pt', 'ptOptions', 'dt', 'styles') as Record<PropertyKey, unknown>),\n instance: undefined,\n attrs: undefined\n};\n","import { useBase } from '@primereact/core/base';\nimport type { InComponentInstance, useBaseOptions, useComponentOptions } from '@primereact/types/core';\nimport * as React from 'react';\nimport { globalProps } from './Component.props';\nimport { useComponentPT } from './useComponentPT';\nimport { useComponentStyle } from './useComponentStyle';\n\n/**\n * A hook for creating a component instance.\n * This hook initializes a component with properties, attributes, and styles, and provides methods for handling pass-through options and styles.\n * It also supports custom setup functions for additional configuration.\n *\n * @param name The name of the component, used for debugging and identification.\n * @param options The options to customize the component instance.\n * @returns The component instance.\n */\nexport function useComponent<IProps, DProps, Exposes extends Record<PropertyKey, unknown>, Styles>(name: string = 'UnknownComponent', options: useComponentOptions<IProps, DProps, Exposes, Styles> = {}) {\n const defaultProps = React.useMemo(() => ({ ...globalProps, ...options.defaultProps }), [options.defaultProps]);\n const baseInstance = useBase(name, {\n inProps: options.inProps,\n defaultProps,\n setup: options.setup\n } as useBaseOptions<IProps & { id?: string; ref?: React.Ref<unknown> }, typeof defaultProps, Exposes>);\n\n const { ref, props } = baseInstance;\n const $params = React.useMemo(() => {\n return {\n instance: baseInstance,\n props: baseInstance.props,\n attrs: baseInstance.attrs,\n state: baseInstance.state\n };\n }, [baseInstance.props, baseInstance.attrs, baseInstance.state]);\n\n const ptx = useComponentPT(baseInstance, $params);\n const stx = useComponentStyle(baseInstance, props.styles || options.styles, $params);\n\n const instance = React.useMemo<InComponentInstance<typeof props, IProps, typeof baseInstance.state, Exposes>>(\n () => ({\n ...baseInstance,\n ...ptx,\n ...stx\n }),\n [baseInstance, ptx, stx]\n );\n\n React.useImperativeHandle(ref as React.Ref<InComponentInstance<typeof props, IProps, typeof baseInstance.state, Exposes>>, () => instance, [instance]);\n\n return instance;\n}\n","import { useMountEffect, useUnmountEffect, useUpdateEffect } from '@primereact/hooks';\nimport type { GlobalComponentProps, Instance, PassThroughOptions, useComponentPTReturnType } from '@primereact/types/core';\nimport { mergeProps } from '@primeuix/utils/mergeprops';\nimport { getKeyValue, isArray, isFunction, isNotEmpty, isString, resolve, toFlatCase } from '@primeuix/utils/object';\nimport * as React from 'react';\n\n/**\n * A hook for managing pass-through options for a component.\n *\n * @param instance The instance of the component.\n * @param $params Additional parameters for the hook.\n * @returns An object containing the pass-through options.\n */\nexport function useComponentPT<Props extends GlobalComponentProps, IProps, Params>(instance: Instance<Props, IProps>, $params?: Params): useComponentPTReturnType {\n const { id, name, props, attrs, $primereact, $attrSelector } = instance || {};\n\n // methods\n const _hook = React.useCallback(\n (hookName: string) => {\n const selfHook = _usePT(_getPT(props.pt, name), getKeyValue, `hooks.${hookName}`) as (() => void) | undefined;\n const defaultHook = _useDefaultPT(getKeyValue, `hooks.${hookName}`) as (() => void) | undefined;\n\n selfHook?.();\n defaultHook?.();\n },\n [props.pt, name]\n );\n\n const _mergeProps = React.useCallback(<T extends unknown[], R = Record<PropertyKey, unknown>>(fn: ((...args: T) => R | undefined) | boolean, ...args: T): R => {\n return (isFunction(fn) ? fn(...args) : fn ? mergeProps(...args) : Object.assign({}, ...args)) as R;\n }, []);\n\n const _getPTValue = React.useCallback(\n (obj = {}, key = '', params: Record<string, unknown> = {}, searchInDefaultPT = true) => {\n const searchOut = /./g.test(key) && !!params[key.split('.')[0]];\n // @ts-expect-error - @todo\n const { mergeSections = true, mergeProps: useMergeProps = false } = props?.ptOptions || $primereact.passthrough?.options || {};\n const global = searchInDefaultPT ? (searchOut ? _useGlobalPT(_getPTClassValue, key, params) : _useDefaultPT(_getPTClassValue, key, params)) : undefined;\n const self = searchOut ? undefined : _getPTSelf(obj, _getPTClassValue, key, { ...params, global: global || {} });\n const datasets = _getPTDatasets(key);\n\n return mergeSections || (!mergeSections && self) ? _mergeProps(useMergeProps, global, self, datasets) : { ...self, ...datasets };\n },\n [props.ptOptions, _mergeProps]\n );\n\n const _getPTDatasets = React.useCallback(\n (key = '') => {\n const datasetPrefix = 'data-pc-';\n const isExtended = key === 'root' && isNotEmpty(props?.pt?.['data-pc-section']);\n\n return (\n key !== 'transition' && {\n ...(key === 'root' && {\n [`${datasetPrefix}name`]: toFlatCase((isExtended ? props.pt?.['data-pc-section'] : name) as string),\n ...(isExtended && { [`${datasetPrefix}extend`]: toFlatCase(name!) }),\n [`${$attrSelector}`]: ''\n }),\n [`${datasetPrefix}section`]: toFlatCase(key)\n }\n );\n },\n [props.pt, $attrSelector]\n );\n\n const _getPTClassValue = React.useCallback((obj: Record<string, unknown> = {}, key = '', params?: Record<string, unknown>) => {\n const value = getKeyValue(obj, key, params);\n\n return isString(value) || isArray(value) ? { className: value } : value;\n }, []);\n\n const _getPT = React.useCallback(<Fn extends (...args: unknown[]) => unknown>(pt?: Record<string, unknown>, key = '', fn?: Fn) => {\n const getValue = (value: unknown, checkSameKey = false) => {\n const computedValue = (fn ? fn(value) : value) as Record<string, unknown>;\n const _key = toFlatCase(key);\n const _cKey = toFlatCase(name!);\n\n return ((checkSameKey ? (_key !== _cKey ? computedValue?.[_key] : undefined) : computedValue?.[_key]) ?? computedValue) as Record<string, unknown>;\n };\n\n return pt && Object.hasOwn(pt, '_usept')\n ? {\n _usept: pt['_usept'],\n originalValue: getValue(pt.originalValue),\n value: getValue(pt.value)\n }\n : getValue(pt, true);\n }, []);\n\n const _usePT = React.useCallback(\n <Fn>(pt: Record<string, unknown>, fn: Fn, key: string = '', params?: Record<string, unknown>) => {\n const vfn = (value: unknown) => (fn as (...args: unknown[]) => unknown)(value, key, params);\n\n if (pt && Object.hasOwn(pt, '_usept')) {\n // @ts-expect-error - @todo\n const { mergeSections = true, mergeProps: useMergeProps = false } = (pt['_usept'] || $primereact.passthrough?.options || {}) as PassThroughOptions;\n const originalValue = vfn(pt.originalValue);\n const value = vfn(pt.value);\n\n if (originalValue === undefined && value === undefined) return undefined;\n else if (isString(value)) return value;\n else if (isString(originalValue)) return originalValue;\n\n return mergeSections || (!mergeSections && value) ? _mergeProps(useMergeProps, originalValue, value) : value;\n }\n\n return vfn(pt);\n },\n // @ts-expect-error - @todo\n [$primereact.passthrough?.options, _mergeProps]\n );\n\n // computed values\n // @ts-expect-error - @todo\n const $globalPT = React.useMemo(() => _getPT($primereact?.passthrough?.value, undefined, (value) => resolve(value, instance)), [$primereact?.passthrough?.value]);\n // @ts-expect-error - @todo\n const $defaultPT = React.useMemo(() => _getPT($primereact?.passthrough?.value, undefined, (value) => getKeyValue(value as Record<string, unknown>, name, instance) || resolve(value, instance)), [$primereact?.passthrough?.value]);\n const $attrsPT = React.useMemo(() => {\n return Object.entries(attrs || {})\n .filter(([key]) => key?.startsWith('pt-'))\n .reduce<Record<string, unknown>>((result, [key, value]) => {\n const [, slot, ...rest] = key.split('-');\n\n [slot, rest?.join('-')]?.filter(Boolean).reduce((currentObj, nestedKey, index, array) => {\n if (!currentObj[nestedKey]) {\n currentObj[nestedKey] = index === array.length - 1 ? value : {};\n }\n\n return currentObj[nestedKey] as Record<string, unknown>;\n }, result);\n\n return result;\n }, {});\n }, [attrs]);\n const $attrsWithoutPT = React.useMemo(() => {\n return Object.entries(attrs || {})\n .filter(([key]) => !key?.startsWith('pt-'))\n .reduce<Record<string, unknown>>((acc, [key, value]) => {\n acc[key] = value;\n\n return acc;\n }, {});\n }, [attrs]);\n\n // helpers\n const _getPTSelf = React.useCallback(\n <Fn>(obj: Record<string, unknown> = {}, fn: Fn, key: string = '', params?: Record<string, unknown>) => {\n return mergeProps(\n _usePT(_getPT(obj, name), fn, key, params), // Exp; <PRComponent pt={{ [passthrough_key]: { [attribute]: value } }}>\n _usePT($attrsPT, fn, key, params) // Exp; <PRComponent pt:[passthrough_key]:[attribute]={value}> or <PRComponent pt:[passthrough_key]={() =>{value}}>\n );\n },\n [$attrsPT]\n );\n\n const _useGlobalPT = React.useCallback(\n <Fn>(fn: Fn, key: string = '', params?: Record<string, unknown>) => {\n return _usePT($globalPT, fn, key, params);\n },\n [$globalPT]\n );\n\n const _useDefaultPT = React.useCallback(\n <Fn>(fn: Fn, key: string, params?: Record<string, unknown>) => {\n return _usePT($defaultPT, fn, key, params);\n },\n [$defaultPT]\n );\n\n // exposed methods\n const ptm = React.useCallback(\n (key = '', params: Record<string, unknown> | undefined = {}) => {\n return _getPTValue(props.pt, key, { ...$params, ...params }) as Record<string, unknown>;\n },\n [props.pt, $params]\n );\n\n const ptmi = React.useCallback(\n (key = '', params: Record<string, unknown> | undefined = {}) => {\n const _attrs = mergeProps($attrsWithoutPT, ptm(key, params)) as Record<string, unknown>;\n\n if (_attrs && Object.hasOwn(_attrs, 'id')) {\n _attrs.id ??= id;\n }\n\n return _attrs as Record<string, unknown>;\n },\n [ptm, id, $attrsWithoutPT]\n );\n\n const ptmo = React.useCallback(\n (obj: Record<string, unknown> = {}, key = '', params: Record<string, unknown> | undefined = {}) => {\n return _getPTValue(obj, key, { ...$params, ...params }, false) as Record<string, unknown>;\n },\n [$params]\n );\n\n // hooks\n useMountEffect(() => _hook('onMounted'));\n useUpdateEffect(() => _hook('onUpdated'));\n useUnmountEffect(() => _hook('onUnmounted'));\n\n return React.useMemo(\n () => ({\n ptm,\n ptmi,\n ptmo\n }),\n [ptm, ptmi, ptmo]\n );\n}\n","import { StyleRegistry } from '@primereact/core/utils';\nimport type { GlobalComponentProps, Instance, useComponentStyleReturnType } from '@primereact/types/core';\nimport { Theme, ThemeService } from '@primeuix/styled';\nimport { cn, getKeyValue } from '@primeuix/utils';\nimport * as React from 'react';\nimport { useComponentStyleHandler } from './useComponentStyleHandler';\n\n/**\n * A hook for managing component styles.\n *\n * @param instance The instance of the component.\n * @param styles The styles to apply to the component.\n * @param $params Additional parameters for the hook.\n * @returns An object containing the component styles.\n */\nexport function useComponentStyle<Props extends GlobalComponentProps, IProps, Styles, Params>(instance: Instance<Props, IProps>, styles?: Styles, $params?: Params): useComponentStyleReturnType {\n const { props = { unstyled: false, dt: undefined }, $primereact, $attrSelector, elementRef } = instance || {};\n const $style = useComponentStyleHandler(styles, elementRef);\n\n // refs\n const scopedStyleRef = React.useRef<HTMLStyleElement | null>(null);\n\n // methods\n const _load = React.useCallback(() => {\n if (!StyleRegistry.isStyleNameLoaded('base')) {\n const { css } = $style.baseStyles || {};\n\n $style.load(css, { name: 'base', ...$styleOptions });\n\n StyleRegistry.setLoadedStyleName('base');\n }\n\n _loadThemeStyles();\n }, [$style]);\n\n const _loadStyles = React.useCallback(() => {\n _load();\n _themeChangeListener(_load);\n }, [_load]);\n\n // computed values\n const $isUnstyled = React.useMemo(() => (props.unstyled !== undefined ? props.unstyled : $primereact?.config?.unstyled), [props, $primereact?.config]);\n const $styleOptions = React.useMemo(() => ({ nonce: $primereact?.config?.csp?.nonce }), [$primereact?.config]);\n\n // helpers\n const _loadCoreStyles = React.useCallback(() => {\n if (!StyleRegistry.isStyleNameLoaded($style?.name) && $style?.name) {\n const name = $style.name === 'global' ? 'base' : $style.name;\n\n $style.loadCSS({ name, ...$styleOptions });\n\n StyleRegistry.setLoadedStyleName($style.name);\n }\n }, [$style, $styleOptions]);\n\n const _loadThemeStyles = React.useCallback(() => {\n if ($isUnstyled || $primereact?.theme === 'none') return;\n\n // common\n if (!Theme.isStyleNameLoaded('common')) {\n const { primitive, semantic, global, style } = $style?.getCommonTheme?.() || {};\n\n $style.load(primitive?.css, { name: 'primitive-variables', ...$styleOptions });\n $style.load(semantic?.css, { name: 'semantic-variables', ...$styleOptions });\n $style.load(global?.css, { name: 'global-variables', ...$styleOptions });\n $style.load($style.baseStyles?.style, { name: 'global-style', ...$styleOptions }, style, true);\n\n Theme.setLoadedStyleName('common');\n }\n\n // component\n if (!Theme.isStyleNameLoaded($style?.name) && $style?.name) {\n const { css, style } = $style?.getComponentTheme?.() || {};\n\n $style.load(css, { name: `${$style.name}-variables`, ...$styleOptions });\n $style.loadStyle({ name: `${$style.name}-style`, ...$styleOptions }, style);\n\n Theme.setLoadedStyleName($style.name);\n }\n\n // layer order\n if (!Theme.isStyleNameLoaded('layer-order')) {\n const layerOrder = $style?.getLayerOrderThemeCSS?.();\n\n $style.load(layerOrder, { name: 'layer-order', first: true, ...$styleOptions });\n\n Theme.setLoadedStyleName('layer-order');\n }\n }, [$isUnstyled, $style, $styleOptions]);\n\n const _loadScopedThemeStyles = (preset: unknown) => {\n const { css } = $style?.getPresetTheme?.(preset, `[${$attrSelector}]`) || {};\n const scopedStyle = $style?.load(css, { name: `${$attrSelector}-${$style.name}`, ...$styleOptions });\n\n scopedStyleRef.current = scopedStyle as HTMLStyleElement;\n };\n\n /*const _unloadScopedThemeStyles = () => {\n scopedStyleRef.current?.remove();\n };*/\n\n const _themeChangeListener = React.useCallback((callback = () => {}) => {\n //if (!StyleRegistry.isStyleNameLoaded('base')) {\n //StyleRegistry.clearLoadedStyleNames();\n ThemeService.on('theme:change', callback);\n //}\n }, []);\n\n /*const _removeThemeListeners = () => {\n ThemeService.off('theme:change', _loadCoreStyles);\n ThemeService.off('theme:change', _load);\n ThemeService.off('theme:change', _themeScopedListener);\n };*/\n\n // exposed methods\n const cx = React.useCallback(\n (key = '', params = {}) => {\n return !$isUnstyled ? cn(getKeyValue($style.classes as Record<string, string>, key, { ...$params, context: params })) : undefined;\n },\n [$isUnstyled, instance, $style.classes]\n );\n\n const sx = React.useCallback(\n (key = '', when = true, params = {}) => {\n if (when) {\n const self = getKeyValue($style.inlineStyles as Record<string, React.CSSProperties>, key, { ...$params, context: params }) as React.CSSProperties;\n const base = getKeyValue($style.baseStyles?.inlineStyles as Record<string, React.CSSProperties>, key, { ...$params, context: params }) as React.CSSProperties;\n\n return { ...base, ...self };\n }\n\n return undefined;\n },\n [$style.inlineStyles, $style.baseStyles?.inlineStyles, instance]\n );\n\n // effects\n if (!$isUnstyled) {\n // @todo - remove\n //Theme.clearLoadedStyleNames();\n //StyleRegistry.clearLoadedStyleNames();\n _loadCoreStyles();\n _loadStyles();\n _loadScopedThemeStyles(props.dt);\n }\n\n return React.useMemo(\n () => ({\n cx,\n sx,\n isUnstyled: $isUnstyled,\n $style\n }),\n [cx, sx, $isUnstyled, $style]\n );\n}\n","import { ThemeContext } from '@primereact/core/theme';\nimport type { useStyleLoadOptions } from '@primereact/types/core';\nimport { isClient, isNotEmpty } from '@primeuix/utils';\nimport * as React from 'react';\n\nexport function useStyle() {\n const theme = React.useContext(ThemeContext);\n\n const _load = React.useCallback(\n (loadOptions: useStyleLoadOptions = {}) => {\n const { name, css, element, options = {} } = loadOptions;\n\n if (isClient() && isNotEmpty(css)) {\n let root = element?.getRootNode() as Element | Document | ShadowRoot | null;\n\n if (!root || root === document) root = document.head;\n\n const styleElement = root.querySelector(`style[data-primereact-style-id=\"${name}\"]`) || document.createElement('style');\n\n if (!styleElement.isConnected) {\n // @todo - add attributes and prepend\n if (options?.first) {\n root.prepend(styleElement);\n } else {\n root.appendChild(styleElement);\n }\n\n styleElement.setAttribute('data-primereact-style-id', name || '');\n }\n\n styleElement.textContent = css ?? '';\n\n return styleElement;\n }\n },\n [theme]\n );\n\n const load = React.useCallback(\n (loadOptions: useStyleLoadOptions = {}) => {\n const { name, css } = loadOptions;\n\n if (isNotEmpty(loadOptions.css)) {\n // @todo - implement\n if (name && !theme?.stylesheet?.has(name) && !isClient() && name !== 'layer-order') {\n theme?.stylesheet?.add(name, css);\n }\n\n return _load(loadOptions);\n }\n },\n [theme]\n );\n\n const unload = React.useCallback(() => {\n if (theme?.stylesheet) {\n theme.stylesheet.clear();\n }\n }, [theme]);\n\n React.useInsertionEffect(() => {\n theme?.stylesheet?.getStyles()?.forEach((value, key) => {\n _load({ name: key, css: value?.css });\n });\n\n return () => {\n unload();\n };\n }, [theme]);\n\n return [load, unload];\n}\n\n// @todo - Remove this\n/*function useCSS(cssMap = {}) {\n const { theme } = usePrimeReact();\n\n if (typeof window === 'undefined') {\n Object.entries(cssMap).forEach(([key, value]) => {\n config?.sheet?.add(key, value.css);\n });\n }\n\n React.useInsertionEffect(() => {\n theme.stylesheet?._styles?.forEach((value, key) => {\n const styleElement = document.head.querySelector(`style[data-primereact-style-id=\"${key}\"]`) || document.createElement('style');\n\n if (!styleElement.isConnected) {\n //setAttributes(styleElement, value.styleOptions);\n value.first ? document.head.prepend(styleElement) : document.head.appendChild(styleElement);\n setAttribute(styleElement, 'data-primereact-style-id', key);\n //styleRef.current.onload = (event: React.ReactEventHandler<HTMLStyleElement>) => onStyleLoaded?.(event, { name: styleNameRef.current });\n //onStyleMounted?.(styleNameRef.current);\n }\n\n styleElement.textContent = value.css;\n });\n });\n //return rule;\n}*/\n","export const defaultUseStyleProps = {};\n","import { ThemeContext } from '@primereact/core/theme';\nimport { useStyle } from '@primereact/core/use-style';\nimport type { StylesOptions, StyleType } from '@primereact/types/styles';\nimport { css as Css, dt, Theme } from '@primeuix/styled';\nimport { isNotEmpty, minifyCSS, resolve, toElement } from '@primeuix/utils';\nimport * as React from 'react';\n\n/**\n * A custom hook for managing component styles.\n *\n * @param styles The styles to apply to the component.\n * @param elementRef A reference to the HTML element.\n * @returns An object containing methods to load and manage styles.\n */\nexport function useComponentStyleHandler<Styles>(styles?: Styles, elementRef?: React.Ref<HTMLElement>) {\n const theme = React.useContext(ThemeContext);\n const [load] = useStyle();\n\n const _load = React.useCallback(\n (css?: string, options?: Record<PropertyKey, unknown>) => {\n return load({ name: options?.name as string | undefined, css, element: toElement(elementRef), options });\n },\n [load, elementRef]\n );\n\n return React.useMemo(() => {\n const handler = {\n name: 'base',\n ...(styles as StylesOptions),\n load(style: StyleType = '', options: Record<PropertyKey, unknown> & { name?: string } = {}, extendedStyle = '', enableThemeTransform = false) {\n const name = options.name || handler.name;\n const resolvedStyle = Css`${style}${extendedStyle}` as string;\n const computedStyle = enableThemeTransform ? Theme.transformCSS(name, resolvedStyle) : resolvedStyle;\n\n return isNotEmpty(computedStyle) ? _load(minifyCSS(computedStyle), { name, ...options }) : {};\n },\n loadCSS(options?: Record<PropertyKey, unknown>) {\n return this.load(this.css, options);\n },\n loadStyle(options?: Record<PropertyKey, unknown>, extendedStyle = '') {\n return this.load(this.style, options, extendedStyle, true);\n },\n getCommonTheme(params?: Record<PropertyKey, unknown>) {\n return Theme.getCommon(this.name, params);\n },\n getComponentTheme(params?: Record<PropertyKey, unknown>) {\n return Theme.getComponent(this.name, params);\n },\n // @todo: preset type\n getPresetTheme(preset: unknown, selector: string, params?: Record<PropertyKey, unknown>) {\n return Theme.getCustomPreset(this.name, preset, selector, params);\n },\n getLayerOrderThemeCSS() {\n return Theme.getLayerOrderCSS(this.name);\n },\n getStyleSheet(extendedCSS = '', props = {}) {\n if (this.css) {\n // @ts-expect-error: update dt definition in primeuix/styled\n const _css = resolve(this.css, { dt }) as string;\n const _style = minifyCSS(Css`${_css}${extendedCSS}`);\n const _props = Object.entries(props)\n .reduce<string[]>((acc, [k, v]) => {\n acc.push(`${k}=\"${v}\"`);\n\n return acc;\n }, [])\n .join(' ');\n\n return `<style type=\"text/css\" data-primereact-style-id=\"${this.name}\" ${_props}>${_style}</style>`;\n }\n\n return '';\n },\n getCommonThemeStyleSheet(params?: Record<PropertyKey, unknown>, props: Record<PropertyKey, unknown> = {}) {\n return Theme.getCommonStyleSheet(this.name, params, props);\n },\n getThemeStyleSheet(params?: Record<PropertyKey, unknown>, props: Record<PropertyKey, unknown> = {}) {\n const cssArr = [Theme.getStyleSheet(this.name, params, props)];\n\n if (theme) {\n const _name = this.name === 'base' ? 'global-style' : `${this.name}-style`;\n const _css = Css`${resolve(theme, { dt })}` as string;\n const _style = minifyCSS(Theme.transformCSS(this.name, _css));\n const _props = Object.entries(props)\n .reduce<string[]>((acc, [k, v]) => {\n acc.push(`${k}=\"${v}\"`);\n\n return acc;\n }, [])\n .join(' ');\n\n cssArr.push(`<style type=\"text/css\" data-primereact-style-id=\"${_name}\" ${_props}>${_style}</style>`);\n }\n\n return cssArr.join('');\n }\n };\n\n return handler;\n }, [styles, theme, _load]);\n}\n","import type { ComponentInstance, InComponentInstance, useComponentOptions, withComponentOptions } from '@primereact/types/core';\nimport type { BaseComponentProps } from '@primereact/types/shared';\nimport type { StylesOptions } from '@primereact/types/styles';\nimport { isObject } from '@primeuix/utils';\nimport * as React from 'react';\nimport { useComponent } from './useComponent';\n\n/**\n * A higher-order component for enhancing a component with additional features.\n *\n * @template IProps The interface for the component's input properties.\n * @template DProps The interface for the component's default properties.\n * @template Exposes The interface for the properties that the component exposes.\n * @template Styles The styles options for the component.\n * @template CData Additional data to expose on the component.\n *\n * @param options The options for the component.\n * @param options.name The name of the component, used for debugging and identification.\n * @param options.defaultProps The default properties for the component.\n * @param options.styles The styles to apply to the component.\n * @param options.components Additional components to include in the component.\n * @param options.setup A setup function for additional configuration of the component.\n * @param options.render A render function for the component.\n * @returns A React component wrapped with the specified options.\n */\nexport function withComponent<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) {\n type InProps<I extends ComponentInstance, T extends React.ElementType> = BaseComponentProps<I, IProps, unknown, T> & DProps;\n\n const BaseComponent = <I extends ComponentInstance, T extends React.ElementType>(inProps?: InProps<I, T>) => {\n const instance = useComponent(name, { inProps, defaultProps, styles, setup } as useComponentOptions<InProps<I, T>, DProps, Exposes, Styles>);\n\n type RenderedComponentProps = InComponentInstance<typeof instance.props, InProps<I, T>, typeof instance.state, Exposes>;\n\n const RenderedComponent = (render as React.FC<RenderedComponentProps>) ?? (() => null);\n\n return instance.props.pIf ? <RenderedComponent {...(instance as RenderedComponentProps)} /> : null;\n };\n\n const Component = React.memo(BaseComponent, (prevProps, nextProps) => {\n if (!isObject(prevProps) || !isObject(nextProps)) {\n return false;\n }\n\n // Compare shallow equality for all defaultProps keys\n return prevProps === nextProps && Object.keys(defaultProps || {}).every((key) => (prevProps as Record<string, unknown>)[key] === (nextProps as Record<string, unknown>)[key]);\n }) as unknown as typeof BaseComponent & CData & React.FC;\n\n Component.displayName = `PrimeReact.${name}`;\n Object.entries(components || {}).forEach(([key, value]) => {\n (Component as Record<string, unknown>)[key] = value;\n });\n\n return Component;\n}\n","import { useBase } from '@primereact/core/base';\nimport type { HeadlessInstance, useHeadlessOptions } from '@primereact/types/core';\n\n/**\n * A custom hook for using headless components.\n *\n * @param name The name of the headless component.\n * @param options Options for the headless component.\n * @returns The headless instance.\n */\nexport function useHeadless<IProps, DProps, Exposes extends Record<PropertyKey, unknown>>(name: string = 'UnknownHeadless', options: useHeadlessOptions<IProps, DProps, Exposes> = {}) {\n const baseInstance = useBase(name, options as useHeadlessOptions<IProps & { id?: string; ref?: React.Ref<unknown> }, typeof options.defaultProps & DProps, Exposes>);\n\n return baseInstance as HeadlessInstance<DProps, IProps, Exposes>;\n}\n","import type { withHeadlessOptions } from '@primereact/types/core';\nimport { useHeadless } from './useHeadless';\n\n/**\n * Higher-order component for using headless components.\n *\n * @template IProps The input properties type for the headless component.\n * @template DProps The default properties type for the headless component.\n * @template Exposes The properties that the headless component exposes.\n *\n * @param options The options for the headless component.\n * @param options.name The name of the headless component.\n * @param options.defaultProps The default properties for the headless component.\n * @param options.setup The setup function for the headless component.\n * @returns A function that takes in props and returns the headless instance.\n */\nexport function withHeadless<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>>({ name, defaultProps, setup }: withHeadlessOptions<IProps, DProps, Exposes>) {\n return (inProps?: IProps) => {\n return useHeadless(name, { inProps, defaultProps, setup });\n };\n}\n","import { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport * as React from 'react';\nimport { defaultIconProps } from './Icon.props';\nimport { styles } from './Icon.style';\nimport { withIcon } from './withIcon';\n\nexport const Icon = withIcon({\n name: 'Icon',\n styles,\n defaultProps: defaultIconProps,\n render(instance) {\n const { id, props, ptmi, pti, cx, sx } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n style: sx('root'),\n className: cx('root')\n },\n pti?.(),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { IconProps } from '@primereact/types/core';\n\nexport const defaultIconProps: IconProps = {\n as: 'i',\n size: undefined,\n rotate: undefined,\n flip: undefined,\n spin: false\n};\n","import type { StylesOptions } from '@primereact/types/styles';\nimport { $dt } from '@primeuix/styled';\n\nconst css = /*css*/ `\n.p-icon {\n display: inline-block;\n vertical-align: baseline;\n font-size: dt('icon.size');\n width: dt('icon.size');\n height: dt('icon.size');\n transform: rotate(dt('icon.rotate'));\n flex-shrink: 0;\n}\n\n.p-icon-flip-horizontal {\n transform: scaleX(-1);\n}\n\n.p-icon-flip-vertical {\n transform: scaleY(-1);\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n`;\n\nexport const styles = {\n name: 'icon',\n css,\n classes: {\n root: ({ props }) => [\n 'p-icon',\n {\n 'p-icon-spin': props.spin,\n 'p-icon-flip-horizontal': props.flip === 'horizontal',\n 'p-icon-flip-vertical': props.flip === 'vertical'\n }\n ]\n },\n inlineStyles: {\n root: ({ props }) => ({\n ...(props.size ? { [$dt('icon.size').name]: props.size } : undefined),\n ...(props.rotate ? { [$dt('icon.rotate').name]: `${props.rotate}deg` } : undefined)\n })\n }\n} as StylesOptions;\n","import { withComponent } from '@primereact/core/component';\nimport type { BaseSetup, IconExposes, withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\nimport { resolve } from '@primeuix/utils';\nimport * as React from 'react';\nimport { useIcon } from './useIcon';\n\n/**\n * Higher-order component for enhancing icon components.\n *\n * @template IProps - The interface for the icon component's props.\n * @template DProps - The interface for the default properties of the icon component.\n * @template Exposes - The interface for the properties exposed by the icon component.\n * @template Styles - The styles options for the icon component.\n * @template CData - The context data for the icon component.\n *\n * @param options - The options for the icon component.\n * @param options.name - The name of the icon component.\n * @param options.defaultProps - The default properties for the icon component.\n * @param options.styles - The styles options for the icon component.\n * @param options.components - The components to be used within the icon component.\n * @param options.setup - The setup function for the icon component.\n * @param options.render - The render function for the icon component.\n * @returns A React component wrapped with the specified options.\n */\nexport function withIcon<IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes & IconExposes, Styles, CData>) {\n return withComponent<IProps, DProps, Exposes & IconExposes, Styles, CData>({\n name: `${name ?? 'Unknown'}Icon`,\n defaultProps,\n styles,\n components,\n setup(instance) {\n const icon = useIcon(instance?.inProps);\n const computedSetup = resolve(setup as BaseSetup<typeof instance.props, IProps, Exposes>, instance) as Exposes;\n\n return React.useMemo(\n () => ({\n ...icon,\n ...computedSetup\n }),\n [icon, computedSetup]\n );\n },\n render\n });\n}\n","import { withHeadless } from '@primereact/core/headless';\nimport { isEmpty } from '@primeuix/utils';\n\nexport const useIcon = withHeadless({\n name: 'useIcon',\n setup({ attrs }) {\n const pti = () => {\n const isAriaLabelEmpty = isEmpty(attrs['aria-label']);\n\n return {\n role: !isAriaLabelEmpty ? 'img' : undefined,\n 'aria-hidden': isEmpty(attrs.tabIndex) && isAriaLabelEmpty\n };\n };\n\n return {\n pti\n };\n }\n});\n","import type { StylesOptions } from '@primereact/types/styles';\nimport { style } from '@primeuix/styles/base';\n\nconst css = /*css*/ `\n.p-hidden-accessible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0;\n pointer-events: none;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: dt('scrollbar.width');\n}\n\n/* For PrimeReact Motion */\n.p-toggleable-content-enter-from,\n.p-toggleable-content-leave-to {\n max-height: 0;\n}\n\n.p-toggleable-content-enter-to,\n.p-toggleable-content-leave-from {\n max-height: var(--pui-motion-height, 1000px);\n}\n\n.p-toggleable-content-leave-active {\n overflow: hidden;\n transition: max-height 200ms ease-out;\n}\n\n.p-toggleable-content-enter-active {\n overflow: hidden;\n transition: max-height 200ms ease-out;\n}\n`;\n\nexport const styles = {\n name: 'base',\n css,\n style,\n classes: {},\n inlineStyles: {}\n} satisfies StylesOptions;\n","import { withComponent as withComponentInCore } from '@primereact/core/component';\nimport { styles as baseStyles } from '@primereact/styles/base';\nimport type { withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\n\nexport const withComponent = <IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles = {\n ...baseStyles,\n name: 'global'\n } as Styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) => {\n return withComponentInCore<IProps, DProps, Exposes, Styles, CData>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n });\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps, nextFrame } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { MotionProvider } from './Motion.context';\nimport { defaultMotionProps } from './Motion.props';\nimport { useMotion } from './useMotion';\n\nexport const Motion = withComponent({\n name: 'Motion',\n defaultProps: defaultMotionProps,\n setup(instance) {\n const { props } = instance;\n\n const [rendered, setRendered] = React.useState(() => props.in || !props.mountOnEnter);\n const isInitialMount = React.useRef(true);\n const motion = useMotion(props);\n\n React.useEffect(() => {\n if (props.in && !rendered) {\n setRendered(true);\n }\n }, [props.in]);\n\n React.useLayoutEffect(() => {\n const element = motion?.elementRef?.current;\n\n if (!element || !rendered) {\n isInitialMount.current = false;\n\n return;\n }\n\n let cancelled = false;\n const shouldAppear = isInitialMount.current && props.in && props.appear;\n\n element.style.display = '';\n motion.update?.(element, props);\n\n if (props.in) {\n if (shouldAppear || !isInitialMount.current) {\n motion.enter?.();\n }\n } else {\n motion.leave?.()?.then(() => {\n if (!element || cancelled || props.in) return;\n\n if (props.unmountOnLeave) {\n element.style.display = 'none';\n nextFrame().then(() => {\n if (!cancelled) setRendered(false);\n });\n } else {\n element.style.display = 'none';\n }\n });\n }\n\n isInitialMount.current = false;\n\n return () => {\n cancelled = true;\n motion.cancel?.();\n };\n }, [props.in, rendered, props.unmountOnLeave, props.appear]);\n\n React.useEffect(() => {\n return () => {\n isInitialMount.current = true;\n };\n }, []);\n\n return {\n ...motion,\n rendered\n };\n },\n render(instance) {\n const { id, props, ptmi, rendered } = instance;\n\n const rootProps = mergeProps(\n {\n id\n },\n ptmi('root')\n );\n\n return (\n <MotionProvider value={instance}>\n <Component pIf={rendered} instance={instance} attrs={rootProps} children={props.children} />\n </MotionProvider>\n );\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { MotionInstance } from '@primereact/types/shared/motion';\n\nexport const [MotionProvider, useMotionContext] = createOptionalContext<MotionInstance>();\n","import type { useMotionProps } from '@primereact/types/shared/motion';\n\nexport const defaultUseMotionProps: useMotionProps = {\n name: undefined,\n type: undefined,\n safe: false,\n appear: false,\n enter: true,\n leave: true,\n duration: undefined,\n enterFromClassName: undefined,\n enterToClassName: undefined,\n enterActiveClassName: undefined,\n leaveFromClassName: undefined,\n leaveToClassName: undefined,\n leaveActiveClassName: undefined,\n onBeforeEnter: undefined,\n onEnter: undefined,\n onAfterEnter: undefined,\n onEnterCancelled: undefined,\n onBeforeLeave: undefined,\n onLeave: undefined,\n onAfterLeave: undefined,\n onLeaveCancelled: undefined\n};\n","import type { MotionProps } from '@primereact/types/shared/motion';\nimport * as HeadlessMotion from './useMotion.props';\n\nexport const defaultMotionProps: MotionProps = {\n ...HeadlessMotion.defaultUseMotionProps,\n as: 'div',\n in: false,\n mountOnEnter: true,\n unmountOnLeave: true\n};\n","import { addClass, removeClass } from '@primeuix/utils';\nimport type { MotionClassNamesWithPhase, MotionHooksWithPhase, MotionInstance, MotionOptions, MotionPhase, MotionType } from '../../types';\nimport { getMotionHooks, getMotionMetadata, mergeOptions, resolveClassNames, resolveDuration, setAutoDimensionVariables, shouldSkipMotion } from '../utils';\n\nexport const DEFAULT_MOTION_OPTIONS: MotionOptions = {\n name: 'p',\n safe: true,\n disabled: false,\n enter: true,\n leave: true,\n autoHeight: true,\n autoWidth: false\n};\n\n/**\n * Creates a MotionInstance for the given element with the specified options.\n * @param element - The target element for motion effects.\n * @param options - Configuration options for the motion instance.\n * @returns A MotionInstance that can be used to control the motion.\n */\nexport function createMotion(element: Element, options?: MotionOptions): MotionInstance {\n if (!element) throw new Error('Element is required.');\n\n const opts: MotionOptions = {};\n let skipMotion = false;\n let classNames: MotionClassNamesWithPhase = {} as MotionClassNamesWithPhase;\n let cancelCurrent: (() => void) | null = null;\n let hooks: MotionHooksWithPhase = {};\n\n const init = (newOpts?: MotionOptions) => {\n Object.assign(opts, mergeOptions(newOpts, DEFAULT_MOTION_OPTIONS));\n if (!opts.enter && !opts.leave) throw new Error('Enter or leave must be true.');\n\n hooks = getMotionHooks(opts);\n skipMotion = shouldSkipMotion(opts);\n classNames = resolveClassNames(opts);\n cancelCurrent = null;\n };\n\n const run = async (phase: MotionPhase): Promise<void> => {\n cancelCurrent?.();\n\n const { onBefore, onStart, onAfter, onCancelled } = hooks[phase] || {};\n const event = { element };\n\n if (skipMotion) {\n onBefore?.(event);\n onStart?.(event);\n onAfter?.(event);\n\n return;\n }\n\n const { from: fromClass, active: activeClass, to: toClass } = classNames[phase] || {};\n\n setAutoDimensionVariables(element as HTMLElement, opts.autoHeight, opts.autoWidth);\n\n onBefore?.(event);\n addClass(element, fromClass);\n addClass(element, activeClass);\n\n //await nextFrame();\n void (element as HTMLElement).offsetHeight; // force reflow\n\n removeClass(element, fromClass);\n addClass(element, toClass);\n onStart?.(event);\n\n return new Promise((resolve) => {\n const duration = resolveDuration(opts.duration, phase);\n\n const cleanup = () => {\n removeClass(element, [toClass, activeClass]);\n cancelCurrent = null;\n };\n\n const onDone = () => {\n cleanup();\n onAfter?.(event);\n resolve();\n };\n\n cancelCurrent = () => {\n cleanup();\n onCancelled?.(event);\n resolve();\n };\n\n whenEnd(element, opts.type, duration, onDone);\n });\n };\n\n init(options);\n\n const instance: MotionInstance = {\n enter: () => {\n if (!opts.enter) return Promise.resolve();\n\n return run('enter');\n },\n leave: () => {\n if (!opts.leave) return Promise.resolve();\n\n return run('leave');\n },\n cancel: () => {\n cancelCurrent?.();\n cancelCurrent = null;\n },\n update: (newElement?: Element, newOptions?: MotionOptions) => {\n if (!newElement) throw new Error('Element is required.');\n\n element = newElement as HTMLElement;\n instance.cancel();\n init(newOptions);\n }\n };\n\n if (opts.appear) instance.enter();\n\n return instance;\n}\n\nlet endId = 0;\n\n/**\n * Ported from Vue.js Transition Component;\n * @see https://github.com/vuejs/core/blob/main/packages/runtime-dom/src/components/Transition.ts#L348\n *\n * When the transition is triggered, it waits for the end of the motion (transition or animation)\n * @param element - The element to wait for the motion end.\n * @param expectedType - The expected type of motion (transition or animation).\n * @param explicitTimeout - An optional explicit timeout in milliseconds.\n * @param resolve - A function to call when the motion ends.\n * @returns A timeout ID if an explicit timeout is provided, otherwise undefined.\n */\nfunction whenEnd(element: Element & { _motionEndId?: number }, expectedType: MotionType | undefined, explicitTimeout: number | null, resolve: () => void) {\n const id = (element._motionEndId = ++endId);\n\n const resolveIfNotStale = () => {\n if (id === element._motionEndId) {\n resolve();\n }\n };\n\n if (explicitTimeout != null) {\n return setTimeout(resolveIfNotStale, explicitTimeout);\n }\n\n const { type, timeout, count } = getMotionMetadata(element, expectedType);\n\n if (!type) {\n resolve();\n\n return;\n }\n\n const endEvent = type + 'end';\n let ended = 0;\n\n const end = () => {\n element.removeEventListener(endEvent, onEnd, true);\n resolveIfNotStale();\n };\n\n const onEnd = (event: Event) => {\n if (event.target === element && ++ended >= count) {\n end();\n }\n };\n\n element.addEventListener(endEvent, onEnd, { capture: true, once: true });\n setTimeout(() => {\n if (ended < count) {\n end();\n }\n }, timeout + 1);\n}\n","import { getHiddenElementDimensions, isPrefersReducedMotion, setCSSProperty, toMs } from '@primeuix/utils';\nimport type { MotionClassNamesWithPhase, MotionHooksWithPhase, MotionMetadata, MotionOptions, MotionPhase, MotionType } from '../../types';\n\nexport const ANIMATION = 'animation';\nexport const TRANSITION = 'transition';\n\n/**\n * Determines whether motion effects should be skipped based on the provided options.\n * @param options - The motion options to evaluate.\n * @returns A boolean indicating whether motion should be skipped.\n */\nexport function shouldSkipMotion(options: MotionOptions | undefined): boolean {\n if (!options) {\n return false;\n }\n\n return options.disabled || !!(options.safe && isPrefersReducedMotion());\n}\n\n/**\n * Merges the provided motion options with the default options.\n * @param inOptions - The motion options to merge.\n * @param defaultOptions - The default motion options.\n * @returns The merged motion options.\n */\nexport function mergeOptions(inOptions: MotionOptions | undefined, defaultOptions: MotionOptions): MotionOptions {\n if (!inOptions) {\n return defaultOptions;\n }\n\n return {\n ...inOptions,\n ...(Object.entries(defaultOptions).reduce((acc: Record<string, unknown>, [key, value]) => {\n acc[key] = (inOptions as Record<string, unknown>)[key] ?? value;\n\n return acc;\n }, {}) as MotionOptions)\n };\n}\n\n/**\n * Resolves class names for motion phases based on the provided options.\n * @param options - The motion options containing class names and base name.\n * @returns The resolved class names organized by motion phase.\n */\nexport function resolveClassNames(options: MotionOptions | undefined): MotionClassNamesWithPhase {\n const { name, enterClass, leaveClass } = options || {};\n\n return {\n enter: {\n from: enterClass?.from || `${name}-enter-from`,\n to: enterClass?.to || `${name}-enter-to`,\n active: enterClass?.active || `${name}-enter-active`\n },\n leave: {\n from: leaveClass?.from || `${name}-leave-from`,\n to: leaveClass?.to || `${name}-leave-to`,\n active: leaveClass?.active || `${name}-leave-active`\n }\n };\n}\n\n/**\n * Retrieves the motion hooks organized by phase based on the provided options.\n * @param options - The motion options containing hooks.\n * @returns The motion hooks organized by phase.\n */\nexport function getMotionHooks(options: MotionOptions | undefined): MotionHooksWithPhase {\n return {\n enter: {\n onBefore: options?.onBeforeEnter,\n onStart: options?.onEnter,\n onAfter: options?.onAfterEnter,\n onCancelled: options?.onEnterCancelled\n },\n leave: {\n onBefore: options?.onBeforeLeave,\n onStart: options?.onLeave,\n onAfter: options?.onAfterLeave,\n onCancelled: options?.onLeaveCancelled\n }\n };\n}\n\n/**\n * Retrieves motion metadata including type, timeout, and count for the given element.\n * @param element - The target element to retrieve motion metadata from.\n * @param expectedType - The expected type of motion ('transition' or 'animation').\n * @returns The motion metadata including type, timeout, and count.\n */\nexport function getMotionMetadata(element: Element, expectedType?: MotionMetadata['type']): MotionMetadata {\n const styles = window.getComputedStyle(element);\n\n const getDelaysAndDurations = (type: MotionType): [number[], number[]] => {\n const delays = styles[`${type}Delay`];\n const durations = styles[`${type}Duration`];\n\n return [delays.split(', ').map(toMs), durations.split(', ').map(toMs)];\n };\n\n const [transitionDelays, transitionDurations] = getDelaysAndDurations(TRANSITION);\n const [animationDelays, animationDurations] = getDelaysAndDurations(ANIMATION);\n\n const transitionTimeout = Math.max(...transitionDurations.map((d, i) => d + transitionDelays[i]));\n const animationTimeout = Math.max(...animationDurations.map((d, i) => d + animationDelays[i]));\n\n let type: MotionMetadata['type'] = undefined;\n let timeout = 0;\n let count = 0;\n\n if (expectedType === TRANSITION) {\n if (transitionTimeout > 0) {\n type = TRANSITION;\n timeout = transitionTimeout;\n count = transitionDurations.length;\n }\n } else if (expectedType === ANIMATION) {\n if (animationTimeout > 0) {\n type = ANIMATION;\n timeout = animationTimeout;\n count = animationDurations.length;\n }\n } else {\n timeout = Math.max(transitionTimeout, animationTimeout);\n type = timeout > 0 ? (transitionTimeout > animationTimeout ? TRANSITION : ANIMATION) : undefined;\n count = type ? (type === TRANSITION ? transitionDurations.length : animationDurations.length) : 0;\n }\n\n return {\n type,\n timeout,\n count\n };\n}\n\n/**\n * Resolves the duration for a given animation phase.\n * @param duration - The duration can be a number or an object with `enter` and `leave` properties.\n * @param phase - The phase of the transition/animation, either 'enter' or 'leave'.\n * @returns The resolved duration in milliseconds or null if not specified.\n */\nexport function resolveDuration(duration: MotionOptions['duration'], phase: MotionPhase): number | null {\n if (typeof duration === 'number') {\n return duration;\n } else if (typeof duration === 'object' && duration[phase] != null) {\n return duration[phase];\n }\n\n return null;\n}\n\n/**\n * Sets CSS custom properties for auto height and/or width on the given element.\n * @param element - The target HTML element.\n * @param autoHeight - Whether to set the auto height CSS variable.\n * @param autoWidth - Whether to set the auto width CSS variable.\n * @returns\n */\nexport function setAutoDimensionVariables(element: HTMLElement, autoHeight: boolean = true, autoWidth: boolean = false): void {\n if (!autoHeight && !autoWidth) return;\n\n const dimensions = getHiddenElementDimensions(element);\n\n if (autoHeight) {\n setCSSProperty(element, '--pui-motion-height', dimensions.height + 'px');\n }\n\n if (autoWidth) {\n setCSSProperty(element, '--pui-motion-width', dimensions.width + 'px');\n }\n}\n","import { withHeadless } from '@primereact/core/headless';\nimport type { useMotionProps } from '@primereact/types/shared/motion';\nimport { createMotion, type MotionInstance, type MotionOptions } from '@primeuix/motion';\nimport * as React from 'react';\nimport { defaultUseMotionProps } from './useMotion.props';\n\nexport const useMotion = withHeadless({\n name: 'useMotion',\n defaultProps: defaultUseMotionProps,\n setup({ props, elementRef }) {\n const motionRef = React.useRef<MotionInstance | null>(null);\n\n // methods\n const enter = React.useCallback(() => motionRef.current?.enter(), [motionRef.current]);\n const leave = React.useCallback(() => motionRef.current?.leave(), [motionRef.current]);\n const cancel = React.useCallback(() => motionRef.current?.cancel(), [motionRef.current]);\n const update = React.useCallback(\n (element: Element, motionProps?: useMotionProps) => {\n const options: MotionOptions = {\n ...motionProps,\n name: motionProps?.name,\n enterClass: {\n from: motionProps?.enterFromClassName,\n to: motionProps?.enterToClassName,\n active: motionProps?.enterActiveClassName\n },\n leaveClass: {\n from: motionProps?.leaveFromClassName,\n to: motionProps?.leaveToClassName,\n active: motionProps?.leaveActiveClassName\n }\n };\n\n if (!motionRef.current) {\n motionRef.current = createMotion(element, options);\n } else {\n motionRef.current?.update(element, options);\n }\n },\n [motionRef.current]\n );\n\n React.useLayoutEffect(() => {\n if (elementRef.current) {\n update(elementRef.current, props);\n }\n }, []);\n\n return {\n motionRef,\n // methods\n enter,\n leave,\n cancel,\n update\n };\n }\n});\n","import { StyleSheet, type StyleMeta, type StyleSheetProps } from '@primeuix/styled';\nimport { isEmpty } from '@primeuix/utils';\nimport * as React from 'react';\n\nexport class PrimeReactStyleSheet extends StyleSheet<React.DetailedHTMLProps<React.StyleHTMLAttributes<HTMLStyleElement>, HTMLStyleElement>> {\n constructor({ attrs }: StyleSheetProps = {}) {\n super({ attrs });\n this._styles.set('layer-order', {});\n }\n has(key: string) {\n if (key === 'layer-order') {\n return this._styles.get(key)?.css !== undefined;\n }\n\n return this._styles.has(key);\n }\n createStyleElement(meta: StyleMeta = {}) {\n const { css, attrs, name } = meta;\n\n if (isEmpty(name)) return undefined;\n\n return (\n <style {...attrs} data-primereact-style-id={name} key={name}>\n {css}\n </style>\n );\n }\n}\n"],"mappings":"ysCAAA,IAAAA,GAAAC,GAAAC,GAAA,cAWA,IAAIC,GAAqB,OAAO,IAAI,4BAA4B,EAC9DC,GAAoB,OAAO,IAAI,cAAc,EAC7CC,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAAyB,OAAO,IAAI,mBAAmB,EACvDC,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAAqB,OAAO,IAAI,eAAe,EAC/CC,GAAyB,OAAO,IAAI,mBAAmB,EACvDC,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAAkB,OAAO,IAAI,YAAY,EACzCC,GAAkB,OAAO,IAAI,YAAY,EACzCC,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAAwB,OAAO,SACjC,SAASC,GAAcC,EAAe,CACpC,OAAaA,IAAT,MAAuC,OAAOA,GAApB,SAA0C,MACxEA,EACGF,IAAyBE,EAAcF,EAAqB,GAC7DE,EAAc,YAAY,EACN,OAAOA,GAAtB,WAAsCA,EAAgB,KAC/D,CACA,IAAIC,GAAuB,CACvB,UAAW,UAAY,CACrB,MAAO,EACT,EACA,mBAAoB,UAAY,CAAC,EACjC,oBAAqB,UAAY,CAAC,EAClC,gBAAiB,UAAY,CAAC,CAChC,EACAC,GAAS,OAAO,OAChBC,GAAc,CAAC,EACjB,SAASC,GAAUC,EAAOC,EAASC,EAAS,CAC1C,KAAK,MAAQF,EACb,KAAK,QAAUC,EACf,KAAK,KAAOH,GACZ,KAAK,QAAUI,GAAWN,EAC5B,CACAG,GAAU,UAAU,iBAAmB,CAAC,EACxCA,GAAU,UAAU,SAAW,SAAUI,EAAcC,EAAU,CAC/D,GACe,OAAOD,GAApB,UACe,OAAOA,GAAtB,YACQA,GAAR,KAEA,MAAM,MACJ,wGACF,EACF,KAAK,QAAQ,gBAAgB,KAAMA,EAAcC,EAAU,UAAU,CACvE,EACAL,GAAU,UAAU,YAAc,SAAUK,EAAU,CACpD,KAAK,QAAQ,mBAAmB,KAAMA,EAAU,aAAa,CAC/D,EACA,SAASC,IAAiB,CAAC,CAC3BA,GAAe,UAAYN,GAAU,UACrC,SAASO,GAAcN,EAAOC,EAASC,EAAS,CAC9C,KAAK,MAAQF,EACb,KAAK,QAAUC,EACf,KAAK,KAAOH,GACZ,KAAK,QAAUI,GAAWN,EAC5B,CACA,IAAIW,GAA0BD,GAAc,UAAY,IAAID,GAC5DE,GAAuB,YAAcD,GACrCT,GAAOU,GAAwBR,GAAU,SAAS,EAClDQ,GAAuB,qBAAuB,GAC9C,IAAIC,GAAc,MAAM,QACxB,SAASC,IAAO,CAAC,CACjB,IAAIC,EAAuB,CAAE,EAAG,KAAM,EAAG,KAAM,EAAG,KAAM,EAAG,IAAK,EAC9DC,GAAiB,OAAO,UAAU,eACpC,SAASC,GAAaC,EAAMC,EAAKd,EAAO,CACtC,IAAIe,EAAUf,EAAM,IACpB,MAAO,CACL,SAAUnB,GACV,KAAMgC,EACN,IAAKC,EACL,IAAgBC,IAAX,OAAqBA,EAAU,KACpC,MAAOf,CACT,CACF,CACA,SAASgB,GAAmBC,EAAYC,EAAQ,CAC9C,OAAON,GAAaK,EAAW,KAAMC,EAAQD,EAAW,KAAK,CAC/D,CACA,SAASE,GAAeC,EAAQ,CAC9B,OACe,OAAOA,GAApB,UACSA,IAAT,MACAA,EAAO,WAAavC,EAExB,CACA,SAASwC,GAAOP,EAAK,CACnB,IAAIQ,EAAgB,CAAE,IAAK,KAAM,IAAK,IAAK,EAC3C,MACE,IACAR,EAAI,QAAQ,QAAS,SAAUS,EAAO,CACpC,OAAOD,EAAcC,CAAK,CAC5B,CAAC,CAEL,CACA,IAAIC,GAA6B,OACjC,SAASC,GAAcC,EAASC,EAAO,CACrC,OAAoB,OAAOD,GAApB,UAAwCA,IAAT,MAA4BA,EAAQ,KAAhB,KACtDL,GAAO,GAAKK,EAAQ,GAAG,EACvBC,EAAM,SAAS,EAAE,CACvB,CACA,SAASC,GAAgBC,EAAU,CACjC,OAAQA,EAAS,OAAQ,CACvB,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MAAMA,EAAS,OACjB,QACE,OACgB,OAAOA,EAAS,QAA7B,SACGA,EAAS,KAAKpB,GAAMA,EAAI,GACtBoB,EAAS,OAAS,UACpBA,EAAS,KACP,SAAUC,EAAgB,CACVD,EAAS,SAAvB,YACIA,EAAS,OAAS,YACnBA,EAAS,MAAQC,EACtB,EACA,SAAUC,EAAO,CACDF,EAAS,SAAvB,YACIA,EAAS,OAAS,WAAcA,EAAS,OAASE,EACxD,CACF,GACJF,EAAS,OACT,CACA,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MAAMA,EAAS,MACnB,CACJ,CACA,MAAMA,CACR,CACA,SAASG,GAAaC,EAAUC,EAAOC,EAAeC,EAAWhC,EAAU,CACzE,IAAIS,EAAO,OAAOoB,GACEpB,IAAhB,aAAsCA,IAAd,aAAoBoB,EAAW,MAC3D,IAAII,EAAiB,GACrB,GAAaJ,IAAT,KAAmBI,EAAiB,OAEtC,QAAQxB,EAAM,CACZ,IAAK,SACL,IAAK,SACL,IAAK,SACHwB,EAAiB,GACjB,MACF,IAAK,SACH,OAAQJ,EAAS,SAAU,CACzB,KAAKpD,GACL,KAAKC,GACHuD,EAAiB,GACjB,MACF,KAAK9C,GACH,OACG8C,EAAiBJ,EAAS,MAC3BD,GACEK,EAAeJ,EAAS,QAAQ,EAChCC,EACAC,EACAC,EACAhC,CACF,CAEN,CACJ,CACF,GAAIiC,EACF,OACGjC,EAAWA,EAAS6B,CAAQ,EAC5BI,EACQD,IAAP,GAAmB,IAAMX,GAAcQ,EAAU,CAAC,EAAIG,EACxD5B,GAAYJ,CAAQ,GACd+B,EAAgB,GACVE,GAAR,OACGF,EACCE,EAAe,QAAQb,GAA4B,KAAK,EAAI,KAChEQ,GAAa5B,EAAU8B,EAAOC,EAAe,GAAI,SAAUG,EAAG,CAC5D,OAAOA,CACT,CAAC,GACOlC,GAAR,OACCe,GAAef,CAAQ,IACrBA,EAAWY,GACVZ,EACA+B,GACW/B,EAAS,KAAjB,MACA6B,GAAYA,EAAS,MAAQ7B,EAAS,IACnC,IACC,GAAKA,EAAS,KAAK,QAClBoB,GACA,KACF,EAAI,KACRa,CACJ,GACFH,EAAM,KAAK9B,CAAQ,GACvB,EAEJiC,EAAiB,EACjB,IAAIE,EAAwBH,IAAP,GAAmB,IAAMA,EAAY,IAC1D,GAAI5B,GAAYyB,CAAQ,EACtB,QAASO,EAAI,EAAGA,EAAIP,EAAS,OAAQO,IAClCJ,EAAYH,EAASO,CAAC,EACpB3B,EAAO0B,EAAiBd,GAAcW,EAAWI,CAAC,EAClDH,GAAkBL,GACjBI,EACAF,EACAC,EACAtB,EACAT,CACF,UACKoC,EAAI9C,GAAcuC,CAAQ,EAAmB,OAAOO,GAAtB,WACvC,IACEP,EAAWO,EAAE,KAAKP,CAAQ,EAAGO,EAAI,EACjC,EAAEJ,EAAYH,EAAS,KAAK,GAAG,MAG9BG,EAAYA,EAAU,MACpBvB,EAAO0B,EAAiBd,GAAcW,EAAWI,GAAG,EACpDH,GAAkBL,GACjBI,EACAF,EACAC,EACAtB,EACAT,CACF,UACgBS,IAAb,SAAmB,CAC1B,GAAmB,OAAOoB,EAAS,MAA/B,WACF,OAAOD,GACLJ,GAAgBK,CAAQ,EACxBC,EACAC,EACAC,EACAhC,CACF,EACF,MAAA8B,EAAQ,OAAOD,CAAQ,EACjB,MACJ,mDACyBC,IAAtB,kBACG,qBAAuB,OAAO,KAAKD,CAAQ,EAAE,KAAK,IAAI,EAAI,IAC1DC,GACJ,2EACJ,CACF,CACA,OAAOG,CACT,CACA,SAASI,GAAYR,EAAUS,EAAMzC,EAAS,CAC5C,GAAYgC,GAAR,KAAkB,OAAOA,EAC7B,IAAIU,EAAS,CAAC,EACZC,EAAQ,EACV,OAAAZ,GAAaC,EAAUU,EAAQ,GAAI,GAAI,SAAUE,EAAO,CACtD,OAAOH,EAAK,KAAKzC,EAAS4C,EAAOD,GAAO,CAC1C,CAAC,EACMD,CACT,CACA,SAASG,GAAgBC,EAAS,CAChC,GAAWA,EAAQ,UAAf,GAAwB,CAC1B,IAAIC,EAAOD,EAAQ,QACnBC,EAAOA,EAAK,EACZA,EAAK,KACH,SAAUC,EAAc,EACZF,EAAQ,UAAd,GAAgCA,EAAQ,UAAf,MAC1BA,EAAQ,QAAU,EAAKA,EAAQ,QAAUE,EAC9C,EACA,SAAUlB,EAAO,EACLgB,EAAQ,UAAd,GAAgCA,EAAQ,UAAf,MAC1BA,EAAQ,QAAU,EAAKA,EAAQ,QAAUhB,EAC9C,CACF,EACOgB,EAAQ,UAAf,KAA4BA,EAAQ,QAAU,EAAKA,EAAQ,QAAUC,EACvE,CACA,GAAUD,EAAQ,UAAd,EAAuB,OAAOA,EAAQ,QAAQ,QAClD,MAAMA,EAAQ,OAChB,CACA,IAAIG,GACe,OAAO,aAAtB,WACI,YACA,SAAUnB,EAAO,CACf,GACe,OAAO,QAApB,UACe,OAAO,OAAO,YAA7B,WACA,CACA,IAAIoB,EAAQ,IAAI,OAAO,WAAW,QAAS,CACzC,QAAS,GACT,WAAY,GACZ,QACe,OAAOpB,GAApB,UACSA,IAAT,MACa,OAAOA,EAAM,SAA1B,SACI,OAAOA,EAAM,OAAO,EACpB,OAAOA,CAAK,EAClB,MAAOA,CACT,CAAC,EACD,GAAI,CAAC,OAAO,cAAcoB,CAAK,EAAG,MACpC,SACe,OAAO,SAApB,UACe,OAAO,QAAQ,MAA9B,WACA,CACA,QAAQ,KAAK,oBAAqBpB,CAAK,EACvC,MACF,CACA,QAAQ,MAAMA,CAAK,CACrB,EACNqB,GAAW,CACT,IAAKX,GACL,QAAS,SAAUR,EAAUoB,EAAaC,EAAgB,CACxDb,GACER,EACA,UAAY,CACVoB,EAAY,MAAM,KAAM,SAAS,CACnC,EACAC,CACF,CACF,EACA,MAAO,SAAUrB,EAAU,CACzB,IAAIsB,EAAI,EACR,OAAAd,GAAYR,EAAU,UAAY,CAChCsB,GACF,CAAC,EACMA,CACT,EACA,QAAS,SAAUtB,EAAU,CAC3B,OACEQ,GAAYR,EAAU,SAAUY,EAAO,CACrC,OAAOA,CACT,CAAC,GAAK,CAAC,CAEX,EACA,KAAM,SAAUZ,EAAU,CACxB,GAAI,CAACd,GAAec,CAAQ,EAC1B,MAAM,MACJ,uEACF,EACF,OAAOA,CACT,CACF,EACFrD,EAAQ,SAAWY,GACnBZ,EAAQ,SAAWwE,GACnBxE,EAAQ,UAAYmB,GACpBnB,EAAQ,SAAWG,GACnBH,EAAQ,SAAWK,GACnBL,EAAQ,cAAgB0B,GACxB1B,EAAQ,WAAaI,GACrBJ,EAAQ,SAAWS,GACnBT,EAAQ,gEACN8B,EACF9B,EAAQ,mBAAqB,CAC3B,UAAW,KACX,EAAG,SAAU4E,EAAM,CACjB,OAAO9C,EAAqB,EAAE,aAAa8C,CAAI,CACjD,CACF,EACA5E,EAAQ,MAAQ,SAAU6E,EAAI,CAC5B,OAAO,UAAY,CACjB,OAAOA,EAAG,MAAM,KAAM,SAAS,CACjC,CACF,EACA7E,EAAQ,YAAc,UAAY,CAChC,OAAO,IACT,EACAA,EAAQ,aAAe,SAAU8C,EAASgC,EAAQzB,EAAU,CAC1D,GAAaP,GAAT,KACF,MAAM,MACJ,wDAA0DA,EAAU,GACtE,EACF,IAAI1B,EAAQH,GAAO,CAAC,EAAG6B,EAAQ,KAAK,EAClCZ,EAAMY,EAAQ,IAChB,GAAYgC,GAAR,KACF,IAAKC,KAAwBD,EAAO,MAAlB,SAA0B5C,EAAM,GAAK4C,EAAO,KAAMA,EAClE,CAAC/C,GAAe,KAAK+C,EAAQC,CAAQ,GACzBA,IAAV,OACaA,IAAb,UACeA,IAAf,YACWA,IAAV,OAAiCD,EAAO,MAAlB,SACtB1D,EAAM2D,CAAQ,EAAID,EAAOC,CAAQ,GACxC,IAAIA,EAAW,UAAU,OAAS,EAClC,GAAUA,IAAN,EAAgB3D,EAAM,SAAWiC,UAC5B,EAAI0B,EAAU,CACrB,QAASC,EAAa,MAAMD,CAAQ,EAAG,EAAI,EAAG,EAAIA,EAAU,IAC1DC,EAAW,CAAC,EAAI,UAAU,EAAI,CAAC,EACjC5D,EAAM,SAAW4D,CACnB,CACA,OAAOhD,GAAac,EAAQ,KAAMZ,EAAKd,CAAK,CAC9C,EACApB,EAAQ,cAAgB,SAAUiF,EAAc,CAC9C,OAAAA,EAAe,CACb,SAAU1E,GACV,cAAe0E,EACf,eAAgBA,EAChB,aAAc,EACd,SAAU,KACV,SAAU,IACZ,EACAA,EAAa,SAAWA,EACxBA,EAAa,SAAW,CACtB,SAAU3E,GACV,SAAU2E,CACZ,EACOA,CACT,EACAjF,EAAQ,cAAgB,SAAUiC,EAAM6C,EAAQzB,EAAU,CACxD,IAAI0B,EACF3D,EAAQ,CAAC,EACTc,EAAM,KACR,GAAY4C,GAAR,KACF,IAAKC,KAAwBD,EAAO,MAAlB,SAA0B5C,EAAM,GAAK4C,EAAO,KAAMA,EAClE/C,GAAe,KAAK+C,EAAQC,CAAQ,GACxBA,IAAV,OACaA,IAAb,UACeA,IAAf,aACC3D,EAAM2D,CAAQ,EAAID,EAAOC,CAAQ,GACxC,IAAIG,EAAiB,UAAU,OAAS,EACxC,GAAUA,IAAN,EAAsB9D,EAAM,SAAWiC,UAClC,EAAI6B,EAAgB,CAC3B,QAASF,EAAa,MAAME,CAAc,EAAGtB,EAAI,EAAGA,EAAIsB,EAAgBtB,IACtEoB,EAAWpB,CAAC,EAAI,UAAUA,EAAI,CAAC,EACjCxC,EAAM,SAAW4D,CACnB,CACA,GAAI/C,GAAQA,EAAK,aACf,IAAK8C,KAAcG,EAAiBjD,EAAK,aAAeiD,EAC3C9D,EAAM2D,CAAQ,IAAzB,SACG3D,EAAM2D,CAAQ,EAAIG,EAAeH,CAAQ,GAChD,OAAO/C,GAAaC,EAAMC,EAAKd,CAAK,CACtC,EACApB,EAAQ,UAAY,UAAY,CAC9B,MAAO,CAAE,QAAS,IAAK,CACzB,EACAA,EAAQ,WAAa,SAAUmF,EAAQ,CACrC,MAAO,CAAE,SAAU3E,GAAwB,OAAQ2E,CAAO,CAC5D,EACAnF,EAAQ,eAAiBuC,GACzBvC,EAAQ,KAAO,SAAUoE,EAAM,CAC7B,MAAO,CACL,SAAUzD,GACV,SAAU,CAAE,QAAS,GAAI,QAASyD,CAAK,EACvC,MAAOF,EACT,CACF,EACAlE,EAAQ,KAAO,SAAUiC,EAAMmD,EAAS,CACtC,MAAO,CACL,SAAU1E,GACV,KAAMuB,EACN,QAAoBmD,IAAX,OAAqB,KAAOA,CACvC,CACF,EACApF,EAAQ,gBAAkB,SAAUqF,EAAO,CACzC,IAAIC,EAAiBxD,EAAqB,EACxCyD,EAAoB,CAAC,EACvBzD,EAAqB,EAAIyD,EACzB,GAAI,CACF,IAAIC,EAAcH,EAAM,EACtBI,EAA0B3D,EAAqB,EACxC2D,IAAT,MACEA,EAAwBF,EAAmBC,CAAW,EAC3C,OAAOA,GAApB,UACWA,IAAT,MACe,OAAOA,EAAY,MAAlC,YACAA,EAAY,KAAK3D,GAAMyC,EAAiB,CAC5C,OAASnB,EAAO,CACdmB,GAAkBnB,CAAK,CACzB,QAAE,CACSmC,IAAT,MACWC,EAAkB,QAA3B,OACCD,EAAe,MAAQC,EAAkB,OACzCzD,EAAqB,EAAIwD,CAC9B,CACF,EACAtF,EAAQ,yBAA2B,UAAY,CAC7C,OAAO8B,EAAqB,EAAE,gBAAgB,CAChD,EACA9B,EAAQ,IAAM,SAAU0F,EAAQ,CAC9B,OAAO5D,EAAqB,EAAE,IAAI4D,CAAM,CAC1C,EACA1F,EAAQ,eAAiB,SAAU2F,EAAQC,EAAcC,EAAW,CAClE,OAAO/D,EAAqB,EAAE,eAAe6D,EAAQC,EAAcC,CAAS,CAC9E,EACA7F,EAAQ,YAAc,SAAUwB,EAAUsE,EAAM,CAC9C,OAAOhE,EAAqB,EAAE,YAAYN,EAAUsE,CAAI,CAC1D,EACA9F,EAAQ,WAAa,SAAU+F,EAAS,CACtC,OAAOjE,EAAqB,EAAE,WAAWiE,CAAO,CAClD,EACA/F,EAAQ,cAAgB,UAAY,CAAC,EACrCA,EAAQ,iBAAmB,SAAUgG,EAAOC,EAAc,CACxD,OAAOnE,EAAqB,EAAE,iBAAiBkE,EAAOC,CAAY,CACpE,EACAjG,EAAQ,UAAY,SAAUkG,EAAQJ,EAAM,CAC1C,OAAOhE,EAAqB,EAAE,UAAUoE,EAAQJ,CAAI,CACtD,EACA9F,EAAQ,eAAiB,SAAUwB,EAAU,CAC3C,OAAOM,EAAqB,EAAE,eAAeN,CAAQ,CACvD,EACAxB,EAAQ,MAAQ,UAAY,CAC1B,OAAO8B,EAAqB,EAAE,MAAM,CACtC,EACA9B,EAAQ,oBAAsB,SAAUmG,EAAKD,EAAQJ,EAAM,CACzD,OAAOhE,EAAqB,EAAE,oBAAoBqE,EAAKD,EAAQJ,CAAI,CACrE,EACA9F,EAAQ,mBAAqB,SAAUkG,EAAQJ,EAAM,CACnD,OAAOhE,EAAqB,EAAE,mBAAmBoE,EAAQJ,CAAI,CAC/D,EACA9F,EAAQ,gBAAkB,SAAUkG,EAAQJ,EAAM,CAChD,OAAOhE,EAAqB,EAAE,gBAAgBoE,EAAQJ,CAAI,CAC5D,EACA9F,EAAQ,QAAU,SAAUkG,EAAQJ,EAAM,CACxC,OAAOhE,EAAqB,EAAE,QAAQoE,EAAQJ,CAAI,CACpD,EACA9F,EAAQ,cAAgB,SAAUoG,EAAaC,EAAS,CACtD,OAAOvE,EAAqB,EAAE,cAAcsE,EAAaC,CAAO,CAClE,EACArG,EAAQ,WAAa,SAAUqG,EAASC,EAAYC,EAAM,CACxD,OAAOzE,EAAqB,EAAE,WAAWuE,EAASC,EAAYC,CAAI,CACpE,EACAvG,EAAQ,OAAS,SAAUiG,EAAc,CACvC,OAAOnE,EAAqB,EAAE,OAAOmE,CAAY,CACnD,EACAjG,EAAQ,SAAW,SAAU4F,EAAc,CACzC,OAAO9D,EAAqB,EAAE,SAAS8D,CAAY,CACrD,EACA5F,EAAQ,qBAAuB,SAC7BwG,EACAC,EACAC,EACA,CACA,OAAO5E,EAAqB,EAAE,qBAC5B0E,EACAC,EACAC,CACF,CACF,EACA1G,EAAQ,cAAgB,UAAY,CAClC,OAAO8B,EAAqB,EAAE,cAAc,CAC9C,EACA9B,EAAQ,QAAU,WC7hBlB,IAAA2G,GAAAC,GAAA,CAAAC,EAAAC,KAAA,cAWiB,QAAQ,IAAI,WAA7B,eACG,UAAY,CACX,SAASC,EAAyBC,EAAYC,EAAM,CAClD,OAAO,eAAeC,EAAU,UAAWF,EAAY,CACrD,IAAK,UAAY,CACf,QAAQ,KACN,8DACAC,EAAK,CAAC,EACNA,EAAK,CAAC,CACR,CACF,CACF,CAAC,CACH,CACA,SAASE,EAAcC,EAAe,CACpC,OAAaA,IAAT,MAAuC,OAAOA,GAApB,SACrB,MACTA,EACGC,IAAyBD,EAAcC,EAAqB,GAC7DD,EAAc,YAAY,EACN,OAAOA,GAAtB,WAAsCA,EAAgB,KAC/D,CACA,SAASE,EAASC,EAAgBC,EAAY,CAC5CD,GACIA,EAAiBA,EAAe,eAC/BA,EAAe,aAAeA,EAAe,OAChD,aACF,IAAIE,EAAaF,EAAiB,IAAMC,EACxCE,GAAwCD,CAAU,IAC/C,QAAQ,MACP,wPACAD,EACAD,CACF,EACCG,GAAwCD,CAAU,EAAI,GAC3D,CACA,SAASP,EAAUS,EAAOC,EAASC,EAAS,CAC1C,KAAK,MAAQF,EACb,KAAK,QAAUC,EACf,KAAK,KAAOE,GACZ,KAAK,QAAUD,GAAWE,EAC5B,CACA,SAASC,GAAiB,CAAC,CAC3B,SAASC,EAAcN,EAAOC,EAASC,EAAS,CAC9C,KAAK,MAAQF,EACb,KAAK,QAAUC,EACf,KAAK,KAAOE,GACZ,KAAK,QAAUD,GAAWE,EAC5B,CACA,SAASG,GAAO,CAAC,CACjB,SAASC,EAAmBC,EAAO,CACjC,MAAO,GAAKA,CACd,CACA,SAASC,EAAuBD,EAAO,CACrC,GAAI,CACFD,EAAmBC,CAAK,EACxB,IAAIE,EAA2B,EACjC,OAASC,EAAG,CACVD,EAA2B,EAC7B,CACA,GAAIA,EAA0B,CAC5BA,EAA2B,QAC3B,IAAIE,EAAwBF,EAAyB,MACjDG,EACc,OAAO,QAAtB,YACC,OAAO,aACPL,EAAM,OAAO,WAAW,GAC1BA,EAAM,YAAY,MAClB,SACF,OAAAI,EAAsB,KACpBF,EACA,2GACAG,CACF,EACON,EAAmBC,CAAK,CACjC,CACF,CACA,SAASM,EAAyBC,EAAM,CACtC,GAAYA,GAAR,KAAc,OAAO,KACzB,GAAmB,OAAOA,GAAtB,WACF,OAAOA,EAAK,WAAaC,GACrB,KACAD,EAAK,aAAeA,EAAK,MAAQ,KACvC,GAAiB,OAAOA,GAApB,SAA0B,OAAOA,EACrC,OAAQA,EAAM,CACZ,KAAKE,GACH,MAAO,WACT,KAAKC,GACH,MAAO,WACT,KAAKC,EACH,MAAO,aACT,KAAKC,GACH,MAAO,WACT,KAAKC,GACH,MAAO,eACT,KAAKC,GACH,MAAO,UACX,CACA,GAAiB,OAAOP,GAApB,SACF,OACgB,OAAOA,EAAK,KAAzB,UACC,QAAQ,MACN,mHACF,EACFA,EAAK,SACL,CACA,KAAKQ,EACH,MAAO,SACT,KAAKC,GACH,OAAOT,EAAK,aAAe,UAC7B,KAAKU,GACH,OAAQV,EAAK,SAAS,aAAe,WAAa,YACpD,KAAKW,GACH,IAAIC,EAAYZ,EAAK,OACrB,OAAAA,EAAOA,EAAK,YACZA,IACIA,EAAOY,EAAU,aAAeA,EAAU,MAAQ,GACnDZ,EAAcA,IAAP,GAAc,cAAgBA,EAAO,IAAM,cAC9CA,EACT,KAAKa,GACH,OACGD,EAAYZ,EAAK,aAAe,KACxBY,IAAT,KACIA,EACAb,EAAyBC,EAAK,IAAI,GAAK,OAE/C,KAAKc,GACHF,EAAYZ,EAAK,SACjBA,EAAOA,EAAK,MACZ,GAAI,CACF,OAAOD,EAAyBC,EAAKY,CAAS,CAAC,CACjD,OAASG,EAAG,CAAC,CACjB,CACF,OAAO,IACT,CACA,SAASC,EAAYhB,EAAM,CACzB,GAAIA,IAASE,GAAqB,MAAO,KACzC,GACe,OAAOF,GAApB,UACSA,IAAT,MACAA,EAAK,WAAac,GAElB,MAAO,QACT,GAAI,CACF,IAAIG,EAAOlB,EAAyBC,CAAI,EACxC,OAAOiB,EAAO,IAAMA,EAAO,IAAM,OACnC,OAASF,EAAG,CACV,MAAO,OACT,CACF,CACA,SAASG,GAAW,CAClB,IAAIC,EAAaC,EAAqB,EACtC,OAAgBD,IAAT,KAAsB,KAAOA,EAAW,SAAS,CAC1D,CACA,SAASE,GAAe,CACtB,OAAO,MAAM,uBAAuB,CACtC,CACA,SAASC,EAAYC,EAAQ,CAC3B,GAAIC,GAAe,KAAKD,EAAQ,KAAK,EAAG,CACtC,IAAIE,EAAS,OAAO,yBAAyBF,EAAQ,KAAK,EAAE,IAC5D,GAAIE,GAAUA,EAAO,eAAgB,MAAO,EAC9C,CACA,OAAkBF,EAAO,MAAlB,MACT,CACA,SAASG,EAA2B1C,EAAO2C,EAAa,CACtD,SAASC,GAAwB,CAC/BC,KACIA,GAA6B,GAC/B,QAAQ,MACN,0OACAF,CACF,EACJ,CACAC,EAAsB,eAAiB,GACvC,OAAO,eAAe5C,EAAO,MAAO,CAClC,IAAK4C,EACL,aAAc,EAChB,CAAC,CACH,CACA,SAASE,GAAyC,CAChD,IAAIC,EAAgBhC,EAAyB,KAAK,IAAI,EACtD,OAAAiC,GAAuBD,CAAa,IAChCC,GAAuBD,CAAa,EAAI,GAC1C,QAAQ,MACN,6IACF,GACFA,EAAgB,KAAK,MAAM,IACTA,IAAX,OAA2BA,EAAgB,IACpD,CACA,SAASE,EAAajC,EAAMkC,EAAKlD,EAAOmD,EAAOC,EAAYC,EAAW,CACpE,IAAIC,EAAUtD,EAAM,IACpB,OAAAgB,EAAO,CACL,SAAUuC,EACV,KAAMvC,EACN,IAAKkC,EACL,MAAOlD,EACP,OAAQmD,CACV,GACqBG,IAAX,OAAqBA,EAAU,QAAzC,KACI,OAAO,eAAetC,EAAM,MAAO,CACjC,WAAY,GACZ,IAAK8B,CACP,CAAC,EACD,OAAO,eAAe9B,EAAM,MAAO,CAAE,WAAY,GAAI,MAAO,IAAK,CAAC,EACtEA,EAAK,OAAS,CAAC,EACf,OAAO,eAAeA,EAAK,OAAQ,YAAa,CAC9C,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAO,CACT,CAAC,EACD,OAAO,eAAeA,EAAM,aAAc,CACxC,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAO,IACT,CAAC,EACD,OAAO,eAAeA,EAAM,cAAe,CACzC,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAOoC,CACT,CAAC,EACD,OAAO,eAAepC,EAAM,aAAc,CACxC,aAAc,GACd,WAAY,GACZ,SAAU,GACV,MAAOqC,CACT,CAAC,EACD,OAAO,SAAW,OAAO,OAAOrC,EAAK,KAAK,EAAG,OAAO,OAAOA,CAAI,GACxDA,CACT,CACA,SAASwC,EAAmBC,EAAYC,EAAQ,CAC9C,OAAAA,EAAST,EACPQ,EAAW,KACXC,EACAD,EAAW,MACXA,EAAW,OACXA,EAAW,YACXA,EAAW,UACb,EACAA,EAAW,SACRC,EAAO,OAAO,UAAYD,EAAW,OAAO,WACxCC,CACT,CACA,SAASC,EAAkBC,EAAM,CAC/BC,EAAeD,CAAI,EACfA,EAAK,SAAWA,EAAK,OAAO,UAAY,GAC3B,OAAOA,GAApB,UACSA,IAAT,MACAA,EAAK,WAAa9B,KACD8B,EAAK,SAAS,SAA9B,YACGC,EAAeD,EAAK,SAAS,KAAK,GAClCA,EAAK,SAAS,MAAM,SACnBA,EAAK,SAAS,MAAM,OAAO,UAAY,GACxCA,EAAK,SAAWA,EAAK,OAAO,UAAY,GAClD,CACA,SAASC,EAAeC,EAAQ,CAC9B,OACe,OAAOA,GAApB,UACSA,IAAT,MACAA,EAAO,WAAaP,CAExB,CACA,SAASQ,EAAOb,EAAK,CACnB,IAAIc,EAAgB,CAAE,IAAK,KAAM,IAAK,IAAK,EAC3C,MACE,IACAd,EAAI,QAAQ,QAAS,SAAUe,EAAO,CACpC,OAAOD,EAAcC,CAAK,CAC5B,CAAC,CAEL,CACA,SAASC,EAAcC,EAASC,EAAO,CACrC,OAAoB,OAAOD,GAApB,UACIA,IAAT,MACQA,EAAQ,KAAhB,MACGzD,EAAuByD,EAAQ,GAAG,EAAGJ,EAAO,GAAKI,EAAQ,GAAG,GAC7DC,EAAM,SAAS,EAAE,CACvB,CACA,SAASC,EAAgBC,EAAU,CACjC,OAAQA,EAAS,OAAQ,CACvB,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MAAMA,EAAS,OACjB,QACE,OACgB,OAAOA,EAAS,QAA7B,SACGA,EAAS,KAAK/D,EAAMA,CAAI,GACtB+D,EAAS,OAAS,UACpBA,EAAS,KACP,SAAUC,EAAgB,CACVD,EAAS,SAAvB,YACIA,EAAS,OAAS,YACnBA,EAAS,MAAQC,EACtB,EACA,SAAUC,EAAO,CACDF,EAAS,SAAvB,YACIA,EAAS,OAAS,WACnBA,EAAS,OAASE,EACvB,CACF,GACJF,EAAS,OACT,CACA,IAAK,YACH,OAAOA,EAAS,MAClB,IAAK,WACH,MAAMA,EAAS,MACnB,CACJ,CACA,MAAMA,CACR,CACA,SAASG,EAAaC,EAAUC,EAAOC,EAAeC,EAAWC,EAAU,CACzE,IAAI9D,EAAO,OAAO0D,GACE1D,IAAhB,aAAsCA,IAAd,aAAoB0D,EAAW,MAC3D,IAAIK,EAAiB,GACrB,GAAaL,IAAT,KAAmBK,EAAiB,OAEtC,QAAQ/D,EAAM,CACZ,IAAK,SACL,IAAK,SACL,IAAK,SACH+D,EAAiB,GACjB,MACF,IAAK,SACH,OAAQL,EAAS,SAAU,CACzB,KAAKnB,EACL,KAAK/B,EACHuD,EAAiB,GACjB,MACF,KAAKjD,GACH,OACGiD,EAAiBL,EAAS,MAC3BD,EACEM,EAAeL,EAAS,QAAQ,EAChCC,EACAC,EACAC,EACAC,CACF,CAEN,CACJ,CACF,GAAIC,EAAgB,CAClBA,EAAiBL,EACjBI,EAAWA,EAASC,CAAc,EAClC,IAAIC,EACKH,IAAP,GAAmB,IAAMX,EAAca,EAAgB,CAAC,EAAIF,EAC9D,OAAAI,GAAYH,CAAQ,GACdF,EAAgB,GACVI,GAAR,OACGJ,EACCI,EAAS,QAAQE,GAA4B,KAAK,EAAI,KAC1DT,EAAaK,EAAUH,EAAOC,EAAe,GAAI,SAAUO,GAAG,CAC5D,OAAOA,EACT,CAAC,GACOL,GAAR,OACCjB,EAAeiB,CAAQ,IACbA,EAAS,KAAjB,OACGC,GAAkBA,EAAe,MAAQD,EAAS,KAClDpE,EAAuBoE,EAAS,GAAG,GACtCF,EAAgBpB,EACfsB,EACAF,GACWE,EAAS,KAAjB,MACAC,GAAkBA,EAAe,MAAQD,EAAS,IAC/C,IACC,GAAKA,EAAS,KAAK,QAClBI,GACA,KACF,EAAI,KACRF,CACJ,EACOH,IAAP,IACUE,GAAR,MACAlB,EAAekB,CAAc,GACrBA,EAAe,KAAvB,MACAA,EAAe,QACf,CAACA,EAAe,OAAO,YACtBH,EAAc,OAAO,UAAY,GACnCE,EAAWF,GACdD,EAAM,KAAKG,CAAQ,GAChB,CACT,CAGA,GAFAC,EAAiB,EACjBC,EAAkBH,IAAP,GAAmB,IAAMA,EAAY,IAC5CI,GAAYP,CAAQ,EACtB,QAASU,EAAI,EAAGA,EAAIV,EAAS,OAAQU,IAClCP,EAAYH,EAASU,CAAC,EACpBpE,EAAOgE,EAAWd,EAAcW,EAAWO,CAAC,EAC5CL,GAAkBN,EACjBI,EACAF,EACAC,EACA5D,EACA8D,CACF,UACKM,EAAI5F,EAAckF,CAAQ,EAAmB,OAAOU,GAAtB,WACvC,IACEA,IAAMV,EAAS,UACZW,IACC,QAAQ,KACN,uFACF,EACDA,GAAmB,IACpBX,EAAWU,EAAE,KAAKV,CAAQ,EAC1BU,EAAI,EACN,EAAEP,EAAYH,EAAS,KAAK,GAAG,MAG9BG,EAAYA,EAAU,MACpB7D,EAAOgE,EAAWd,EAAcW,EAAWO,GAAG,EAC9CL,GAAkBN,EACjBI,EACAF,EACAC,EACA5D,EACA8D,CACF,UACgB9D,IAAb,SAAmB,CAC1B,GAAmB,OAAO0D,EAAS,MAA/B,WACF,OAAOD,EACLJ,EAAgBK,CAAQ,EACxBC,EACAC,EACAC,EACAC,CACF,EACF,MAAAH,EAAQ,OAAOD,CAAQ,EACjB,MACJ,mDACyBC,IAAtB,kBACG,qBAAuB,OAAO,KAAKD,CAAQ,EAAE,KAAK,IAAI,EAAI,IAC1DC,GACJ,2EACJ,CACF,CACA,OAAOI,CACT,CACA,SAASO,EAAYZ,EAAUa,EAAMtF,EAAS,CAC5C,GAAYyE,GAAR,KAAkB,OAAOA,EAC7B,IAAIc,EAAS,CAAC,EACZC,EAAQ,EACV,OAAAhB,EAAaC,EAAUc,EAAQ,GAAI,GAAI,SAAUE,EAAO,CACtD,OAAOH,EAAK,KAAKtF,EAASyF,EAAOD,GAAO,CAC1C,CAAC,EACMD,CACT,CACA,SAASG,GAAgBC,EAAS,CAChC,GAAWA,EAAQ,UAAf,GAAwB,CAC1B,IAAIC,EAASD,EAAQ,QACbC,GAAR,OAAmBA,EAAO,MAAQA,EAAO,IAAM,YAAY,IAAI,GAC/DA,EAASD,EAAQ,QACjB,IAAItB,EAAWuB,EAAO,EAyBtB,GAxBAvB,EAAS,KACP,SAAUwB,EAAc,CACtB,GAAUF,EAAQ,UAAd,GAAgCA,EAAQ,UAAf,GAAwB,CACnDA,EAAQ,QAAU,EAClBA,EAAQ,QAAUE,EAClB,IAAIC,EAAUH,EAAQ,QACdG,GAAR,OAAoBA,EAAQ,IAAM,YAAY,IAAI,GACvCzB,EAAS,SAApB,SACIA,EAAS,OAAS,YACnBA,EAAS,MAAQwB,EACtB,CACF,EACA,SAAUtB,EAAO,CACf,GAAUoB,EAAQ,UAAd,GAAgCA,EAAQ,UAAf,GAAwB,CACnDA,EAAQ,QAAU,EAClBA,EAAQ,QAAUpB,EAClB,IAAIwB,EAAWJ,EAAQ,QACfI,GAAR,OAAqBA,EAAS,IAAM,YAAY,IAAI,GACzC1B,EAAS,SAApB,SACIA,EAAS,OAAS,WAAcA,EAAS,OAASE,EACxD,CACF,CACF,EACAqB,EAASD,EAAQ,QACLC,GAAR,KAAgB,CAClBA,EAAO,MAAQvB,EACf,IAAI3B,EAAc2B,EAAS,YACd,OAAO3B,GAApB,WAAoCkD,EAAO,KAAOlD,EACpD,CACOiD,EAAQ,UAAf,KACIA,EAAQ,QAAU,EAAKA,EAAQ,QAAUtB,EAC/C,CACA,GAAUsB,EAAQ,UAAd,EACF,OACGC,EAASD,EAAQ,QACPC,IAAX,QACE,QAAQ,MACN;AAAA;AAAA;AAAA;AAAA;AAAA,0DACAA,CACF,EACF,YAAaA,GACX,QAAQ,MACN;AAAA;AAAA;AAAA,2DACAA,CACF,EACFA,EAAO,QAEX,MAAMD,EAAQ,OAChB,CACA,SAASK,GAAoB,CAC3B,IAAI9D,EAAaC,EAAqB,EACtC,OAASD,IAAT,MACE,QAAQ,MACN;AAAA;AAAA;AAAA;AAAA,+FACF,EACKA,CACT,CACA,SAAS+D,IAAyB,CAChC9D,EAAqB,kBACvB,CACA,SAAS+D,EAAYC,EAAM,CACzB,GAAaC,KAAT,KACF,GAAI,CACF,IAAIC,GAAiB,UAAY,KAAK,OAAO,GAAG,MAAM,EAAG,CAAC,EAC1DD,IAAmBlH,IAAUA,GAAOmH,CAAa,GAAG,KAClDnH,GACA,QACF,EAAE,YACJ,OAASoH,EAAM,CACbF,GAAkB,SAAUvB,EAAU,CAC7B0B,KAAP,KACIA,GAA6B,GACf,OAAO,gBAAvB,aACE,QAAQ,MACN,0NACF,GACJ,IAAIC,EAAU,IAAI,eAClBA,EAAQ,MAAM,UAAY3B,EAC1B2B,EAAQ,MAAM,YAAY,MAAM,CAClC,CACF,CACF,OAAOJ,GAAgBD,CAAI,CAC7B,CACA,SAASM,EAAgBC,EAAQ,CAC/B,MAAO,GAAIA,EAAO,QAAyB,OAAO,gBAAtB,WACxB,IAAI,eAAeA,CAAM,EACzBA,EAAO,CAAC,CACd,CACA,SAASC,EAAYC,EAAcC,EAAmB,CACpDA,IAAsBC,GAAgB,GACpC,QAAQ,MACN,kIACF,EACFA,GAAgBD,CAClB,CACA,SAASE,EAA6BC,EAAaC,EAASC,EAAQ,CAClE,IAAIC,EAAQhF,EAAqB,SACjC,GAAagF,IAAT,KACF,GAAUA,EAAM,SAAZ,EACF,GAAI,CACFC,EAAcD,CAAK,EACnBjB,EAAY,UAAY,CACtB,OAAOa,EAA6BC,EAAaC,EAASC,CAAM,CAClE,CAAC,EACD,MACF,OAAS3C,EAAO,CACdpC,EAAqB,aAAa,KAAKoC,CAAK,CAC9C,MACGpC,EAAqB,SAAW,KACvC,EAAIA,EAAqB,aAAa,QAChCgF,EAAQV,EAAgBtE,EAAqB,YAAY,EAC1DA,EAAqB,aAAa,OAAS,EAC5C+E,EAAOC,CAAK,GACZF,EAAQD,CAAW,CACzB,CACA,SAASI,EAAcD,EAAO,CAC5B,GAAI,CAACE,GAAY,CACfA,GAAa,GACb,IAAIlC,EAAI,EACR,GAAI,CACF,KAAOA,EAAIgC,EAAM,OAAQhC,IAAK,CAC5B,IAAIN,EAAWsC,EAAMhC,CAAC,EACtB,EAAG,CACDhD,EAAqB,cAAgB,GACrC,IAAImF,EAAezC,EAAS,EAAE,EAC9B,GAAayC,IAAT,KAAuB,CACzB,GAAInF,EAAqB,cAAe,CACtCgF,EAAMhC,CAAC,EAAIN,EACXsC,EAAM,OAAO,EAAGhC,CAAC,EACjB,MACF,CACAN,EAAWyC,CACb,KAAO,MACT,OAAS,GACX,CACAH,EAAM,OAAS,CACjB,OAAS5C,EAAO,CACd4C,EAAM,OAAO,EAAGhC,EAAI,CAAC,EAAGhD,EAAqB,aAAa,KAAKoC,CAAK,CACtE,QAAE,CACA8C,GAAa,EACf,CACF,CACF,CACgB,OAAO,gCAAvB,aAEI,OAAO,+BAA+B,6BADxC,YAEA,+BAA+B,4BAA4B,MAAM,CAAC,EACpE,IAAI/D,EAAqB,OAAO,IAAI,4BAA4B,EAC9D/B,EAAoB,OAAO,IAAI,cAAc,EAC7CN,GAAsB,OAAO,IAAI,gBAAgB,EACjDE,EAAyB,OAAO,IAAI,mBAAmB,EACvDD,GAAsB,OAAO,IAAI,gBAAgB,EACjDO,GAAsB,OAAO,IAAI,gBAAgB,EACjDD,GAAqB,OAAO,IAAI,eAAe,EAC/CE,GAAyB,OAAO,IAAI,mBAAmB,EACvDN,GAAsB,OAAO,IAAI,gBAAgB,EACjDC,GAA2B,OAAO,IAAI,qBAAqB,EAC3DO,GAAkB,OAAO,IAAI,YAAY,EACzCC,GAAkB,OAAO,IAAI,YAAY,EACzCP,GAAsB,OAAO,IAAI,gBAAgB,EACjD7B,GAAwB,OAAO,SAC/BK,GAA0C,CAAC,EAC3CK,GAAuB,CACrB,UAAW,UAAY,CACrB,MAAO,EACT,EACA,mBAAoB,SAAUR,EAAgB,CAC5CD,EAASC,EAAgB,aAAa,CACxC,EACA,oBAAqB,SAAUA,EAAgB,CAC7CD,EAASC,EAAgB,cAAc,CACzC,EACA,gBAAiB,SAAUA,EAAgB,CACzCD,EAASC,EAAgB,UAAU,CACrC,CACF,EACA4H,GAAS,OAAO,OAChBrH,GAAc,CAAC,EACjB,OAAO,OAAOA,EAAW,EACzBZ,EAAU,UAAU,iBAAmB,CAAC,EACxCA,EAAU,UAAU,SAAW,SAAUkI,EAAc3C,EAAU,CAC/D,GACe,OAAO2C,GAApB,UACe,OAAOA,GAAtB,YACQA,GAAR,KAEA,MAAM,MACJ,wGACF,EACF,KAAK,QAAQ,gBAAgB,KAAMA,EAAc3C,EAAU,UAAU,CACvE,EACAvF,EAAU,UAAU,YAAc,SAAUuF,EAAU,CACpD,KAAK,QAAQ,mBAAmB,KAAMA,EAAU,aAAa,CAC/D,EACA,IAAI4C,GAAiB,CACnB,UAAW,CACT,YACA,oHACF,EACA,aAAc,CACZ,eACA,iGACF,CACF,EACA,IAAKC,MAAUD,GACbA,GAAe,eAAeC,EAAM,GAClCvI,EAAyBuI,GAAQD,GAAeC,EAAM,CAAC,EAC3DtH,EAAe,UAAYd,EAAU,UACrCmI,GAAiBpH,EAAc,UAAY,IAAID,EAC/CqH,GAAe,YAAcpH,EAC7BkH,GAAOE,GAAgBnI,EAAU,SAAS,EAC1CmI,GAAe,qBAAuB,GACtC,IAAIzC,GAAc,MAAM,QACtBhE,GAAyB,OAAO,IAAI,wBAAwB,EAC5DmB,EAAuB,CACrB,EAAG,KACH,EAAG,KACH,EAAG,KACH,EAAG,KACH,SAAU,KACV,iBAAkB,EAClB,iBAAkB,GAClB,wBAAyB,GACzB,cAAe,GACf,aAAc,CAAC,EACf,gBAAiB,KACjB,2BAA4B,CAC9B,EACAI,GAAiB,OAAO,UAAU,eAClCoF,GAAa,QAAQ,WACjB,QAAQ,WACR,UAAY,CACV,OAAO,IACT,EACNF,GAAiB,CACf,yBAA0B,SAAUG,EAAmB,CACrD,OAAOA,EAAkB,CAC3B,CACF,EACA,IAAIhF,GAA4BiF,GAC5B9E,GAAyB,CAAC,EAC1B+E,GAAyBL,GAAe,yBAAyB,KACnEA,GACArF,CACF,EAAE,EACE2F,GAAwBJ,GAAW5F,EAAYK,CAAY,CAAC,EAC5DgD,GAAmB,GACrBH,GAA6B,OAC7B+C,GACiB,OAAO,aAAtB,WACI,YACA,SAAUzD,EAAO,CACf,GACe,OAAO,QAApB,UACe,OAAO,OAAO,YAA7B,WACA,CACA,IAAI0D,EAAQ,IAAI,OAAO,WAAW,QAAS,CACzC,QAAS,GACT,WAAY,GACZ,QACe,OAAO1D,GAApB,UACSA,IAAT,MACa,OAAOA,EAAM,SAA1B,SACI,OAAOA,EAAM,OAAO,EACpB,OAAOA,CAAK,EAClB,MAAOA,CACT,CAAC,EACD,GAAI,CAAC,OAAO,cAAc0D,CAAK,EAAG,MACpC,SACe,OAAO,SAApB,UACe,OAAO,QAAQ,MAA9B,WACA,CACA,QAAQ,KAAK,oBAAqB1D,CAAK,EACvC,MACF,CACA,QAAQ,MAAMA,CAAK,CACrB,EACNgC,GAA6B,GAC7BH,GAAkB,KAClBU,GAAgB,EAChBoB,GAAoB,GACpBb,GAAa,GACbc,GACiB,OAAO,gBAAtB,WACI,SAAUtD,EAAU,CAClB,eAAe,UAAY,CACzB,OAAO,eAAeA,CAAQ,CAChC,CAAC,CACH,EACAqB,EACRuB,GAAiB,OAAO,OAAO,CAC7B,UAAW,KACX,EAAG,SAAUW,EAAM,CACjB,OAAOpC,EAAkB,EAAE,aAAaoC,CAAI,CAC9C,CACF,CAAC,EACD,IAAIV,GAAS,CACX,IAAKrC,EACL,QAAS,SAAUZ,EAAU4D,EAAaC,EAAgB,CACxDjD,EACEZ,EACA,UAAY,CACV4D,EAAY,MAAM,KAAM,SAAS,CACnC,EACAC,CACF,CACF,EACA,MAAO,SAAU7D,EAAU,CACzB,IAAI8D,EAAI,EACR,OAAAlD,EAAYZ,EAAU,UAAY,CAChC8D,GACF,CAAC,EACMA,CACT,EACA,QAAS,SAAU9D,EAAU,CAC3B,OACEY,EAAYZ,EAAU,SAAUgB,EAAO,CACrC,OAAOA,CACT,CAAC,GAAK,CAAC,CAEX,EACA,KAAM,SAAUhB,EAAU,CACxB,GAAI,CAACb,EAAea,CAAQ,EAC1B,MAAM,MACJ,uEACF,EACF,OAAOA,CACT,CACF,EACAxF,EAAQ,SAAWqC,GACnBrC,EAAQ,SAAWyI,GACnBzI,EAAQ,UAAYK,EACpBL,EAAQ,SAAWgC,GACnBhC,EAAQ,SAAWiC,GACnBjC,EAAQ,cAAgBoB,EACxBpB,EAAQ,WAAakC,EACrBlC,EAAQ,SAAWmC,GACnBnC,EAAQ,gEACNkD,EACFlD,EAAQ,mBAAqBwI,GAC7BxI,EAAQ,IAAM,SAAU4F,EAAU,CAChC,IAAI+B,EAAezE,EAAqB,SACtC0E,EAAoBC,GACtBA,KACA,IAAIK,EAAShF,EAAqB,SACrByE,IAAT,KAAwBA,EAAe,CAAC,EAC1C4B,EAAkB,GACpB,GAAI,CACF,IAAIjD,EAASV,EAAS,CACxB,OAASN,EAAO,CACdpC,EAAqB,aAAa,KAAKoC,CAAK,CAC9C,CACA,GAAI,EAAIpC,EAAqB,aAAa,OACxC,MACGwE,EAAYC,EAAcC,CAAiB,EAC3ChC,EAAW4B,EAAgBtE,EAAqB,YAAY,EAC5DA,EAAqB,aAAa,OAAS,EAC5C0C,EAEJ,GACWU,IAAT,MACa,OAAOA,GAApB,UACe,OAAOA,EAAO,MAA7B,WACA,CACA,IAAIlB,EAAWkB,EACf,OAAA4C,GAAuB,UAAY,CACjCK,GACEN,KACEA,GAAoB,GACtB,QAAQ,MACN,mMACF,EACJ,CAAC,EACM,CACL,KAAM,SAAUjB,EAASC,GAAQ,CAC/BsB,EAAkB,GAClBnE,EAAS,KACP,SAAU2C,GAAa,CAErB,GADAL,EAAYC,EAAcC,CAAiB,EACjCA,IAAN,EAAyB,CAC3B,GAAI,CACFO,EAAcD,CAAK,EACjBjB,EAAY,UAAY,CACtB,OAAOa,EACLC,GACAC,EACAC,EACF,CACF,CAAC,CACL,OAASuB,GAAS,CAChBtG,EAAqB,aAAa,KAAKsG,EAAO,CAChD,CACA,GAAI,EAAItG,EAAqB,aAAa,OAAQ,CAChD,IAAIuG,GAAejC,EACjBtE,EAAqB,YACvB,EACAA,EAAqB,aAAa,OAAS,EAC3C+E,GAAOwB,EAAY,CACrB,CACF,MAAOzB,EAAQD,EAAW,CAC5B,EACA,SAAUzC,GAAO,CACfoC,EAAYC,EAAcC,CAAiB,EAC3C,EAAI1E,EAAqB,aAAa,SAChCoC,GAAQkC,EACRtE,EAAqB,YACvB,EACCA,EAAqB,aAAa,OAAS,GAC5C+E,GAAO3C,EAAK,CAElB,CACF,CACF,CACF,CACF,CACA,IAAIoE,EAAuBpD,EAc3B,GAbAoB,EAAYC,EAAcC,CAAiB,EACrCA,IAAN,IACGO,EAAcD,CAAK,EACdA,EAAM,SAAZ,GACEgB,GAAuB,UAAY,CACjCK,GACEN,KACEA,GAAoB,GACtB,QAAQ,MACN,qMACF,EACJ,CAAC,EACF/F,EAAqB,SAAW,MAC/B,EAAIA,EAAqB,aAAa,OACxC,MACI0C,EAAW4B,EAAgBtE,EAAqB,YAAY,EAC7DA,EAAqB,aAAa,OAAS,EAC5C0C,EAEJ,MAAO,CACL,KAAM,SAAUoC,EAASC,GAAQ,CAC/BsB,EAAkB,GACZ3B,IAAN,GACM1E,EAAqB,SAAWgF,EAClCjB,EAAY,UAAY,CACtB,OAAOa,EACL4B,EACA1B,EACAC,EACF,CACF,CAAC,GACDD,EAAQ0B,CAAoB,CAClC,CACF,CACF,EACA1J,EAAQ,MAAQ,SAAU2J,EAAI,CAC5B,OAAO,UAAY,CACjB,OAAOA,EAAG,MAAM,KAAM,SAAS,CACjC,CACF,EACA3J,EAAQ,YAAc,UAAY,CAChC,OAAO,IACT,EACAA,EAAQ,kBAAoB,UAAY,CACtC,IAAI4J,EAAkB1G,EAAqB,gBAC3C,OAAgB0G,IAAT,KAA2B,KAAOA,EAAgB,CAC3D,EACA5J,EAAQ,aAAe,SAAUiF,EAAS5B,EAAQmC,EAAU,CAC1D,GAAaP,GAAT,KACF,MAAM,MACJ,wDACEA,EACA,GACJ,EACF,IAAInE,EAAQwH,GAAO,CAAC,EAAGrD,EAAQ,KAAK,EAClCjB,EAAMiB,EAAQ,IACdhB,EAAQgB,EAAQ,OAClB,GAAY5B,GAAR,KAAgB,CAClB,IAAI5B,EACJoI,EAAG,CACD,GACEvG,GAAe,KAAKD,EAAQ,KAAK,IAChC5B,EAA2B,OAAO,yBACjC4B,EACA,KACF,EAAE,MACF5B,EAAyB,eACzB,CACAA,EAA2B,GAC3B,MAAMoI,CACR,CACApI,EAAsC4B,EAAO,MAAlB,MAC7B,CACA5B,IAA6BwC,EAAQjB,EAAS,GAC9CI,EAAYC,CAAM,IACf7B,EAAuB6B,EAAO,GAAG,EAAIW,EAAM,GAAKX,EAAO,KAC1D,IAAKyG,KAAYzG,EACf,CAACC,GAAe,KAAKD,EAAQyG,CAAQ,GACzBA,IAAV,OACaA,IAAb,UACeA,IAAf,YACWA,IAAV,OAAiCzG,EAAO,MAAlB,SACtBvC,EAAMgJ,CAAQ,EAAIzG,EAAOyG,CAAQ,EACxC,CACA,IAAIA,EAAW,UAAU,OAAS,EAClC,GAAUA,IAAN,EAAgBhJ,EAAM,SAAW0E,UAC5B,EAAIsE,EAAU,CACrBrI,EAA2B,MAAMqI,CAAQ,EACzC,QAAS5D,EAAI,EAAGA,EAAI4D,EAAU5D,IAC5BzE,EAAyByE,CAAC,EAAI,UAAUA,EAAI,CAAC,EAC/CpF,EAAM,SAAWW,CACnB,CASA,IARAX,EAAQiD,EACNkB,EAAQ,KACRjB,EACAlD,EACAmD,EACAgB,EAAQ,YACRA,EAAQ,UACV,EACKjB,EAAM,EAAGA,EAAM,UAAU,OAAQA,IACpCS,EAAkB,UAAUT,CAAG,CAAC,EAClC,OAAOlD,CACT,EACAd,EAAQ,cAAgB,SAAU+J,EAAc,CAC9C,OAAAA,EAAe,CACb,SAAUxH,GACV,cAAewH,EACf,eAAgBA,EAChB,aAAc,EACd,SAAU,KACV,SAAU,IACZ,EACAA,EAAa,SAAWA,EACxBA,EAAa,SAAW,CACtB,SAAUvH,GACV,SAAUuH,CACZ,EACAA,EAAa,iBAAmB,KAChCA,EAAa,kBAAoB,KAC1BA,CACT,EACA/J,EAAQ,cAAgB,SAAU8B,EAAMuB,EAAQmC,EAAU,CACxD,QAASU,EAAI,EAAGA,EAAI,UAAU,OAAQA,IACpCzB,EAAkB,UAAUyB,CAAC,CAAC,EAChCA,EAAI,CAAC,EACL,IAAIlC,EAAM,KACV,GAAYX,GAAR,KACF,IAAKyG,KAAalB,IAChB,EAAE,WAAYvF,IACd,QAASA,IACPuF,GAA4B,GAC9B,QAAQ,KACN,+KACF,GACFxF,EAAYC,CAAM,IACf7B,EAAuB6B,EAAO,GAAG,EAAIW,EAAM,GAAKX,EAAO,KAC1DA,EACEC,GAAe,KAAKD,EAAQyG,CAAQ,GACxBA,IAAV,OACaA,IAAb,UACeA,IAAf,aACC5D,EAAE4D,CAAQ,EAAIzG,EAAOyG,CAAQ,GACpC,IAAIE,EAAiB,UAAU,OAAS,EACxC,GAAUA,IAAN,EAAsB9D,EAAE,SAAWV,UAC9B,EAAIwE,EAAgB,CAC3B,QACMC,EAAa,MAAMD,CAAc,EAAGE,EAAK,EAC7CA,EAAKF,EACLE,IAEAD,EAAWC,CAAE,EAAI,UAAUA,EAAK,CAAC,EACnC,OAAO,QAAU,OAAO,OAAOD,CAAU,EACzC/D,EAAE,SAAW+D,CACf,CACA,GAAInI,GAAQA,EAAK,aACf,IAAKgI,KAAcE,EAAiBlI,EAAK,aAAekI,EAC3C9D,EAAE4D,CAAQ,IAArB,SAA2B5D,EAAE4D,CAAQ,EAAIE,EAAeF,CAAQ,GACpE9F,GACER,EACE0C,EACe,OAAOpE,GAAtB,WACIA,EAAK,aAAeA,EAAK,MAAQ,UACjCA,CACN,EACF,IAAIgI,EAAW,IAAM5G,EAAqB,6BAC1C,OAAOa,EACLjC,EACAkC,EACAkC,EACAlD,EAAS,EACT8G,EAAW,MAAM,uBAAuB,EAAIjB,GAC5CiB,EAAWpB,GAAW5F,EAAYhB,CAAI,CAAC,EAAIgH,EAC7C,CACF,EACA9I,EAAQ,UAAY,UAAY,CAC9B,IAAImK,EAAY,CAAE,QAAS,IAAK,EAChC,cAAO,KAAKA,CAAS,EACdA,CACT,EACAnK,EAAQ,WAAa,SAAUoK,EAAQ,CAC7BA,GAAR,MAAkBA,EAAO,WAAazH,GAClC,QAAQ,MACN,qIACF,EACe,OAAOyH,GAAtB,WACE,QAAQ,MACN,0DACSA,IAAT,KAAkB,OAAS,OAAOA,CACpC,EACMA,EAAO,SAAb,GACMA,EAAO,SAAb,GACA,QAAQ,MACN,+EACMA,EAAO,SAAb,EACI,2CACA,6CACN,EACEA,GAAR,MACUA,EAAO,cAAf,MACA,QAAQ,MACN,uGACF,EACF,IAAIC,EAAc,CAAE,SAAU5H,GAAwB,OAAQ2H,CAAO,EACnEE,EACF,cAAO,eAAeD,EAAa,cAAe,CAChD,WAAY,GACZ,aAAc,GACd,IAAK,UAAY,CACf,OAAOC,CACT,EACA,IAAK,SAAUvH,EAAM,CACnBuH,EAAUvH,EACVqH,EAAO,MACLA,EAAO,cACN,OAAO,eAAeA,EAAQ,OAAQ,CAAE,MAAOrH,CAAK,CAAC,EACrDqH,EAAO,YAAcrH,EAC1B,CACF,CAAC,EACMsH,CACT,EACArK,EAAQ,eAAiB2E,EACzB3E,EAAQ,KAAO,SAAUuK,EAAM,CAC7BA,EAAO,CAAE,QAAS,GAAI,QAASA,CAAK,EACpC,IAAIC,EAAW,CACX,SAAU5H,GACV,SAAU2H,EACV,MAAO9D,EACT,EACAE,EAAS,CACP,KAAM,OACN,MAAO,GACP,IAAK,GACL,MAAO,KACP,MAAO,KACP,WAAY,MAAM,uBAAuB,EACzC,UAAW,QAAQ,WAAa,QAAQ,WAAW,QAAQ,EAAI,IACjE,EACF,OAAA4D,EAAK,QAAU5D,EACf6D,EAAS,WAAa,CAAC,CAAE,QAAS7D,CAAO,CAAC,EACnC6D,CACT,EACAxK,EAAQ,KAAO,SAAU8B,EAAM2I,EAAS,CAC9B3I,GAAR,MACE,QAAQ,MACN,qEACSA,IAAT,KAAgB,OAAS,OAAOA,CAClC,EACF2I,EAAU,CACR,SAAU9H,GACV,KAAMb,EACN,QAAoB2I,IAAX,OAAqB,KAAOA,CACvC,EACA,IAAIH,EACJ,cAAO,eAAeG,EAAS,cAAe,CAC5C,WAAY,GACZ,aAAc,GACd,IAAK,UAAY,CACf,OAAOH,CACT,EACA,IAAK,SAAUvH,EAAM,CACnBuH,EAAUvH,EACVjB,EAAK,MACHA,EAAK,cACJ,OAAO,eAAeA,EAAM,OAAQ,CAAE,MAAOiB,CAAK,CAAC,EACnDjB,EAAK,YAAciB,EACxB,CACF,CAAC,EACM0H,CACT,EACAzK,EAAQ,gBAAkB,SAAU0K,EAAO,CACzC,IAAIC,EAAiBzH,EAAqB,EACxC0H,EAAoB,CAAC,EACvBA,EAAkB,eAAiB,IAAI,IACvC1H,EAAqB,EAAI0H,EACzB,GAAI,CACF,IAAI7C,EAAc2C,EAAM,EACtBG,EAA0B3H,EAAqB,EACxC2H,IAAT,MACEA,EAAwBD,EAAmB7C,CAAW,EAC3C,OAAOA,GAApB,UACWA,IAAT,MACe,OAAOA,EAAY,MAAlC,aACC7E,EAAqB,mBACtB6E,EAAY,KAAKf,GAAwBA,EAAsB,EAC/De,EAAY,KAAK1G,EAAM0H,EAAiB,EAC5C,OAASzD,EAAO,CACdyD,GAAkBzD,CAAK,CACzB,QAAE,CACSqF,IAAT,MACEC,EAAkB,iBAChBF,EAAQE,EAAkB,eAAe,KAC3CA,EAAkB,eAAe,MAAM,EACvC,GAAKF,GACH,QAAQ,KACN,qMACF,GACOC,IAAT,MACWC,EAAkB,QAA3B,OACUD,EAAe,QAAxB,MACCA,EAAe,QAAUC,EAAkB,OAC3C,QAAQ,MACN,sKACF,EACDD,EAAe,MAAQC,EAAkB,OAC3C1H,EAAqB,EAAIyH,CAC9B,CACF,EACA3K,EAAQ,yBAA2B,UAAY,CAC7C,OAAO+G,EAAkB,EAAE,gBAAgB,CAC7C,EACA/G,EAAQ,IAAM,SAAU8K,EAAQ,CAC9B,OAAO/D,EAAkB,EAAE,IAAI+D,CAAM,CACvC,EACA9K,EAAQ,eAAiB,SAAU+K,EAAQC,EAAcC,EAAW,CAClE,OAAOlE,EAAkB,EAAE,eACzBgE,EACAC,EACAC,CACF,CACF,EACAjL,EAAQ,YAAc,SAAU4F,EAAUsF,EAAM,CAC9C,OAAOnE,EAAkB,EAAE,YAAYnB,EAAUsF,CAAI,CACvD,EACAlL,EAAQ,WAAa,SAAUmL,EAAS,CACtC,IAAIlI,EAAa8D,EAAkB,EACnC,OAAAoE,EAAQ,WAAa3I,IACnB,QAAQ,MACN,8HACF,EACKS,EAAW,WAAWkI,CAAO,CACtC,EACAnL,EAAQ,cAAgB,SAAUuB,EAAO6J,EAAa,CACpD,OAAOrE,EAAkB,EAAE,cAAcxF,EAAO6J,CAAW,CAC7D,EACApL,EAAQ,iBAAmB,SAAUuB,EAAO8J,EAAc,CACxD,OAAOtE,EAAkB,EAAE,iBAAiBxF,EAAO8J,CAAY,CACjE,EACArL,EAAQ,UAAY,SAAUsL,EAAQJ,EAAM,CAC1C,OAAQI,GAAR,MACE,QAAQ,KACN,kGACF,EACKvE,EAAkB,EAAE,UAAUuE,EAAQJ,CAAI,CACnD,EACAlL,EAAQ,eAAiB,SAAU4F,EAAU,CAC3C,OAAOmB,EAAkB,EAAE,eAAenB,CAAQ,CACpD,EACA5F,EAAQ,MAAQ,UAAY,CAC1B,OAAO+G,EAAkB,EAAE,MAAM,CACnC,EACA/G,EAAQ,oBAAsB,SAAUuL,EAAKD,EAAQJ,EAAM,CACzD,OAAOnE,EAAkB,EAAE,oBAAoBwE,EAAKD,EAAQJ,CAAI,CAClE,EACAlL,EAAQ,mBAAqB,SAAUsL,EAAQJ,EAAM,CACnD,OAAQI,GAAR,MACE,QAAQ,KACN,2GACF,EACKvE,EAAkB,EAAE,mBAAmBuE,EAAQJ,CAAI,CAC5D,EACAlL,EAAQ,gBAAkB,SAAUsL,EAAQJ,EAAM,CAChD,OAAQI,GAAR,MACE,QAAQ,KACN,wGACF,EACKvE,EAAkB,EAAE,gBAAgBuE,EAAQJ,CAAI,CACzD,EACAlL,EAAQ,QAAU,SAAUsL,EAAQJ,EAAM,CACxC,OAAOnE,EAAkB,EAAE,QAAQuE,EAAQJ,CAAI,CACjD,EACAlL,EAAQ,cAAgB,SAAUwL,EAAaC,EAAS,CACtD,OAAO1E,EAAkB,EAAE,cAAcyE,EAAaC,CAAO,CAC/D,EACAzL,EAAQ,WAAa,SAAUyL,EAASC,EAAYC,EAAM,CACxD,OAAO5E,EAAkB,EAAE,WAAW0E,EAASC,EAAYC,CAAI,CACjE,EACA3L,EAAQ,OAAS,SAAUqL,EAAc,CACvC,OAAOtE,EAAkB,EAAE,OAAOsE,CAAY,CAChD,EACArL,EAAQ,SAAW,SAAUgL,EAAc,CACzC,OAAOjE,EAAkB,EAAE,SAASiE,CAAY,CAClD,EACAhL,EAAQ,qBAAuB,SAC7B4L,EACAC,EACAC,EACA,CACA,OAAO/E,EAAkB,EAAE,qBACzB6E,EACAC,EACAC,CACF,CACF,EACA9L,EAAQ,cAAgB,UAAY,CAClC,OAAO+G,EAAkB,EAAE,cAAc,CAC3C,EACA/G,EAAQ,QAAU,SACF,OAAO,gCAAvB,aAEI,OAAO,+BAA+B,4BADxC,YAEA,+BAA+B,2BAA2B,MAAM,CAAC,CACrE,GAAG,ICnwCL,IAAA+L,EAAAC,GAAA,CAAAC,GAAAC,KAAA,cAEI,QAAQ,IAAI,WAAa,aAC3BA,GAAO,QAAU,KAEjBA,GAAO,QAAU,OCLnB,IAAAC,GAAA,GAAAC,GAAAD,GAAA,eAAAE,GAAA,kCAAAC,GAAA,oBAAAC,GAAA,mBAAAC,GAAA,SAAAC,GAAA,kBAAAC,GAAA,mBAAAC,GAAA,WAAAC,GAAA,mBAAAC,GAAA,uBAAAC,GAAA,wBAAAC,GAAA,sBAAAC,GAAA,uBAAAC,GAAA,yBAAAC,GAAA,kBAAAC,GAAA,iBAAAC,GAAA,kBAAAC,GAAA,iBAAAC,GAAA,0BAAAC,GAAA,sBAAAC,GAAA,0BAAAC,GAAA,uBAAAC,GAAA,qBAAAC,GAAA,uBAAAC,GAAA,uBAAAC,GAAA,mBAAAC,GAAA,sBAAAC,GAAA,0BAAAC,GAAA,yBAAAC,GAAA,gBAAAC,GAAA,mBAAAC,GAAA,WAAAC,GAAA,YAAAC,GAAA,iBAAAC,GAAA,gBAAAC,GAAA,YAAAC,GAAA,cAAAC,GAAA,cAAAC,GAAA,qBAAAC,GAAA,mBAAAC,GAAA,kBAAAC,GAAA,aAAAC,GAAA,aAAAC,GAAA,kBAAAC,GAAA,iBAAAC,GAAA,aAAAC,KCAO,IAAMC,GAAkB,OAAO,OAAO,CACzC,YAAa,aACb,SAAU,WACV,aAAc,cACd,UAAW,WACX,OAAQ,SACR,WAAY,YACZ,GAAI,KACJ,UAAW,KACX,sBAAuB,MACvB,aAAc,KACd,yBAA0B,MAC1B,QAAS,UACT,QAAS,SACT,YAAa,YACb,YAAa,aACb,WAAY,YACZ,OAAQ,QACZ,CAAU,EClBH,IAAMC,GAAiB,OAAO,OAAO,CAAE,IAAK,MAAO,GAAI,IAAK,CAAC,ECApE,IAAAC,GAAuB,OAchB,SAASC,GAAgBC,EAAiB,GAAY,CACzD,IAAMC,EAAW,SAAM,EAEvB,OAAa,WAAQ,IAAM,GAAGD,CAAM,GAAGC,EAAG,WAAW,SAAU,EAAE,CAAC,GAAG,KAAK,EAAE,YAAY,EAAG,CAACA,EAAID,CAAM,CAAC,CAC3G,CClBO,SAASE,MAAMC,EAAiC,CACnD,GAAIA,EAAM,CACN,IAAIC,EAAe,CAAC,EAEpB,QAASC,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAAK,CAClC,IAAMC,EAAYH,EAAKE,CAAC,EAExB,GAAI,CAACC,EACD,SAGJ,IAAMC,EAAO,OAAOD,EAEpB,GAAIC,IAAS,UAAYA,IAAS,SAC9BH,EAAQ,KAAKE,CAAS,UACfC,IAAS,SAAU,CAC1B,IAAMC,EAAW,MAAM,QAAQF,CAAS,EAAI,CAACJ,GAAG,GAAGI,CAAS,CAAC,EAAI,OAAO,QAAQA,CAAS,EAAE,IAAI,CAAC,CAACG,EAAKC,CAAK,IAAOA,EAAQD,EAAM,MAAU,EAE1IL,EAAUI,EAAS,OAASJ,EAAQ,OAAOI,EAAS,OAAQG,GAAM,CAAC,CAACA,CAAC,CAAC,EAAIP,CAC9E,CACJ,CAEA,OAAOA,EAAQ,KAAK,GAAG,EAAE,KAAK,CAClC,CAGJ,CC1Be,SAARQ,GAA0BC,EAAkBC,EAA4B,CAC3E,OAAID,EACIA,EAAQ,UAAkBA,EAAQ,UAAU,SAASC,CAAS,EACtD,IAAI,OAAO,QAAUA,EAAY,QAAS,IAAI,EAAE,KAAKD,EAAQ,SAAS,EAG/E,EACX,CCLe,SAARE,GAA0BF,EAAkBC,EAA4E,CAC3H,GAAID,GAAWC,EAAW,CACtB,IAAME,EAAMC,GAAuB,CAC1BL,GAASC,EAASI,CAAU,IACzBJ,EAAQ,UAAWA,EAAQ,UAAU,IAAII,CAAU,EAClDJ,EAAQ,WAAa,IAAMI,EAExC,EAEA,CAACH,CAAS,EACL,KAAK,EACL,OAAO,OAAO,EACd,QAASI,GAAiBA,EAAuB,MAAM,GAAG,EAAE,QAAQF,CAAE,CAAC,CAChF,CACJ,CKhBe,SAARG,GAA6BC,EAAkBC,EAA4E,CAC9H,GAAID,GAAWC,EAAW,CACtB,IAAMC,EAAMC,GAAuB,CAC3BH,EAAQ,UAAWA,EAAQ,UAAU,OAAOG,CAAU,EACrDH,EAAQ,UAAYA,EAAQ,UAAU,QAAQ,IAAI,OAAO,UAAYG,EAAW,MAAM,GAAG,EAAE,KAAK,GAAG,EAAI,UAAW,IAAI,EAAG,GAAG,CACrI,EAEA,CAACF,CAAS,EACL,KAAK,EACL,OAAO,OAAO,EACd,QAASG,GAAiBA,EAAuB,MAAM,GAAG,EAAE,QAAQF,CAAE,CAAC,CAChF,CACJ,CGZe,SAARG,GAA4CC,EAA0D,CACzG,IAAMC,EAAgD,CAAE,MAAO,EAAG,OAAQ,CAAE,EAE5E,GAAID,EAAS,CACT,GAAM,CAACE,EAAYC,CAAO,EAAI,CAACH,EAAQ,MAAM,WAAYA,EAAQ,MAAM,OAAO,EACxEI,EAAOJ,EAAQ,sBAAsB,EAG3CA,EAAQ,MAAM,WAAa,SAC3BA,EAAQ,MAAM,QAAU,QACxBC,EAAW,MAAQG,EAAK,OAASJ,EAAQ,YACzCC,EAAW,OAASG,EAAK,QAAUJ,EAAQ,aAC3CA,EAAQ,MAAM,QAAUG,EACxBH,EAAQ,MAAM,WAAaE,CAC/B,CAEA,OAAOD,CACX,CWjBe,SAARI,GAA+BC,EAAkC,CACpE,GAAIA,EAAS,CACT,IAAIC,EAASD,EAAQ,WAErB,OAAIC,GAAUA,aAAkB,YAAcA,EAAO,OACjDA,EAASA,EAAO,MAGbA,CACX,CAEA,OAAO,IACX,CEZe,SAARC,GAA2BC,EAAsC,CACpE,OAAO,OAAO,SAAY,YAAcA,aAAmB,QAAUA,IAAY,MAAQ,OAAOA,GAAY,UAAaA,EAAoB,WAAa,GAAK,OAAQA,EAAoB,UAAa,QAC5M,CCIe,SAARC,GAA2BD,EAA8C,CAC5E,IAAIE,EAASF,EAEb,OAAIA,GAAW,OAAOA,GAAY,WAC1B,OAAO,OAAOA,EAAS,SAAS,EAEhCE,EAAUF,EAAyB,QAC5B,OAAO,OAAOA,EAAS,IAAI,IAC9B,OAAO,OAAQA,EAA2B,GAAI,eAAe,EAE7DE,EAAUF,EAA2B,GAAG,cAGxCE,EAAUF,EAAuB,KAKtCD,GAAUG,CAAM,EAAIA,EAAS,MACxC,CQzBe,SAARC,GAAmCC,EAAcC,EAAsC,CAAC,EAAW,CACtG,OAAOD,EAAM,SAAS,OAAO,QAAQC,CAAU,EAAE,OAAO,CAACC,EAAG,CAACC,EAAGC,CAAC,IAAMF,EAAI,IAAIC,CAAC,KAAKC,CAAC,IAAK,EAAE,CAAC,IAAIJ,CAAG,WAAa,EACtH,COAe,SAARK,GAA4BC,EAAkBC,EAAkC,CACnF,OAAOC,GAAUF,CAAO,EAAKA,EAAQ,QAAQC,CAAQ,EAAID,EAAUA,EAAQ,cAAcC,CAAQ,EAAK,IAC1G,CoBFe,SAARE,GAA4BC,EAAeC,EAAwB,CAAC,EAAiB,CACxF,IAAMC,EAASC,GAAcH,CAAO,EAEpC,OAAOE,IAAW,KAAOD,EAAUF,GAAWG,EAAQD,EAAQ,OAAO,CAACC,CAAM,CAAC,CAAC,CAClF,CEHe,SAARE,GAAsCC,EAA6B,CACtE,IAAMC,EAAoB,CAAC,EAE3B,GAAID,EAAS,CACT,IAAME,EAAUC,GAAWH,CAAO,EAC5BI,EAAgB,gBAEhBC,EAAiBC,GAAkB,CACrC,GAAI,CACA,IAAMC,EAAmB,OAAO,iBAAoBD,EAAM,IAAI,EAE9D,OAAOF,EAAc,KAAKG,EAAiB,iBAAiB,UAAU,CAAC,GAAKH,EAAc,KAAKG,EAAiB,iBAAiB,WAAW,CAAC,GAAKH,EAAc,KAAKG,EAAiB,iBAAiB,WAAW,CAAC,CACvN,OAAQC,EAAA,CACJ,MAAO,EACX,CACJ,EAEA,QAAWC,KAAUP,EAAS,CAC1B,IAAMQ,EAAkBD,EAAO,WAAa,GAAKA,EAAO,QAAQ,gBAEhE,GAAIC,EAAiB,CACjB,IAAMC,EAAYD,EAAgB,MAAM,GAAG,EAE3C,QAAWE,KAAYD,EAAW,CAC9B,IAAME,EAAKC,GAAWL,EAAQG,CAAQ,EAElCC,GAAMR,EAAcQ,CAAE,GACtBZ,EAAkB,KAAKY,CAAE,CAEjC,CACJ,CAEIJ,EAAO,WAAa,GAAKJ,EAAcI,CAAM,GAC7CR,EAAkB,KAAKQ,CAAM,CAErC,CACJ,CAEA,OAAOR,CACX,CW1Ce,SAARc,IAAqC,CACxC,MAAO,CAAC,EAAE,OAAO,QAAW,aAAe,OAAO,UAAY,OAAO,SAAS,cAClF,CKFe,SAARC,IAAmD,CACtD,OAAI,OAAO,QAAW,aAAe,CAAC,OAAO,WAClC,GAGQ,OAAO,WAAW,kCAAkC,EAErD,OACtB,CIRe,SAARC,IAA4C,CAC/C,OAAO,IAAI,QAASC,GAAY,CAC5B,sBAAsB,IAAM,CACxB,sBAAsBA,CAAqB,CAC/C,CAAC,CACL,CAAC,CACL,CMNe,SAARC,GAAgCC,EAAuBC,EAAmBC,EAAa,KAAMC,EAAyB,CAA7H,IAAAC,EACIH,KAAYG,EAAAJ,GAAA,KAAA,OAAAA,EAAS,QAAT,MAAAI,EAAgB,YAAYH,EAAUC,EAAOC,CAAAA,EAC7D,CCOO,SAASE,IAA4B,CACxC,IAAMC,EAAc,IAAI,IAExB,MAAO,CACH,GAAGC,EAAcC,EAAkB,CAC/B,IAAIC,EAAWH,EAAY,IAAIC,CAAI,EAEnC,OAAKE,EACAA,EAAS,KAAKD,CAAO,EADXC,EAAW,CAACD,CAAO,EAGlCF,EAAY,IAAIC,EAAME,CAAQ,EAEvB,IACX,EACA,IAAIF,EAAcC,EAAkB,CAChC,IAAMC,EAAWH,EAAY,IAAIC,CAAI,EAErC,OAAIE,GACAA,EAAS,OAAOA,EAAS,QAAQD,CAAO,IAAM,EAAG,CAAC,EAG/C,IACX,EACA,KAAKD,EAAcG,EAAe,CAC9B,IAAMD,EAAWH,EAAY,IAAIC,CAAI,EAEjCE,GACAA,EAAS,QAASD,GAAY,CAC1BA,EAAQE,CAAG,CACf,CAAC,CAET,EACA,OAAQ,CACJJ,EAAY,MAAM,CACtB,CACJ,CACJ,2VC7CO,SAASK,MAAMC,EAAiC,CACnD,GAAIA,EAAM,CACN,IAAIC,EAAe,CAAC,EAEpB,QAASC,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAAK,CAClC,IAAMC,EAAYH,EAAKE,CAAC,EAExB,GAAI,CAACC,EACD,SAGJ,IAAMC,EAAO,OAAOD,EAEpB,GAAIC,IAAS,UAAYA,IAAS,SAC9BH,EAAQ,KAAKE,CAAS,UACfC,IAAS,SAAU,CAC1B,IAAMC,EAAW,MAAM,QAAQF,CAAS,EAAI,CAACJ,GAAG,GAAGI,CAAS,CAAC,EAAI,OAAO,QAAQA,CAAS,EAAE,IAAI,CAAC,CAACG,EAAKC,CAAK,IAAOA,EAAQD,EAAM,MAAU,EAE1IL,EAAUI,EAAS,OAASJ,EAAQ,OAAOI,EAAS,OAAQG,GAAM,CAAC,CAACA,CAAC,CAAC,EAAIP,CAC9E,CACJ,CAEA,OAAOA,EAAQ,KAAK,GAAG,EAAE,KAAK,CAClC,CAGJ,CC1Be,SAARQ,GAA4BF,EAA0D,CACzF,OAAO,OAAOA,GAAU,YAAc,SAAUA,GAAS,UAAWA,CACxE,CCCO,SAASG,MAAcC,EAAkC,CAC5D,OAAOA,GAAA,KAAA,OAAAA,EAAO,OAAO,CAACC,EAAQC,EAAK,CAAC,IAAM,CACtC,QAAWP,KAAOO,EAAI,CAClB,IAAMN,EAAQM,EAAGP,CAAG,EAEpB,GAAIA,IAAQ,QACRM,EAAO,MAAWE,GAAAA,GAAA,CAAA,EAAKF,EAAO,KAAA,EAAaC,EAAG,KAAA,UACvCP,IAAQ,SAAWA,IAAQ,YAClCM,EAAON,CAAG,EAAIP,GAAGa,EAAON,CAAG,EAAGO,EAAGP,CAAG,CAAC,UAC9BG,GAAWF,CAAK,EAAG,CAC1B,IAAMQ,EAAKH,EAAON,CAAG,EAErBM,EAAON,CAAG,EAAIS,EACR,IAAIf,IAAgB,CAChBe,EAAG,GAAGf,CAAI,EACVO,EAAM,GAAGP,CAAI,CACjB,EACAO,CACV,MACIK,EAAON,CAAG,EAAIC,CAEtB,CAEA,OAAOK,CACX,EAAG,CAAC,CAAA,CACR,2VC5Be,SAARI,GAAyBC,EAAqB,CACjD,OAAOA,GAAU,MAA+BA,IAAU,IAAO,MAAM,QAAQA,CAAK,GAAKA,EAAM,SAAW,GAAO,EAAEA,aAAiB,OAAS,OAAOA,GAAU,UAAY,OAAO,KAAKA,CAAK,EAAE,SAAW,CAC5M,CGFe,SAARC,GAA4BC,EAA0D,CACzF,OAAO,OAAOA,GAAU,YAAc,SAAUA,GAAS,UAAWA,CACxE,CCAe,SAARC,EAA4BD,EAAqB,CACpD,MAAO,CAACE,GAAQF,CAAK,CACzB,CIJe,SAARG,GAA0BC,EAAgBC,EAAiB,GAAuB,CACrF,OAAOD,aAAiB,QAAUA,EAAM,cAAgB,SAAWC,GAAS,OAAO,KAAKD,CAAK,EAAE,SAAW,EAC9G,CMAe,SAARE,EAAoDC,KAAmCC,EAAkB,CAC5G,OAAOC,GAAWF,CAAG,EAAKA,EAA4B,GAAGC,CAAM,EAAKD,CACxE,CCJe,SAARG,GAA0BC,EAAgBC,EAAiB,GAAuB,CACrF,OAAO,OAAOD,GAAU,WAAaC,GAASD,IAAU,GAC5D,CCAe,SAARE,GAA4BC,EAAqB,CAEpD,OAAOJ,GAASI,CAAG,EAAIA,EAAI,QAAQ,SAAU,EAAE,EAAE,YAAY,EAAIA,CACrE,CCDe,SAARC,GAAgER,EAAoBS,EAAc,GAAIR,EAAkB,CAAC,EAAY,CACxI,IAAMS,EAAQJ,GAAWG,CAAG,EAAE,MAAM,GAAG,EACjCE,EAAOD,EAAM,MAAM,EAEzB,GAAIC,EAAM,CACN,GAAIC,GAASZ,CAAG,EAAG,CACf,IAAMa,EAAa,OAAO,KAAKb,CAAG,EAAE,KAAMc,GAAMR,GAAWQ,CAAC,IAAMH,CAAI,GAAK,GAE3E,OAAOH,GAAYT,EAAQC,EAAIa,CAAU,EAAGZ,CAAM,EAA8BS,EAAM,KAAK,GAAG,EAAGT,CAAM,CAC3G,CAEA,MACJ,CAEA,OAAOF,EAAQC,EAAKC,CAAM,CAC9B,CEnBe,SAARc,GAAyBC,EAAYC,EAAiB,GAAe,CACxE,OAAO,MAAM,QAAQD,CAAK,IAAMC,GAASD,EAAM,SAAW,EAC9D,CGAe,SAARE,GAA0BC,EAAyB,CACtD,OAAOC,EAAWD,CAAK,GAAK,CAAC,MAAMA,CAAe,CACtD,CIJe,SAARE,GAA4BC,EAAaC,EAAyB,CACrE,GAAIA,EAAO,CACP,IAAMC,EAAQD,EAAM,KAAKD,CAAG,EAE5B,OAAAC,EAAM,UAAY,EAEXC,CACX,CAEA,MAAO,EACX,CEVe,SAARC,GAA2BC,EAAkC,CAChE,OAAOA,GACDA,EACK,QAAQ,yCAA0C,EAAE,EACpD,QAAQ,SAAU,GAAG,EACrB,QAAQ,aAAc,IAAI,EAC1B,QAAQ,WAAY,IAAI,EACxB,QAAQ,MAAO,GAAG,EAClB,QAAQ,MAAO,GAAG,EAClB,KAAK,CAEpB,CETe,SAARC,GAAsBC,KAAiBC,EAAyB,CACnE,GAAI,CAACC,GAASF,CAAG,EAAG,OAAOA,EAE3B,IAAMG,EAAOC,GAAA,CAAA,EAAMJ,CAAAA,EAEnB,OAAAC,GAAA,MAAAA,EAAM,KAAA,EAAO,QAASI,GAAQ,OAAOF,EAAKE,CAAG,CAAA,EAEtCF,CACX,CSRe,SAARG,GAA6BC,EAAqB,CAErD,OAAOC,GAASD,CAAG,EACbA,EACK,QAAQ,OAAQ,GAAG,EACnB,QAAQ,kBAAmB,OAAO,EAClC,YAAY,EACjBA,CACV,CCVe,SAARE,GAAsBC,EAAgC,CACzD,OAAIA,IAAU,OAAe,EAEzB,OAAOA,GAAU,SAAiBA,EAE/B,OAAOA,EAAM,QAAQ,UAAW,EAAE,EAAE,QAAQ,IAAK,GAAG,CAAC,EAAI,GACpE,CGLA,IAAAC,GAAuB,OCAvB,IAAAC,GAAuB,OCDvB,IAAAC,GAAuB,OCAvB,IAAAC,GAAuB,OAoBhB,SAASC,GAAMC,EAA+B,CACjD,IAAMC,EAAY,SAAM,EAClB,CAACC,EAASC,CAAU,EAAU,YAAiBH,GAAgB,SAASC,EAAI,WAAW,SAAU,EAAE,CAAC,EAAE,EAE5G,OAAM,aAAU,IAAM,CAClBE,EAAWH,GAAgB,SAASC,EAAI,WAAW,SAAU,EAAE,CAAC,EAAE,CACtE,EAAG,CAACD,EAAcC,CAAG,CAAC,EAEfC,CACX,CC3BA,IAAAE,GAAuB,OCFvB,IAAAC,GAAuB,OCAvB,IAAAC,GAAuB,OAkBhB,SAASC,GAAeC,EAAoC,CAC/D,IAAMC,EAAgB,UAAgB,EAAK,EAErC,aAAU,IAAM,CACbA,EAAQ,UACTA,EAAQ,QAAU,GAElBD,GAAA,MAAAA,IAER,EAAG,CAAC,CAAC,CACT,CC5BA,IAAAE,GAAuB,OCAvB,IAAAC,GAAuB,OAwBhB,SAASC,GAAiBC,EAAa,CAAC,EAASC,EAAa,CAAC,EAAS,CAK3E,OAAa,WAAQ,IAAM,CACvB,IAAMC,EAAiB,CAAE,MAAOC,EAAA,GAAKF,GAAmB,MAAO,CAAC,CAAW,EAE3E,cAAO,QAAQD,CAAiC,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CACpED,KAAQH,EACPC,EAAO,MAAkCE,CAAG,EAAIC,EAEhDH,EAAO,MAAkCE,CAAG,EAAIC,CAEzD,CAAC,EAEMH,CACX,EAAG,CAACF,EAAQC,CAAM,CAAC,CACvB,CCzCA,IAAAK,GAAuB,OCDvB,IAAAC,GAAuB,OAkBhB,SAASC,GAAiBC,EAAoC,CAC3D,aAAU,IACL,IAAM,CACTA,GAAA,MAAAA,GACJ,EACD,CAAC,CAAC,CACT,CCxBA,IAAAC,GAAuB,OAmBhB,SAASC,GAAgBC,EAA8BC,EAA2C,CACrG,IAAMC,EAAgB,UAAgB,EAAK,EAErC,aAAU,IAAM,CAClB,GAAI,CAACA,EAAQ,QAAS,CAClBA,EAAQ,QAAU,GAElB,MACJ,CAEA,OAAOF,GAAA,YAAAA,GACX,EAAGC,CAAY,CACnB,CC/BA,IAAAE,GAAuB,OCAvB,IAAAC,GAAuB,OCGvB,IAAAC,GAAuB,OCDhB,IAAMC,GAAkC,CAC3C,KAAM,IACV,EDEO,IAAMC,GAAsB,iBAAuC,MAAS,EAEtEC,GAAiB,CAACC,EAAgD,CAAC,IAAM,CAClF,GAAM,CAAE,MAAAC,CAAM,EAAIC,GAASF,EAASG,EAAiC,EAC/DC,EAAQ,OAEd,OAAO,iBAACN,GAAc,SAAd,CAAuB,MAAOM,GAAQC,EAAQJ,EAAM,SAAUG,CAAK,CAAE,CACjF,EEbA,IAAAE,GAAuB,OAGhB,SAASC,IAAY,CACxB,IAAMC,EAAgB,cAAWC,EAAa,EAE9C,GAAID,IAAY,OACZ,MAAM,IAAI,MAAM,8CAA8C,EAGlE,OAAOA,CACX,CCRA,IAAAE,GAAuB,OCDhB,IAAMC,GAAmC,CAC5C,MAAO,OACP,WAAY,GACZ,cAAe,EACnB,EDAO,IAAMC,GAA2B,iBAA4C,MAAS,EAEhFC,GAAsB,CAACC,EAAqD,CAAC,IAAM,CAC5F,GAAM,CAAE,MAAAC,EAAO,MAAAC,CAAM,EAAIC,GAASH,EAASI,EAAkC,EAClDC,EAAAJ,EAAnB,OAAAK,CAVZ,EAU+BD,EAATE,EAAAC,GAASH,EAAT,CAAV,UAEFI,EAAK,CACP,MAAAH,EACA,QAASC,CACb,EAEA,OAAO,iBAACT,GAAmB,SAAnB,CAA4B,MAAOW,GAAKC,EAAQR,EAAM,SAAUO,CAAE,CAAE,CAChF,EElBA,IAAAE,GAAuB,OAGhB,SAASC,IAAiB,CAC7B,IAAMC,EAAgB,cAAWC,EAAkB,EAEnD,GAAID,IAAY,OACZ,MAAM,IAAI,MAAM,mDAAmD,EAGvE,OAAOA,CACX,C,klBGTA,IAAME,GAAeC,GAAS,EAEvBC,GAAQF,GCFFG,GAAa,aACbC,GAAa,4BACbC,GAAY,gBAElB,SAASC,GAAWC,EAAqB,CAC5C,OAAOC,GAASD,CAAG,EAAIA,EAAI,QAAQ,SAAU,CAACE,EAAWC,IAAeA,IAAM,EAAID,EAAI,IAAMA,EAAE,YAAY,CAAE,EAAE,YAAY,EAAIF,CAClI,CAUO,SAASI,GAAQC,EAAiB,CAErC,OAAOC,GAASD,CAAK,GAAKA,EAAM,eAAe,QAAQ,GAAKA,EAAM,eAAe,OAAO,EAAKA,EAAc,OAASA,CACxH,CAeO,SAASE,GAAkBC,EAAwB,CACtD,OAAOA,EAAO,WAAW,KAAM,EAAE,EAAE,QAAQ,SAAU,GAAG,CAC5D,CAEO,SAASC,GAAoBD,EAAiB,GAAIE,EAAmB,GAAY,CACpF,OAAOH,GAAkB,GAAGI,GAASH,EAAQ,EAAK,GAAKG,GAASD,EAAU,EAAK,EAAI,GAAGF,CAAM,IAAMA,CAAM,GAAGE,CAAQ,EAAE,CACzH,CAEO,SAASE,GAAgBJ,EAAiB,GAAIE,EAAmB,GAAY,CAChF,MAAO,KAAKD,GAAoBD,EAAQE,CAAQ,CAAC,EACrD,CAEO,SAASG,GAAaC,EAAc,GAAa,CACpD,IAAMC,GAAcD,EAAI,MAAM,IAAI,GAAK,CAAC,GAAG,OACrCE,GAAeF,EAAI,MAAM,IAAI,GAAK,CAAC,GAAG,OAE5C,OAAQC,EAAaC,GAAe,IAAM,CAC9C,CAEO,SAASC,GAAiBC,EAAYR,EAAmB,GAAIF,EAAiB,GAAIW,EAA+B,CAAC,EAAGC,EAAuC,CAC/J,GAAIT,GAASO,CAAK,EAAG,CACjB,IAAMG,EAAMH,EAAM,KAAK,EAEvB,GAAIL,GAAaQ,CAAG,EAChB,OACG,GAAIC,GAAWD,EAAKE,EAAU,EAAG,CACpC,IAAMC,EAAOH,EAAI,WAAWE,GAAaE,GAAc,CAEnD,IAAMC,EADOD,EAAE,QAAQ,OAAQ,EAAE,EACf,MAAM,GAAG,EAAE,OAAQE,GAAe,CAACR,EAAmB,KAAMS,GAAON,GAAWK,EAAIC,CAAE,CAAC,CAAC,EAExG,MAAO,OAAOhB,GAAgBJ,EAAQqB,GAAYH,EAAK,KAAK,GAAG,CAAC,CAAC,CAAC,GAAGI,EAAWV,CAAQ,EAAI,KAAKA,CAAQ,GAAK,EAAE,GACpH,CAAC,EAED,OAAOE,GAAWE,EAAK,QAAQO,GAAW,GAAG,EAAGC,EAAU,EAAI,QAAQR,CAAI,IAAMA,CACpF,CAEA,OAAOH,CACX,SAAWY,GAASf,CAAK,EACrB,OAAOA,CAIf,CAcO,SAASgB,GAAYC,EAAsBC,EAAaC,EAAgB,CACvEC,GAASF,EAAK,EAAK,GACnBD,EAAW,KAAK,GAAGC,CAAG,IAAIC,CAAK,GAAG,CAE1C,CAEO,SAASE,GAAQC,EAAkBL,EAA4B,CAClE,OAAIK,EACO,GAAGA,CAAQ,IAAIL,CAAU,IAG7B,EACX,CAEO,SAASM,GAAsBC,EAAeC,EAAwC,CACzF,GAAID,EAAM,QAAQ,KAAK,IAAM,GAAI,OAAOA,EAExC,SAASE,EAAcC,EAAaF,EAAmE,CACnG,IAAMG,EAA4B,CAAC,EAC/BC,EAAI,EACJC,EAAU,GACVC,EAAuB,KACvBC,EAAQ,EAEZ,KAAOH,GAAKF,EAAI,QAAQ,CACpB,IAAMM,EAAIN,EAAIE,CAAC,EAMf,IAJKI,IAAM,KAAOA,IAAM,KAAOA,IAAM,MAAQN,EAAIE,EAAI,CAAC,IAAM,OACxDE,EAAQA,IAAUE,EAAI,KAAOA,GAG7B,CAACF,IACGE,IAAM,KAAKD,IACXC,IAAM,KAAKD,KAEVC,IAAM,KAAOJ,IAAMF,EAAI,SAAWK,IAAU,GAAG,CAChD,IAAME,EAAMJ,EAAQ,KAAK,EAErBI,EAAI,WAAW,KAAK,EACpBN,EAAK,KAAKL,GAAsBW,EAAKT,CAAE,CAAC,EAExCG,EAAK,KAAKO,EAASD,CAAG,CAAC,EAG3BJ,EAAU,GACVD,IACA,QACJ,CAGAI,IAAM,SAAWH,GAAWG,GAChCJ,GACJ,CAEA,OAAOD,CACX,CAEA,SAASO,EAASD,EAA8B,CAC5C,IAAME,EAAIF,EAAI,CAAC,EAEf,IAAKE,IAAM,KAAOA,IAAM,KAAOA,IAAM,MAAQF,EAAIA,EAAI,OAAS,CAAC,IAAME,EACjE,OAAOF,EAAI,MAAM,EAAG,EAAE,EAG1B,IAAMG,EAAM,OAAOH,CAAG,EAEtB,OAAO,MAAMG,CAAG,EAAIH,EAAMG,CAC9B,CAEA,IAAMC,EAA8B,CAAC,EAC/BC,EAAkB,CAAC,EAEzB,QAASV,EAAI,EAAGA,EAAIL,EAAM,OAAQK,IAC9B,GAAIL,EAAMK,CAAC,IAAM,KAAOL,EAAM,MAAMK,EAAGA,EAAI,CAAC,IAAM,MAC9CU,EAAM,KAAKV,CAAC,EACZA,GAAK,UACEL,EAAMK,CAAC,IAAM,KAAOU,EAAM,OAAS,EAAG,CAC7C,IAAMC,EAAQD,EAAM,IAAI,EAEpBA,EAAM,SAAW,GACjBD,EAAQ,KAAK,CAACE,EAAOX,CAAC,CAAC,CAE/B,CAGJ,GAAI,CAACS,EAAQ,OAAQ,OAAOd,EAE5B,QAASK,EAAIS,EAAQ,OAAS,EAAGT,GAAK,EAAGA,IAAK,CAC1C,GAAM,CAACW,EAAOC,CAAG,EAAIH,EAAQT,CAAC,EACxBa,EAAQlB,EAAM,MAAMgB,EAAQ,EAAGC,CAAG,EAClCb,EAAOF,EAAcgB,EAAOjB,CAAE,EAC9BkB,EAAWlB,EAAG,GAAGG,CAAI,EAE3BJ,EAAQA,EAAM,MAAM,EAAGgB,CAAK,EAAIG,EAAWnB,EAAM,MAAMiB,EAAM,CAAC,CAClE,CAEA,OAAOjB,CACX,COzLO,IAAMoB,GAAOC,GAA0E,CAJ9F,IAAAC,EAKI,IAAMC,EAAQC,EAAM,SAAS,EAEvBC,EAAWC,GAAKH,EAAOF,EAAW,OAAW,UAAU,EACvDM,GAAOL,EAAAG,GAAA,KAAA,OAAAA,EAAU,MAAM,WAAA,IAAhB,KAAA,OAAAH,EAA+B,CAAA,EACtCM,EAAQF,GAAKH,EAAOF,EAAW,OAAW,OAAO,EAEvD,MAAO,CACH,KAAAM,EACA,SAAAF,EACA,MAAAG,CACJ,CACJ,EAEaC,GAAK,IAAIC,IACXJ,GAAKF,EAAM,SAAS,EAAG,GAAGM,CAAI,EAG5BJ,GAAO,CAACH,EAAa,CAAC,EAAGF,EAAmBU,EAAmBC,IAAkB,CAC1F,GAAIX,EAAW,CACX,GAAM,CAAE,SAAUY,EAAU,QAASC,CAAQ,EAAIV,EAAM,UAAY,CAAC,EAC9D,CAAE,OAAAW,EAAQ,UAAAC,CAAU,GAAIb,GAAA,KAAA,OAAAA,EAAO,UAAWW,GAAW,CAAC,EACtDG,EAAQC,GAAWjB,EAAWkB,EAAU,EAAIlB,EAAY,IAAIA,CAAS,IAG3E,OAF0BW,IAAS,SAAYQ,GAAQR,CAAI,GAAKI,IAAc,SAEnDZ,EAAM,cAAcH,CAAS,EAAIoB,GAAiBJ,EAAO,OAAWF,EAAQ,CAACF,EAAS,gBAAgB,EAAGF,CAAQ,CAChJ,CAEA,MAAO,EACX,ED7BO,SAASW,GAAIC,KAA8CC,EAAsC,CACpG,GAAID,aAAmB,MAAO,CAC1B,IAAME,EAAMF,EAAQ,OAAO,CAACG,EAAKC,EAAKC,IAAG,CANjD,IAAA1B,EAMoD,OAAAwB,EAAMC,IAAOzB,EAAA2B,EAAQL,EAAMI,CAAC,EAAG,CAAE,GAAAnB,EAAG,CAAC,IAAxB,KAAAP,EAA6B,GAAA,EAAK,EAAE,EAE7F,OAAO4B,GAAsBL,EAAKhB,EAAE,CACxC,CAEA,OAAOoB,EAAQN,EAAoB,CAAE,GAAAd,EAAG,CAAC,CAC7C,CGKe,SAARsB,GAAkBC,EAAYC,EAA6B,CAAC,EAAqB,CACpF,IAAMC,EAAWC,EAAM,SAAS,SAC1B,CAAE,OAAAC,EAASF,EAAS,OAAQ,SAAAG,EAAWH,EAAS,SAAU,iBAAAI,EAAmBJ,EAAS,gBAAiB,EAAID,EAE3GM,EAAmB,CAAC,EACpBC,EAAsB,CAAC,EAEvBC,EAAQ,CAAC,CAAE,KAAMT,EAAO,KAAMI,CAAO,CAAC,EAE5C,KAAOK,EAAM,QAAQ,CACjB,GAAM,CAAE,KAAAC,EAAM,KAAAC,CAAK,EAAIF,EAAM,IAAI,EAEjC,QAAWG,KAAOF,EAAM,CACpB,IAAMG,EAAMH,EAAKE,CAAG,EACdE,EAAMC,GAAQF,CAAG,EAGjBG,EADgBC,GAAWL,EAAKN,CAAgB,EACjBY,GAAoBP,CAAI,EAAIO,GAAoBP,EAAMQ,GAAYP,CAAG,CAAC,EAE3G,GAAIQ,GAASN,CAAG,EACZL,EAAM,KAAK,CAAE,KAAMK,EAAK,KAAME,CAAa,CAAC,MACzC,CACH,IAAMK,EAAUC,GAAgBN,CAAY,EACtCO,EAAWC,GAAiBV,EAAKE,EAAcZ,EAAQ,CAACE,CAAgB,CAAC,EAE/EmB,GAAYjB,EAAWa,EAASE,CAAQ,EAExC,IAAIG,EAAQV,EAERZ,GAAUsB,EAAM,WAAWtB,EAAS,GAAG,IACvCsB,EAAQA,EAAM,MAAMtB,EAAO,OAAS,CAAC,GAGzCG,EAAO,KAAKmB,EAAM,QAAQ,KAAM,GAAG,CAAC,CACxC,CACJ,CACJ,CAEA,IAAMC,EAAenB,EAAU,KAAK,EAAE,EAEtC,MAAO,CACH,MAAOA,EACP,OAAAD,EACA,aAAAoB,EACA,IAAKC,GAAQvB,EAAUsB,CAAY,CACvC,CACJ,CR3DA,IAAOE,GAAQ,CACX,MAAO,CACH,MAAO,CACH,MAAO,CACH,QAAS,uBACT,QAAQC,EAAe,CACnB,MAAO,CAAE,KAAM,QAAS,SAAUA,EAAO,QAAS,KAAK,QAAQ,KAAKA,EAAM,KAAK,CAAC,CAAE,CACtF,CACJ,EACA,KAAM,CACF,QAAS,aACT,QAAQA,EAAe,CACnB,MAAO,CAAE,KAAM,OAAQ,SAAU,QAAQA,CAAK,SAASA,CAAK,GAAI,QAAS,KAAK,QAAQ,KAAKA,EAAM,KAAK,CAAC,CAAE,CAC7G,CACJ,EACA,MAAO,CACH,QAAS,gBACT,QAAQA,EAAe,CACnB,MAAO,CAAE,KAAM,QAAS,SAAUA,EAAO,QAAS,KAAK,QAAQ,KAAKA,EAAM,KAAK,CAAC,CAAE,CACtF,CACJ,EACA,OAAQ,CACJ,QAAS,WACT,QAAQA,EAAe,CACnB,MAAO,CAAE,KAAM,SAAU,SAAU,sCAAuC,QAAS,KAAK,QAAQ,KAAKA,EAAM,KAAK,CAAC,CAAE,CACvH,CACJ,EACA,OAAQ,CACJ,QAAQA,EAAe,CACnB,MAAO,CAAE,KAAM,SAAU,SAAUA,EAAO,QAAS,EAAK,CAC5D,CACJ,CACJ,EACA,QAAQA,EAAY,CAChB,IAAMC,EAAQ,OAAO,KAAK,KAAK,KAAK,EAC/B,OAAQC,GAAMA,IAAM,QAAQ,EAC5B,IAAKC,GAAO,KAAK,MAAcA,CAAC,CAAC,EAEtC,MAAO,CAACH,CAAK,EAAE,KAAK,EAAE,IAAKI,GAAG,CA1C1C,IAAAC,EA0C6C,OAAAA,EAAAJ,EAAM,IAAKE,GAAMA,EAAE,QAAQC,CAAC,CAAC,EAAE,KAAME,GAAOA,EAAG,OAAO,IAAtD,KAAAD,EAA2D,KAAK,MAAM,OAAO,QAAQD,CAAC,CAAA,CAAC,CAC5H,CACJ,EACA,aAAalC,EAAYC,EAAc,CACnC,OAAOF,GAAYC,EAAO,CAAE,OAAQC,GAAA,KAAA,OAAAA,EAAS,MAAO,CAAC,CACzD,EACA,UAAU,CAAE,KAAAoC,EAAO,GAAI,MAAArC,EAAQ,CAAC,EAAG,OAAAsC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,EAAQ,CAhDrE,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAiDQ,GAAM,CAAE,OAAAC,EAAQ,QAAA/C,CAAQ,EAAID,EACxBiD,EAAeC,EAAkBC,EAAcC,EAAiBC,EAAYC,EAAeC,EAG/F,GAAIC,EAAWR,CAAM,GAAK/C,EAAQ,YAAc,SAAU,CACtD,GAAM,CAAE,UAAAwD,EAAW,SAAAC,EAAU,OAAAC,CAAO,EAAIX,EACNb,EAAAuB,GAAY,CAAC,EAAvC,CAAA,YAAAE,EAvDpB,EAuD8CzB,EAAV0B,EAAAC,GAAU3B,EAAV,CAAhB,aAAA,CAAA,EACwC4B,GAAAJ,GAAU,CAAC,EAAnD,CAAA,YAAaK,CAxDjC,EAwD4DD,GAAVE,EAAAH,GAAUC,GAAV,CAA9B,aAAA,CAAA,EACoBG,EAAAN,IAAe,CAAC,EAApC,CAAA,KAAAO,CAzDpB,EAyDwCD,EAAXE,EAAAN,GAAWI,EAAX,CAAT,MAAA,CAAA,EAC4BG,EAAAL,GAAgB,CAAC,EAA7C,CAAA,KAAMM,CA1D1B,EA0DgDD,EAAZE,GAAAT,GAAYO,EAAZ,CAAhB,MAAA,CAAA,EACFG,EAAgBhB,EAAWC,CAAS,EAAI,KAAK,aAAa,CAAE,UAAAA,CAAU,EAAGxD,CAAO,EAAI,CAAC,EACrFwE,GAAiBjB,EAAWK,CAAK,EAAI,KAAK,aAAa,CAAE,SAAUA,CAAM,EAAG5D,CAAO,EAAI,CAAC,EACxFyE,GAAkBlB,EAAWY,CAAM,EAAI,KAAK,aAAa,CAAE,MAAOA,CAAO,EAAGnE,CAAO,EAAI,CAAC,EACxF0E,GAAkBnB,EAAWW,CAAI,EAAI,KAAK,aAAa,CAAE,KAAAA,CAAK,EAAGlE,CAAO,EAAI,CAAC,EAC7E2E,GAAiBpB,EAAWS,CAAK,EAAI,KAAK,aAAa,CAAE,SAAUA,CAAM,EAAGhE,CAAO,EAAI,CAAC,EACxF4E,GAAmBrB,EAAWe,EAAO,EAAI,KAAK,aAAa,CAAE,MAAOA,EAAQ,EAAGtE,CAAO,EAAI,CAAC,EAC3F6E,GAAmBtB,EAAWc,CAAK,EAAI,KAAK,aAAa,CAAE,KAAMA,CAAM,EAAGrE,CAAO,EAAI,CAAC,EAEtF,CAAC8E,GAAUC,EAAW,EAAI,EAACvC,EAAA+B,EAAS,eAAT,KAAA/B,EAAyB,GAAI+B,EAAS,MAAM,EACvE,CAACS,GAAWC,EAAY,EAAI,EAACxC,EAAA+B,GAAU,eAAV,KAAA/B,EAA0B,GAAI+B,GAAU,QAAU,CAAC,CAAC,EACjF,CAACU,GAAYC,EAAa,EAAI,EAACzC,EAAA+B,GAAW,eAAX,KAAA/B,EAA2B,GAAI+B,GAAW,QAAU,CAAC,CAAC,EACrF,CAACW,GAAYC,EAAa,EAAI,EAAC1C,EAAA+B,GAAW,eAAX,KAAA/B,EAA2B,GAAI+B,GAAW,QAAU,CAAC,CAAC,EACrF,CAACY,GAAWC,EAAY,EAAI,EAAC3C,EAAA+B,GAAU,eAAV,KAAA/B,EAA0B,GAAI+B,GAAU,QAAU,CAAC,CAAC,EACjF,CAACa,GAAaC,CAAc,EAAI,EAAC5C,EAAA+B,GAAY,eAAZ,KAAA/B,EAA4B,GAAI+B,GAAY,QAAU,CAAC,CAAC,EACzF,CAACc,GAAaC,EAAc,EAAI,EAAC7C,EAAA+B,GAAY,eAAZ,KAAA/B,EAA4B,GAAI+B,GAAY,QAAU,CAAC,CAAC,EAE/F7B,EAAgB,KAAK,aAAaZ,EAAM0C,GAAU,QAAS,WAAY9E,EAASsC,EAAKC,CAAQ,EAC7FU,EAAmB8B,GAEnB,IAAMa,GAAqB,KAAK,aAAaxD,EAAM,GAAG4C,EAAS,GAAGE,EAAU,GAAI,QAAS,WAAYlF,EAASsC,EAAKC,CAAQ,EACrHsD,GAAoB,KAAK,aAAazD,EAAM,GAAGgD,EAAU,GAAI,OAAQ,WAAYpF,EAASsC,EAAKC,CAAQ,EAE7GW,EAAe,GAAG0C,EAAkB,GAAGC,EAAiB,GACxD1C,EAAkB,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG8B,GAAc,GAAGE,GAAe,GAAGE,EAAa,CAAC,CAAC,EAEpF,IAAMS,GAAmB,KAAK,aAAa1D,EAAM,GAAGkD,EAAS,GAAGE,EAAW,qBAAsB,QAAS,WAAYxF,EAASsC,EAAKC,CAAQ,EACtIwD,GAAkB,KAAK,aAAa3D,EAAM,GAAGsD,EAAW,oBAAqB,OAAQ,WAAY1F,EAASsC,EAAKC,CAAQ,EAE7Ha,EAAa,GAAG0C,EAAgB,GAAGC,EAAe,GAClD1C,EAAgB,CAAC,GAAG,IAAI,IAAI,CAAC,GAAGkC,GAAc,GAAGE,EAAgB,GAAGE,EAAc,CAAC,CAAC,EAEpFrC,EAAQ0C,EAAQjD,EAAO,IAAK,CAAE,GAAAkD,EAAG,CAAC,CACtC,CAEA,MAAO,CACH,UAAW,CACP,IAAKjD,EACL,OAAQC,CACZ,EACA,SAAU,CACN,IAAKC,EACL,OAAQC,CACZ,EACA,OAAQ,CACJ,IAAKC,EACL,OAAQC,CACZ,EACA,MAAAC,CACJ,CACJ,EACA,UAAU,CAAE,KAAAlB,EAAO,GAAI,OAAAW,EAAS,CAAC,EAAG,QAAA/C,EAAS,OAAAqC,EAAQ,IAAAC,EAAK,SAAAC,EAAU,SAAAnC,CAAS,EAAQ,CA7GzF,IAAAoC,EAAAC,EAAAC,EA8GQ,IAAIwD,EAAOC,EAAUC,EAErB,GAAI7C,EAAWR,CAAM,GAAK/C,EAAQ,YAAc,SAAU,CACtD,IAAMqG,EAAQjE,EAAK,QAAQ,aAAc,EAAE,EACIF,EAAAa,EAAvC,CAAA,YAAAY,EAAa,OAAAD,EAAQ,IAAA4C,CAlHzC,EAkH2DpE,EAAVqE,EAAA1C,GAAU3B,EAAV,CAA7B,cAAa,SAAQ,KAAA,CAAA,EACoB4B,EAAAJ,GAAU,CAAC,EAApD,CAAA,YAAaK,CAnHjC,EAmH6DD,EAAX0C,EAAA3C,GAAWC,EAAX,CAA9B,aAAA,CAAA,EACoBG,EAAAN,GAAe,CAAC,EAApC,CAAA,KAAAO,CApHpB,EAoHwCD,EAAXE,EAAAN,GAAWI,EAAX,CAAT,MAAA,CAAA,EAC8BG,GAAAL,GAAgB,CAAC,EAA/C,CAAA,KAAM0C,CArH1B,EAqHkDrC,GAAZE,GAAAT,GAAYO,GAAZ,CAAlB,MAAA,CAAA,EACFsC,EAAiBnD,EAAWgD,CAAK,EAAI,KAAK,aAAa,CAAE,CAACF,CAAK,EAAGM,GAAAA,GAAA,CAAA,EAAKJ,CAAAA,EAAUC,CAAAA,CAAS,EAAGxG,CAAO,EAAI,CAAC,EACzGyE,EAAkBlB,EAAWY,CAAM,EAAI,KAAK,aAAa,CAAE,CAACkC,CAAK,EAAGM,GAAAA,GAAA,CAAA,EAAKxC,CAAAA,EAAWG,EAAAA,CAAU,EAAGtE,CAAO,EAAI,CAAC,EAC7G0E,EAAkBnB,EAAWW,CAAI,EAAI,KAAK,aAAa,CAAE,CAACmC,CAAK,EAAGM,GAAAA,GAAA,CAAA,EAAKzC,CAAAA,EAASuC,CAAAA,CAAU,EAAGzG,CAAO,EAAI,CAAC,EAEzG,CAAC4G,EAAWC,CAAY,EAAI,EAACrE,EAAAkE,EAAU,eAAV,KAAAlE,EAA0B,GAAIkE,EAAU,QAAU,CAAC,CAAC,EACjF,CAACxB,EAAYC,CAAa,EAAI,EAAC1C,EAAAgC,EAAW,eAAX,KAAAhC,EAA2B,GAAIgC,EAAW,QAAU,CAAC,CAAC,EACrF,CAACW,GAAYC,CAAa,EAAI,EAAC3C,EAAAgC,EAAW,eAAX,KAAAhC,EAA2B,GAAIgC,EAAW,QAAU,CAAC,CAAC,EAErFoC,GAAqB,KAAK,aAAaT,EAAO,GAAGO,CAAS,GAAG1B,CAAU,GAAI,QAAS,WAAYlF,EAASsC,EAAKC,EAAUnC,CAAQ,EAChI2G,GAAoB,KAAK,aAAaV,EAAOjB,GAAY,OAAQ,WAAYpF,EAASsC,EAAKC,EAAUnC,CAAQ,EAEnH8F,EAAQ,GAAGY,EAAkB,GAAGC,EAAiB,GACjDZ,EAAW,CAAC,GAAG,IAAI,IAAI,CAAC,GAAGU,EAAc,GAAG1B,EAAe,GAAGE,CAAa,CAAC,CAAC,EAE7Ee,EAAUJ,EAAQM,EAAK,CAAE,GAAAL,EAAG,CAAC,CACjC,CAEA,MAAO,CACH,IAAKC,EACL,OAAQC,EACR,MAAOC,CACX,CACJ,EACA,WAAW,CAAE,KAAAhE,EAAO,GAAI,MAAArC,EAAQ,CAAC,EAAG,OAAAsC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,EAAQ,CA7ItE,IAAAL,EA8IQ,GAAM,CAAE,OAAAa,EAAQ,QAAA/C,CAAQ,EAAID,EACtBiH,GAAU9E,EAAAa,GAAA,KAAA,OAAAA,EAAQ,aAAR,KAAA,OAAAb,EAAqBE,CAAAA,EAErC,OAAO,KAAK,UAAU,CAAE,KAAAA,EAAM,OAAQ4E,EAAS,QAAAhH,EAAS,OAAAqC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,CAAC,CACnF,EAEA,WAAW,CAAE,KAAAH,EAAO,GAAI,MAAArC,EAAQ,CAAC,EAAG,OAAAsC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,EAAQ,CApJtE,IAAAL,EAAA4B,EAqJQ,IAAMmD,EAAQ7E,EAAK,QAAQ,aAAc,EAAE,EACrC,CAAE,OAAAW,EAAQ,QAAA/C,CAAQ,EAAID,EACtBmH,IAAUhF,EAAAa,GAAA,KAAA,OAAAA,EAAQ,aAAR,KAAA,OAAAb,EAAqB+E,CAAAA,MAAUnD,EAAAf,GAAA,KAAA,OAAAA,EAAQ,aAAR,KAAA,OAAAe,EAAqBmD,CAAAA,GAEpE,OAAO,KAAK,UAAU,CAAE,KAAMA,EAAO,OAAQC,EAAS,QAAAlH,EAAS,OAAAqC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,CAAC,CAC1F,EACA,qBAAqBvC,EAAc,CAC/B,MAAO,EAAEA,EAAQ,mBAAqB,QAAUA,EAAQ,mBAAqB,GACjF,EACA,qBAAqBA,EAAcuC,EAAe,CA9JtD,IAAAL,EA+JQ,OAAO,KAAK,qBAAqBlC,CAAO,EAAI,KAAK,MAAM,QAAQA,EAAQ,mBAAqB,GAAOuC,EAAS,QAAQ,kBAAoBL,EAAAlC,EAAQ,mBAAR,KAAAkC,EAA4BK,EAAS,QAAQ,gBAAiB,EAAI,CAAC,CAC/M,EACA,cAAcH,EAAcpC,EAAe,CAAC,EAAGqC,EAAaE,EAAe,CACvE,GAAM,CAAE,SAAA4E,CAAS,EAAInH,EAErB,OAAImH,EAGO,UAFOnB,EAAQmB,EAAS,OAASA,EAAS,MAAQ,UAAW9E,CAAM,CAEpD,GAGnB,EACX,EACA,oBAAoB,CAAE,KAAAD,EAAO,GAAI,MAAArC,EAAQ,CAAC,EAAG,OAAAsC,EAAQ,MAAA+E,EAAQ,CAAC,EAAG,IAAA9E,EAAK,SAAAC,CAAS,EAAQ,CACnF,IAAM8E,EAAS,KAAK,UAAU,CAAE,KAAAjF,EAAM,MAAArC,EAAO,OAAAsC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,CAAC,EAC9D+E,EAAS,OAAO,QAAQF,CAAK,EAC9B,OAAO,CAACG,EAAU,CAACxF,EAAGE,CAAC,IAAMsF,EAAI,KAAK,GAAGxF,CAAC,KAAKE,CAAC,GAAG,GAAKsF,EAAK,CAAC,CAAC,EAC/D,KAAK,GAAG,EAEb,OAAO,OAAO,QAAQF,GAAU,CAAC,CAAC,EAC7B,OAAO,CAACE,EAAU,CAAC5G,EAAKkB,CAAK,IAAM,CAChC,GAAIV,GAASU,CAAK,GAAK,OAAO,OAAOA,EAAO,KAAK,EAAG,CAChD,IAAM2F,EAAOC,GAAW5F,EAAc,GAAG,EACnC6F,EAAK,GAAG/G,CAAG,aAEjB4G,EAAI,KAAK,kDAAkDG,CAAE,KAAKJ,CAAM,IAAIE,CAAI,UAAU,CAC9F,CAEA,OAAOD,CACX,EAAG,CAAC,CAAC,EACJ,KAAK,EAAE,CAChB,EACA,cAAc,CAAE,KAAAnF,EAAO,GAAI,MAAArC,EAAQ,CAAC,EAAG,OAAAsC,EAAQ,MAAA+E,EAAQ,CAAC,EAAG,IAAA9E,EAAK,SAAAC,CAAS,EAAQ,CA/LrF,IAAAL,EAgMQ,IAAMlC,EAAU,CAAE,KAAAoC,EAAM,MAAArC,EAAO,OAAAsC,EAAQ,IAAAC,EAAK,SAAAC,CAAS,EAC/CoF,GAAczF,EAAAE,EAAK,SAAS,YAAY,EAAI,KAAK,WAAWpC,CAAO,EAAI,KAAK,WAAWA,CAAO,IAAhF,KAAA,OAAAkC,EAAoF,IAClGoF,EAAS,OAAO,QAAQF,CAAK,EAC9B,OAAO,CAACG,EAAU,CAACxF,EAAGE,CAAC,IAAMsF,EAAI,KAAK,GAAGxF,CAAC,KAAKE,CAAC,GAAG,GAAKsF,EAAK,CAAC,CAAC,EAC/D,KAAK,GAAG,EAEb,OAAOI,EAAa,kDAAkDvF,CAAI,eAAekF,CAAM,IAAIG,GAAUE,CAAU,CAAC,WAAa,EACzI,EACA,aAAaC,EAAW,CAAC,EAAGrF,EAAesF,EAAoB,GAAIC,EAAqB,GAAIxH,EAAc,CAAC,EAAG,CAC1G,IAAMyH,EAAa,SAAqBpE,EAAqBqE,EAAoB,CAAC,EAAGxH,EAAkB,CAAC,EAAG,CACvG,GAAIA,EAAM,SAAS,KAAK,IAAI,EACxB,OAAA,QAAQ,KAAK,kCAAkC,KAAK,IAAI,EAAE,EAEnD,CACH,YAAAmD,EACA,KAAM,KAAK,KACX,MAAOqE,EACP,MAAO,MACX,EAGJxH,EAAM,KAAK,KAAK,IAAI,EACpBwH,EAAa,KAAU,KAAK,KAC5BA,EAAa,UAAbA,EAAa,QAAe,CAAC,GAE7B,IAAIC,EAAqB,KAAK,MAE9B,GAAI,OAAO,KAAK,OAAU,UAAYC,GAAW,KAAK,KAAK,KAAK,EAAG,CAE/D,IAAMC,EADM,KAAK,MAAM,KAAK,EACX,QAAQD,GAAajG,GAAW,CA7NjE,IAAAC,EA8NoB,IAAMkG,EAAUnG,EAAE,MAAM,EAAG,EAAE,EACvBoG,EAAW,KAAK,OAAOD,CAAO,EAEpC,GAAI,CAACC,EACD,OAAA,QAAQ,KAAK,6BAA6BD,CAAO,EAAE,EAE5C,iBAGX,IAAME,EAAWD,EAAS,SAAS1E,EAAaqE,EAAcxH,CAAK,EAEnE,OAAI,MAAM,QAAQ8H,CAAQ,GAAKA,EAAS,SAAW,EACxC,cAAcA,EAAS,CAAC,EAAE,KAAK,IAAIA,EAAS,CAAC,EAAE,KAAK,KAEpDpG,EAAAoG,GAAA,KAAA,OAAAA,EAAU,QAAV,KAAApG,EAAmB,gBAElC,CAAC,EAED+F,EAAgBM,GAAW,KAAKJ,EAAK,QAAQK,GAAW,GAAG,CAAC,EAAI,QAAQL,CAAI,IAAMA,CACtF,CAEA,OAAIM,GAAQT,EAAa,OAAU,GAC/B,OAAOA,EAAa,QAGxBxH,EAAM,IAAI,EAEH,CACH,YAAAmD,EACA,KAAM,KAAK,KACX,MAAOqE,EACP,MAAOC,EAAc,SAAS,gBAAgB,EAAI,OAAYA,CAClE,CACJ,EAEMS,EAAW,CAACd,EAAUC,EAAmBC,IAAuB,CAClE,OAAO,QAAQF,CAAG,EAAE,QAAQ,CAAC,CAACjH,EAAKkB,CAAK,IAAM,CAC1C,IAAM8G,EAAa3H,GAAWL,EAAK4B,EAAS,SAAS,gBAAgB,EAAIsF,EAAYA,EAAY,GAAGA,CAAS,IAAIe,GAAWjI,CAAG,CAAC,GAAKiI,GAAWjI,CAAG,EAE7IkI,EAAcf,EAAa,GAAGA,CAAU,IAAInH,CAAG,GAAKA,EAEtDQ,GAASU,CAAK,EACd6G,EAAS7G,EAAO8G,EAAYE,CAAW,GAElCvI,EAAOqI,CAAU,IAClBrI,EAAOqI,CAAU,EAAI,CACjB,MAAO,CAAC,EACR,SAAU,CAAChF,EAAqBqE,EAAoB,CAAC,EAAGxH,EAAkB,CAAC,IAAM,CAC7E,GAAIF,EAAOqI,CAAU,EAAE,MAAM,SAAW,EACpC,OAAOrI,EAAOqI,CAAU,EAAE,MAAM,CAAC,EAAE,SAASrI,EAAOqI,CAAU,EAAE,MAAM,CAAC,EAAE,OAAQX,EAAa,QAAYxH,CAAK,EAC3G,GAAImD,GAAeA,IAAgB,OACtC,QAASmF,EAAI,EAAGA,EAAIxI,EAAOqI,CAAU,EAAE,MAAM,OAAQG,IAAK,CACtD,IAAMC,EAAIzI,EAAOqI,CAAU,EAAE,MAAMG,CAAC,EAEpC,GAAIC,EAAE,SAAWpF,EACb,OAAOoF,EAAE,SAASpF,EAAaqE,EAAa,QAAYxH,CAAK,CAErE,CAGJ,OAAOF,EAAOqI,CAAU,EAAE,MAAM,IAAKI,GAAWA,EAAE,SAASA,EAAE,OAAQf,EAAae,EAAE,MAAM,EAAGvI,CAAK,CAAC,CACvG,CACJ,GAGJF,EAAOqI,CAAU,EAAE,MAAM,KAAK,CAC1B,KAAME,EACN,MAAAhH,EACA,OAAQgH,EAAY,SAAS,mBAAmB,EAAI,QAAUA,EAAY,SAAS,kBAAkB,EAAI,OAAS,OAClH,SAAUd,EACV,OAAAzH,CACJ,CAAC,EAET,CAAC,CACL,EAEA,OAAAoI,EAASd,EAAKC,EAAWC,CAAU,EAE5BxH,CACX,EACA,cAAcA,EAAaI,EAAc6B,EAAe,CA9S5D,IAAAL,EAqTQ,IAAMT,GANiBuH,GACJA,EAAI,MAAM,GAAG,EAEd,OAAQC,GAAM,CAACjI,GAAWiI,EAAE,YAAY,EAAG1G,EAAS,SAAS,gBAAgB,CAAC,EAAE,KAAK,GAAG,GAG9E7B,CAAI,EAC1BiD,EAAcjD,EAAK,SAAS,mBAAmB,EAAI,QAAUA,EAAK,SAAS,kBAAkB,EAAI,OAAS,OAC1GwI,EAAiB,EAAChH,EAAA5B,EAAOmB,CAAY,IAAnB,KAAA,OAAAS,EAAsB,SAASyB,CAAAA,CAAY,EAAE,KAAK,EAAE,OAAQ2E,GAAaA,CAAQ,EAEzG,OAAOY,EAAe,SAAW,EAC3BA,EAAe,CAAC,EAAE,MAClBA,EAAe,OAAO,CAAC3B,EAAM,CAAC,EAAGe,IAAa,CAC1C,IAAqCpG,EAAAoG,EAA7B,CAAA,YAAaa,CA5TvC,EA4TuDjH,EAATkH,EAAAvF,GAAS3B,EAAT,CAApB,aAAA,CAAA,EAER,OAAAqF,EAAI4B,CAAE,EAAIC,EAEH7B,CACX,EAAG,MAAS,CACtB,EACA,gBAAgB8B,EAAgBC,EAAgBC,EAAcjD,EAAa,CACvE,OAAOiD,IAAS,SAAWA,IAAS,OAAS5H,GAAQ4B,EAAW+F,CAAS,EAAI,GAAGD,CAAS,GAAGC,CAAS,IAAID,CAAS,IAAIC,CAAS,GAAKD,EAAW/C,CAAG,EAAI3E,GAAQ0H,EAAW1H,GAAQ2H,GAAA,KAAAA,EAAa,cAAehD,CAAG,CAAC,CACrN,EACA,aAAalE,EAAckE,EAAakD,EAAeD,EAAevJ,EAAe,CAAC,EAAGsC,EAAWC,EAAgBnC,EAAmB,CACnI,GAAImD,EAAW+C,CAAG,EAAG,CACjB,GAAM,CAAE,SAAAa,CAAS,EAAInH,EAErB,GAAIuJ,IAAS,QAAS,CAClB,IAAME,EAAoB,KAAK,qBAAqBzJ,EAASuC,CAAQ,EAErE+D,EACIkD,IAAS,OACHC,EAAkB,OAAO,CAAClC,EAAK,CAAE,KAAAgC,EAAM,SAAUG,CAAU,KACnDnG,EAAWmG,CAAS,IACpBnC,GAAOmC,EAAU,SAAS,OAAO,EAAIA,EAAU,QAAQ,QAASpD,CAAG,EAAI,KAAK,gBAAgBoD,EAAWtJ,EAAUmJ,EAAMjD,CAAG,GAGvHiB,GACR,EAAE,EACL5F,GAAQvB,GAAA,KAAAA,EAAY,cAAekG,CAAG,CACpD,CAEA,GAAIa,EAAU,CACV,IAAMwC,EAAe,CACjB,KAAM,UACN,MAAO,SACX,EAEAxI,GAASgG,CAAQ,IAAMwC,EAAa,KAAO3D,EAASmB,EAAiB,KAAM,CAAE,KAAA/E,EAAM,KAAAmH,CAAK,CAAC,GAErFhG,EAAWoG,EAAa,IAAI,IAC5BrD,EAAM3E,GAAQ,UAAUgI,EAAa,IAAI,GAAIrD,CAAG,EAChDhE,GAAA,MAAAA,EAAK,WAAWqH,EAAa,IAAA,EAErC,CAEA,OAAOrD,CACX,CAEA,MAAO,EACX,CACJ,ESzWOpG,EAAQ,CACX,SAAU,CACN,SAAU,CACN,OAAQ,IACR,SAAU,cACV,iBAAkB,+GACtB,EACA,QAAS,CACL,OAAQ,IACR,iBAAkB,SAClB,SAAU,EACd,CACJ,EACA,OAAQ,OACR,YAAa,IAAI,IACjB,kBAAmB,IAAI,IACvB,eAAgB,IAAI,IACpB,QAAS,CAAC,EACV,OAAO0J,EAAiB,CAAC,EAAG,CACxB,GAAM,CAAE,MAAA7J,CAAM,EAAI6J,EAEd7J,IACA,KAAK,OAAS8J,GAAAlD,GAAA,CAAA,EACP5G,CAAAA,EADO,CAEV,QAAS4G,GAAAA,GAAA,CAAA,EACF,KAAK,SAAS,OAAA,EACd5G,EAAM,OAAA,CAEjB,CAAA,EACA,KAAK,QAAU6B,GAAW,aAAa,KAAK,OAAQ,KAAK,QAAQ,EACjE,KAAK,sBAAsB,EAEnC,EACA,IAAI,OAAa,CACb,OAAO,KAAK,MAChB,EACA,IAAI,QAAS,CAvCjB,IAAAM,EAwCQ,QAAOA,EAAA,KAAK,QAAL,KAAA,OAAAA,EAAY,SAAU,CAAC,CAClC,EACA,IAAI,SAAU,CA1ClB,IAAAA,EA2CQ,QAAOA,EAAA,KAAK,QAAL,KAAA,OAAAA,EAAY,UAAW,CAAC,CACnC,EACA,IAAI,QAAS,CACT,OAAO,KAAK,OAChB,EACA,UAAW,CACP,OAAO,KAAK,KAChB,EACA,SAAS4H,EAAe,CACpB,KAAK,OAAO,CAAE,MAAOA,CAAS,CAAC,EAC/BC,GAAa,KAAK,eAAgBD,CAAQ,CAC9C,EACA,WAAY,CACR,OAAO,KAAK,MAChB,EACA,UAAUA,EAAe,CACrB,KAAK,OAASD,GAAAlD,GAAA,CAAA,EAAK,KAAK,KAAA,EAAV,CAAiB,OAAQmD,CAAS,CAAA,EAChD,KAAK,QAAUlI,GAAW,aAAakI,EAAU,KAAK,QAAQ,EAE9D,KAAK,sBAAsB,EAC3BC,GAAa,KAAK,gBAAiBD,CAAQ,EAC3CC,GAAa,KAAK,eAAgB,KAAK,KAAK,CAChD,EACA,YAAa,CACT,OAAO,KAAK,OAChB,EACA,WAAWD,EAAe,CACtB,KAAK,OAASD,GAAAlD,GAAA,CAAA,EAAK,KAAK,KAAA,EAAV,CAAiB,QAASmD,CAAS,CAAA,EAEjD,KAAK,sBAAsB,EAC3BC,GAAa,KAAK,iBAAkBD,CAAQ,EAC5CC,GAAa,KAAK,eAAgB,KAAK,KAAK,CAChD,EACA,eAAgB,CACZ,MAAO,CAAC,GAAG,KAAK,WAAW,CAC/B,EACA,cAAcC,EAAgB,CAC1B,KAAK,YAAY,IAAIA,CAAS,CAClC,EACA,qBAAsB,CAClB,OAAO,KAAK,iBAChB,EACA,kBAAkB5H,EAAc,CAC5B,OAAO,KAAK,kBAAkB,IAAIA,CAAI,CAC1C,EACA,mBAAmBA,EAAc,CAC7B,KAAK,kBAAkB,IAAIA,CAAI,CACnC,EACA,sBAAsBA,EAAc,CAChC,KAAK,kBAAkB,OAAOA,CAAI,CACtC,EACA,uBAAwB,CACpB,KAAK,kBAAkB,MAAM,CACjC,EACA,cAAc6H,EAAmB,CAC7B,OAAOrI,GAAW,cAAc,KAAK,OAAQqI,EAAW,KAAK,QAAQ,CACzE,EACA,UAAU7H,EAAO,GAAIC,EAAa,CAC9B,OAAOT,GAAW,UAAU,CAAE,KAAAQ,EAAM,MAAO,KAAK,MAAO,OAAAC,EAAQ,SAAU,KAAK,SAAU,IAAK,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,CAAE,CAAC,CAChJ,EACA,aAAaD,EAAO,GAAIC,EAAa,CACjC,IAAMrC,EAAU,CAAE,KAAAoC,EAAM,MAAO,KAAK,MAAO,OAAAC,EAAQ,SAAU,KAAK,SAAU,IAAK,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,CAAE,EAE/H,OAAOT,GAAW,WAAW5B,CAAO,CACxC,EAEA,aAAaoC,EAAO,GAAIC,EAAa,CACjC,IAAMrC,EAAU,CAAE,KAAAoC,EAAM,MAAO,KAAK,MAAO,OAAAC,EAAQ,SAAU,KAAK,SAAU,IAAK,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,CAAE,EAE/H,OAAOT,GAAW,WAAW5B,CAAO,CACxC,EACA,gBAAgBoC,EAAO,GAAIW,EAAa3C,EAAkBiC,EAAa,CACnE,IAAMrC,EAAU,CAAE,KAAAoC,EAAM,OAAAW,EAAQ,QAAS,KAAK,QAAS,SAAA3C,EAAU,OAAAiC,EAAQ,SAAU,KAAK,SAAU,IAAK,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,CAAE,EAErJ,OAAOT,GAAW,UAAU5B,CAAO,CACvC,EACA,iBAAiBoC,EAAO,GAAI,CACxB,OAAOR,GAAW,cAAcQ,EAAM,KAAK,QAAS,CAAE,MAAO,KAAK,cAAc,CAAE,EAAG,KAAK,QAAQ,CACtG,EACA,aAAaA,EAAO,GAAIkE,EAAaiD,EAAe,QAASC,EAAe,CACxE,OAAO5H,GAAW,aAAaQ,EAAMkE,EAAKkD,EAAMD,EAAM,KAAK,QAAS,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,EAAG,KAAK,QAAQ,CACpI,EACA,oBAAoBnH,EAAO,GAAIC,EAAa+E,EAAQ,CAAC,EAAG,CACpD,OAAOxF,GAAW,oBAAoB,CAAE,KAAAQ,EAAM,MAAO,KAAK,MAAO,OAAAC,EAAQ,MAAA+E,EAAO,SAAU,KAAK,SAAU,IAAK,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,CAAE,CAAC,CACjK,EACA,cAAchF,EAAcC,EAAa+E,EAAQ,CAAC,EAAG,CACjD,OAAOxF,GAAW,cAAc,CAAE,KAAAQ,EAAM,MAAO,KAAK,MAAO,OAAAC,EAAQ,MAAA+E,EAAO,SAAU,KAAK,SAAU,IAAK,CAAE,WAAY,KAAK,cAAc,KAAK,IAAI,CAAE,CAAE,CAAC,CAC3J,EACA,eAAehF,EAAc,CACzB,KAAK,eAAe,IAAIA,CAAI,CAChC,EACA,eAAeA,EAAc,CACzB,KAAK,eAAe,IAAIA,CAAI,CAChC,EACA,cAAc8H,EAAY,CAAE,KAAA9H,CAAK,EAAkB,CAC3C,KAAK,eAAe,OACpB,KAAK,eAAe,OAAOA,CAAI,EAE/B2H,GAAa,KAAK,SAAS3H,CAAI,QAAS8H,CAAK,EAC7C,CAAC,KAAK,eAAe,MAAQH,GAAa,KAAK,YAAY,EAEnE,CACJ,EKnIA,IAAMI,GAAN,KAAuC,CAGnC,YAAY,CAAE,MAAAC,CAAM,EAAqB,CAAC,EAAG,CACzC,KAAK,QAAU,IAAI,IACnB,KAAK,OAASA,GAAS,CAAC,CAC5B,CACA,IAAIC,EAAa,CACb,OAAO,KAAK,QAAQ,IAAIA,CAAG,CAC/B,CACA,IAAIA,EAAa,CACb,OAAO,KAAK,QAAQ,IAAIA,CAAG,CAC/B,CACA,OAAOA,EAAa,CAChB,KAAK,QAAQ,OAAOA,CAAG,CAC3B,CACA,OAAQ,CACJ,KAAK,QAAQ,MAAM,CACvB,CACA,IAAIA,EAAaC,EAAc,CAC3B,GAAIC,EAAWD,CAAG,EAAG,CACjB,IAAME,EAAO,CACT,KAAMH,EACN,IAAAC,EACA,MAAO,KAAK,OACZ,OAAQG,GAAkBH,EAAK,KAAK,MAAM,CAC9C,EAEA,KAAK,QAAQ,IAAID,EAAKK,GAAAC,GAAA,CAAA,EACfH,CAAAA,EADe,CAElB,QAAS,KAAK,mBAAmBA,CAAI,CACzC,CAAA,CAAC,CACL,CACJ,CACA,QAAS,CAET,CACA,WAAY,CACR,OAAO,KAAK,OAChB,CACA,WAAY,CACR,MAAO,CAAC,GAAG,KAAK,QAAQ,OAAO,CAAC,EAAE,IAAKI,GAAUA,EAAM,GAAG,EAAE,OAAO,MAAM,CAC7E,CACA,cAAe,CACX,MAAO,CAAC,GAAG,KAAK,QAAQ,OAAO,CAAC,EAAE,IAAKA,GAAUA,EAAM,MAAM,EAAE,OAAO,MAAM,CAChF,CACA,gBAAiB,CACb,MAAO,CAAC,GAAG,KAAK,QAAQ,OAAO,CAAC,EAAE,IAAKA,GAAUA,EAAM,OAAO,CAClE,CAQA,mBAAmBJ,EAAkB,CAAC,EAAkB,CAExD,CACJ,EAEOK,GAAQV,GCvEf,IAAAW,GAAuB,OCFhB,IAAMC,GAAgC,CACzC,OAAQ,OACR,OAAQ,IACR,iBAAkB,SAClB,SAAU,GACV,WAAY,MAChB,EDDO,IAAMC,GAAqB,iBAAiC,IAAI,EAE1DC,GAAgB,CAACC,EAAsB,CAAC,IAAM,CACvD,GAAM,CAAE,MAAAC,CAAM,EAAIC,GAASF,EAASG,EAAiB,EACbC,EAAAH,EAAhC,YAAAI,EAAY,OAAAC,CAXxB,EAW4CF,EAATG,EAAAC,GAASJ,EAAT,CAAvB,aAAY,WAEdK,EAAQC,EAAA,CACV,OAAAJ,EACA,WAAAD,GACGE,GAGP,OAAAI,EAAM,SAAS,CAAE,OAAAL,EAAQ,QAASC,CAAK,CAAC,EAEjC,iBAACT,GAAa,SAAb,CAAsB,MAAOW,GAAQG,EAAQZ,EAAQ,SAAUS,CAAK,CAAE,CAClF,EEtBA,IAAAI,GAAuB,OAGhB,SAASC,IAAW,CACvB,IAAMC,EAAgB,cAAWC,EAAY,EAE7C,GAAID,IAAY,OACZ,MAAM,IAAI,MAAM,6CAA6C,EAGjE,OAAOA,CACX,CCLA,IAAAE,GAAuB,OCHhB,IAAMC,GAAsC,CAC/C,IAAK,CAAE,MAAO,MAAU,EACxB,SAAU,OACV,uBAAwB,CACpB,KAAM,CAACC,GAAgB,YAAaA,GAAgB,SAAUA,GAAgB,aAAcA,GAAgB,UAAWA,GAAgB,OAAQA,GAAgB,UAAU,EACzK,QAAS,CAACA,GAAgB,OAAQA,GAAgB,WAAYA,GAAgB,UAAWA,GAAgB,sBAAuBA,GAAgB,aAAcA,GAAgB,wBAAwB,EACtM,KAAM,CAACA,GAAgB,QAASA,GAAgB,YAAaA,GAAgB,YAAaA,GAAgB,UAAU,CACxH,EACA,aAAc,OACd,OAAQ,KACR,GAAI,OACJ,UAAW,CAAE,cAAe,GAAM,WAAY,EAAM,EACpD,OAAQ,GACR,MAAO,OACP,WAAY,OACZ,SAAU,GACV,OAAQ,CAAE,MAAO,KAAM,QAAS,IAAM,KAAM,IAAM,QAAS,IAAK,CACpE,EDXO,IAAMC,GAA0B,iBAA2C,MAAS,EAEpF,SAASC,GAAmBC,EAAoD,CAAC,EAAG,CAX3F,IAAAC,EAAAC,EAYI,GAAM,CAAE,MAAAC,EAAO,MAAAC,CAAM,EAAIC,GAASL,EAASM,EAAkB,EAGvD,CAACC,EAAcC,CAAe,EAAU,YAASL,EAAM,YAAY,EACnE,CAACM,EAAUC,CAAW,EAAU,YAASP,EAAM,QAAQ,EACvD,CAACQ,EAAQC,CAAS,EAAU,YAAST,EAAM,MAAM,EAEjDU,EAAQ,CACV,aAAAN,EACA,gBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,OAAAC,EACA,UAAAC,CACJ,EAEA,OACI,iBAACd,GAAkB,SAAlB,CAA2B,MAAOe,GAC/B,iBAACC,GAAA,CAAe,KAAMX,EAAM,QACxB,iBAACY,GAAAC,EAAA,CAAoB,MAAOb,EAAM,IAAQA,EAAM,WAC5C,iBAACc,GAAAD,EAAA,CAAc,QAAQf,EAAAE,EAAM,QAAN,YAAAF,EAAa,OAAQ,WAAYE,EAAM,aAAgBD,EAAAC,EAAM,QAAN,YAAAD,EAAa,SACtFgB,EAAQd,EAAM,SAAUS,CAAK,CAClC,CACJ,CACJ,CACJ,CAER,CEpCA,IAAAM,GAAuB,OAGhB,SAASC,IAAgB,CAC5B,IAAMC,EAAe,cAAWC,EAAiB,EAC3CC,EAAe,cAAWC,EAAa,EACvCC,EAAoB,cAAWC,EAAkB,EACjDC,EAAc,cAAWC,EAAY,EAE3C,GAAIP,IAAW,OACX,MAAM,IAAI,MAAM,kDAAkD,EAGtE,MAAO,CACH,OAAAA,EACA,OAAAE,EACA,YAAAE,EACA,MAAAE,CACJ,CACJ,CCpBO,IAAME,GAAe,CAAcC,EAAyBC,IAAoC,CAC/FD,GAAYC,IACR,OAAOA,GAAe,WACtBA,EAAWD,GAAY,YAAaA,EAAWA,EAAS,QAAU,IAAI,EAElE,YAAaC,IACbA,EAAW,QAAUD,GAAY,YAAaA,EAAWA,EAAS,QAAU,MAI5F,ECVO,IAAME,GAAN,KAAoC,CAKvC,YAAYC,EAA6BC,EAAuB,IAAM,CAAC,EAAG,CAF1E,KAAQ,kBAAsC,KAG1C,KAAK,QAAUD,EACf,KAAK,SAAWC,CACpB,CAEA,oBAAqB,CACjB,GAAK,KAAK,QAEV,MAAK,kBAAoBC,GAAqB,KAAK,OAAO,EAE1D,QAASC,EAAI,EAAGA,EAAI,KAAK,kBAAkB,OAAQA,IAAK,CACpD,IAAMC,EAAS,KAAK,kBAAkBD,CAAC,EAEnCC,GAAU,KAAK,UACfA,EAAO,iBAAiB,SAAU,KAAK,QAAQ,CAEvD,EACJ,CAEA,sBAAuB,CACnB,GAAI,KAAK,mBAAqB,KAAK,SAC/B,QAASD,EAAI,EAAGA,EAAI,KAAK,kBAAkB,OAAQA,IAAK,CACpD,IAAMC,EAAS,KAAK,kBAAkBD,CAAC,EAEnCC,GACAA,EAAO,oBAAoB,SAAU,KAAK,QAAQ,CAE1D,CAER,CAEA,SAAU,CACN,KAAK,qBAAqB,EAC1B,KAAK,QAAU,KACf,KAAK,SAAW,KAChB,KAAK,kBAAoB,IAC7B,CACJ,EC3CA,IAAAC,GAAuB,OAEvB,SAASC,GAAiBC,EAAkBC,EAAwC,CAChF,IAAMC,EAAgB,iBAA6BF,CAAY,EAc/D,MAAO,CAFU,CAAC,CAAE,MAAAG,EAAO,SAAAC,CAAS,IAA+C,iBAACF,EAAQ,SAAR,CAAiB,MAAOC,GAAQE,EAAQD,EAAUD,CAAK,CAAE,EAV1H,IAAM,CACrB,IAAMG,EAAgB,cAAWJ,CAAO,EAExC,OAAII,IAAY,OACLL,GAAA,YAAAA,IAGJK,CACX,CAI4B,CAChC,CAEO,SAASC,GAAqBP,EAAkBQ,EAAkB,CACrE,OAAOT,GAAiBC,EAAc,IAAM,CACxC,MAAM,IAAI,MAAMQ,GAAW,wCAAwC,CACvE,CAAC,CACL,CAEO,SAASC,GAAyBT,EAAkB,CACvD,OAAOD,GAAiBC,EAAc,IAC3BA,CACV,CACL,CC/BO,IAAMU,GAAgB,CACzB,kBAAmB,IAAI,IACvB,qBAAsB,CAClB,OAAO,KAAK,iBAChB,EACA,kBAAkBC,EAAc,CAC5B,OAAO,KAAK,kBAAkB,IAAIA,CAAI,CAC1C,EACA,mBAAmBA,EAAc,CAC7B,KAAK,kBAAkB,IAAIA,CAAI,CACnC,EACA,sBAAsBA,EAAc,CAChC,KAAK,kBAAkB,OAAOA,CAAI,CACtC,EACA,uBAAwB,CACpB,KAAK,kBAAkB,MAAM,CACjC,CACJ,ECZO,SAASC,GAAeC,EAAyC,CACpE,OAAO,OAAOA,GAAQ,UAAYA,IAAQ,OAAUA,EAA8B,WAAa,OAAO,IAAI,4BAA4B,GAAMA,EAA8B,WAAa,OAAO,IAAI,eAAe,EACrN,CCFA,IAAAC,GAAuB,OAUhB,IAAMC,GAAU,CAAiHC,EAAe,cAAeC,IAAqD,CAf3N,IAAAC,EAAAC,EAAAC,EAgBI,IAAMC,EAAcC,GAAc,EAC5B,CAAE,QAAAC,EAAS,aAAAC,EAAc,MAAAC,CAAM,EAAIR,GAAW,CAAC,EAE/CS,EAAKC,GAAMJ,GAAA,YAAAA,EAAS,EAAwB,EAC5CK,EAAgBC,GAAgB,KAAK,EAErCC,EAAY,WAAOZ,EAAAK,GAAA,YAAAA,EAAS,MAAT,KAAAL,EAAgB,IAAI,EACvCa,EAAmB,UAA2B,IAAI,EAElDC,EAAa,WACf,KAAO,CACH,IAAAF,EACA,WAAAC,EACA,GAAAL,EACA,KAAAV,EACA,QAAAO,EACA,cAAAK,EACA,YAAAP,CACJ,GACA,CAACK,EAAIH,EAASK,EAAeP,CAAW,CAC5C,EAEMY,EAA6B,WAAgB,IAAM,CAtC7D,IAAAf,EAAAC,EAAAC,EAAAc,EAuCQ,IAAMC,EAAiBC,IAAQjB,GAAAD,EAAAG,GAAA,YAAAA,EAAa,SAAb,YAAAH,EAAqB,WAArB,YAAAC,EAAgCH,OAASkB,GAAAd,EAAAC,GAAA,YAAAA,EAAa,SAAb,YAAAD,EAAqB,WAArB,YAAAc,EAAgClB,EAAK,YAAY,IAAIgB,CAAI,EAEjI,OAAOK,IAAA,GAAKb,GAAiBW,GAAA,YAAAA,EAAgB,MACjD,EAAG,CAACX,GAAcJ,GAAAD,EAAAE,GAAA,YAAAA,EAAa,SAAb,YAAAF,EAAqB,WAArB,YAAAC,EAAgCJ,EAAK,CAAC,EAElD,CAAE,MAAAsB,EAAO,MAAAC,CAAM,EAAIC,GAASjB,EAASU,CAAoB,EAEzDQ,EAAe,WACjB,IAAOC,EAAAL,EAAA,GACAL,GADA,CAEH,MAAAM,EACA,MAAAC,CACJ,GACA,CAACP,EAAMM,EAAOC,CAAK,CACvB,EAEMI,EAAiBP,EAAQX,EAAmDgB,CAAM,EAElFG,EAAiB,WACnB,IAAG,CA1DX,IAAA1B,EA0De,OAAAwB,EAAAL,IAAA,CACH,MAAO,CAAC,EACR,eAAAM,GACGA,GACAF,GAJA,CAKH,YAAavB,EAAAyB,GAAA,YAAAA,EAAgB,aAAhB,KAAAzB,EAA8Ba,CAC/C,IACA,CAACY,EAAgBF,CAAM,CAC3B,EAEA,OAAM,aAAU,IAAM,CAClBI,GAAaf,EAAKP,GAAA,YAAAA,EAAS,GAAG,CAClC,EAAG,CAACO,EAAKP,GAAA,YAAAA,EAAS,GAAG,CAAC,EAEhB,uBAAoBO,EAAkF,IAAMc,EAAU,CAACA,CAAQ,CAAC,EAE/HA,CACX,ECxEA,IAAAE,GAAuB,OAOhB,SAASC,GAA2DC,EAA6B,CAAC,EAAG,CAV5G,IAAAC,EAAAC,EAAAC,EAAAC,EAWI,IAA0EC,EAAAL,EAAlE,KAAAM,EAAM,GAAM,MAAAC,EAAO,UAAAC,EAAW,GAAAC,EAAI,QAAAC,EAAS,SAAAC,CAXvD,EAW8EN,EAAVO,EAAAC,GAAUR,EAAV,CAAxD,MAAY,QAAO,YAAW,KAAI,UAAS,aAEnD,GAAIC,IAAQ,GAAO,OAAO,KAE1B,IAAMQ,EAAeL,KAAMR,EAAAU,GAAA,YAAAA,EAAU,QAAV,YAAAV,EAAiB,KAAY,YAClDc,EAAgBL,KAAWR,EAAAS,GAAA,YAAAA,EAAU,QAAV,YAAAT,EAAiB,SAC5Cc,EAAaF,IAAsB,YAEsCG,EAAAL,EAAvE,KAAAM,EAAMP,GAAA,YAAAA,EAAU,WAAY,SAAAQ,EAAU,MAAOC,CAnBzD,EAmBmFH,EAAdI,EAAAR,GAAcI,EAAd,CAAzD,MAA4B,WAAU,UACxCK,EAAQC,IAAA,GAAKH,GAAYC,GAEzBG,EAAUC,EAAQN,EAAUR,EAAUW,CAAK,EAC3CI,EAASD,EAAQlB,KAASJ,EAAAQ,GAAA,YAAAA,EAAU,QAAV,YAAAR,EAAiB,OAAOQ,CAAQ,EAC1DgB,EAAaF,EAAQjB,KAAaJ,EAAAO,GAAA,YAAAA,EAAU,QAAV,YAAAP,EAAiB,WAAWO,CAAQ,EAE5E,OAAOI,GAAiBC,EACpB,iBAAO,YAAN,KAAgBQ,CAAQ,EACzBI,GAAed,CAAW,EAC1BW,EAAQX,EAAaH,CAAQ,EAE7B,iBAACG,EAAAe,EAAAN,EAAA,GAAgBD,GAAhB,CAAuB,IAAKJ,EAAK,MAAOK,IAAA,GAAKD,EAAM,OAAUI,GAAU,UAAWI,GAAGR,EAAM,UAAWK,CAAU,IAC5GH,CACL,CAER,CAEAzB,GAAU,YAAc,uBClCjB,IAAMgC,GAAoC,CAC7C,IAAK,OACL,IAAK,GACL,MAAO,OACP,UAAW,OACX,GAAI,OACJ,QAAS,GACT,GAAI,OACJ,UAAW,OACX,SAAU,OACV,GAAI,OACJ,SAAU,MACd,EAEaC,GAAwCC,EAAAC,EAAA,GAC7CC,GAAKJ,GAAa,KAAM,YAAa,KAAM,QAAQ,GADN,CAEjD,SAAU,OACV,MAAO,MACX,GCnBA,IAAAK,GAAuB,OCEvB,IAAAC,GAAuB,OAShB,SAASC,GAAmEC,EAAmCC,EAA4C,CAblK,IAAAC,GAAAC,EAAAC,GAcI,GAAM,CAAE,GAAAC,EAAI,KAAAC,EAAM,MAAAC,EAAO,MAAAC,EAAO,YAAAC,EAAa,cAAAC,CAAc,EAAIV,GAAY,CAAC,EAGtEW,EAAc,eACfC,GAAqB,CAClB,IAAMC,EAAWC,EAAOC,EAAOR,EAAM,GAAID,CAAI,EAAGU,GAAa,SAASJ,CAAQ,EAAE,EAC1EK,EAAcC,EAAcF,GAAa,SAASJ,CAAQ,EAAE,EAElEC,GAAA,MAAAA,IACAI,GAAA,MAAAA,GACJ,EACA,CAACV,EAAM,GAAID,CAAI,CACnB,EAEMa,EAAoB,eAAY,CAAwDC,KAAkDC,IACpIC,GAAWF,CAAE,EAAIA,EAAG,GAAGC,CAAI,EAAID,EAAKG,GAAW,GAAGF,CAAI,EAAI,OAAO,OAAO,CAAC,EAAG,GAAGA,CAAI,EAC5F,CAAC,CAAC,EAECG,EAAoB,eACtB,CAACC,EAAM,CAAC,EAAGC,EAAM,GAAIC,EAAkC,CAAC,EAAGC,EAAoB,KAAS,CAjChG,IAAA1B,GAkCY,IAAM2B,EAAY,KAAK,KAAKH,CAAG,GAAK,CAAC,CAACC,EAAOD,EAAI,MAAM,GAAG,EAAE,CAAC,CAAC,EAExD,CAAE,cAAAI,EAAgB,GAAM,WAAYC,EAAgB,EAAM,GAAIxB,GAAA,YAAAA,EAAO,cAAaL,GAAAO,EAAY,cAAZ,YAAAP,GAAyB,UAAW,CAAC,EACvH8B,GAASJ,EAAqBC,EAAYI,EAAaC,EAAkBR,EAAKC,CAAM,EAAIT,EAAcgB,EAAkBR,EAAKC,CAAM,EAAK,OACxIQ,EAAON,EAAY,OAAYO,EAAWX,EAAKS,EAAkBR,EAAKW,EAAAC,EAAA,GAAKX,GAAL,CAAa,OAAQK,IAAU,CAAC,CAAE,EAAC,EACzGO,GAAWC,EAAed,CAAG,EAEnC,OAAOI,GAAkB,CAACA,GAAiBK,EAAQhB,EAAYY,EAAeC,GAAQG,EAAMI,EAAQ,EAAID,IAAA,GAAKH,GAASI,GAC1H,EACA,CAAChC,EAAM,UAAWY,CAAW,CACjC,EAEMqB,EAAuB,eACzB,CAACd,EAAM,KAAO,CA/CtB,IAAAxB,EAAAC,EAgDY,IAAMsC,EAAgB,WAChBC,EAAahB,IAAQ,QAAUiB,GAAWzC,EAAAK,GAAA,YAAAA,EAAO,KAAP,YAAAL,EAAY,kBAAkB,EAE9E,OACIwB,IAAQ,cAAgBW,EAAAC,EAAA,GAChBZ,IAAQ,QAAUW,EAAAC,EAAA,CAClB,CAAC,GAAGG,CAAa,MAAM,EAAGG,GAAYF,GAAavC,EAAAI,EAAM,KAAN,YAAAJ,EAAW,mBAAqBG,CAAe,GAC9FoC,GAAc,CAAE,CAAC,GAAGD,CAAa,QAAQ,EAAGG,GAAWtC,CAAK,CAAE,GAFhD,CAGlB,CAAC,GAAGI,CAAa,EAAE,EAAG,EAC1B,IALoB,CAMpB,CAAC,GAAG+B,CAAa,SAAS,EAAGG,GAAWlB,CAAG,CAC/C,EAER,EACA,CAACnB,EAAM,GAAIG,CAAa,CAC5B,EAEMwB,EAAyB,eAAY,CAACT,EAA+B,CAAC,EAAGC,EAAM,GAAIC,IAAqC,CAC1H,IAAMkB,EAAQ7B,GAAYS,EAAKC,EAAKC,CAAM,EAE1C,OAAOmB,GAASD,CAAK,GAAKE,GAAQF,CAAK,EAAI,CAAE,UAAWA,CAAM,EAAIA,CACtE,EAAG,CAAC,CAAC,EAEC9B,EAAe,eAAY,CAA6CiC,EAA8BtB,EAAM,GAAIN,IAAY,CAC9H,IAAM6B,EAAW,CAACJ,EAAgBK,EAAe,KAAU,CAxEnE,IAAAhD,GAyEY,IAAMiD,EAAiB/B,EAAKA,EAAGyB,CAAK,EAAIA,EAClCO,GAAOR,GAAWlB,CAAG,EACrB2B,EAAQT,GAAWtC,CAAK,EAE9B,OAASJ,GAAAgD,EAAgBE,KAASC,EAAQF,GAAA,YAAAA,EAAgBC,IAAQ,OAAaD,GAAA,YAAAA,EAAgBC,MAAtF,KAAAlD,GAAgGiD,CAC7G,EAEA,OAAOH,GAAM,OAAO,OAAOA,EAAI,QAAQ,EACjC,CACI,OAAQA,EAAG,OACX,cAAeC,EAASD,EAAG,aAAa,EACxC,MAAOC,EAASD,EAAG,KAAK,CAC5B,EACAC,EAASD,EAAI,EAAI,CAC3B,EAAG,CAAC,CAAC,EAEClC,EAAe,eACjB,CAAKkC,EAA6B5B,EAAQM,EAAc,GAAIC,IAAqC,CA1FzG,IAAAzB,EA2FY,IAAMoD,EAAOT,GAAoBzB,EAAuCyB,EAAOnB,EAAKC,CAAM,EAE1F,GAAIqB,GAAM,OAAO,OAAOA,EAAI,QAAQ,EAAG,CAEnC,GAAM,CAAE,cAAAlB,EAAgB,GAAM,WAAYC,GAAgB,EAAM,EAAKiB,EAAG,UAAa9C,EAAAO,EAAY,cAAZ,YAAAP,EAAyB,UAAW,CAAC,EACpHqD,EAAgBD,EAAIN,EAAG,aAAa,EACpCH,GAAQS,EAAIN,EAAG,KAAK,EAE1B,OAAIO,IAAkB,QAAaV,KAAU,OAAW,OAC/CC,GAASD,EAAK,EAAUA,GACxBC,GAASS,CAAa,EAAUA,EAElCzB,GAAkB,CAACA,GAAiBe,GAAS1B,EAAYY,GAAewB,EAAeV,EAAK,EAAIA,EAC3G,CAEA,OAAOS,EAAIN,CAAE,CACjB,EAEA,EAAC9C,GAAAO,EAAY,cAAZ,YAAAP,GAAyB,QAASiB,CAAW,CAClD,EAIMqC,EAAkB,WAAQ,IAAG,CAlHvC,IAAAtD,EAkH0C,OAAAa,GAAOb,EAAAO,GAAA,YAAAA,EAAa,cAAb,YAAAP,EAA0B,MAAO,OAAY2C,GAAUY,EAAQZ,EAAO7C,CAAQ,CAAC,GAAG,EAACG,EAAAM,GAAA,YAAAA,EAAa,cAAb,YAAAN,EAA0B,KAAK,CAAC,EAE1JuD,EAAmB,WAAQ,IAAG,CApHxC,IAAAxD,EAoH2C,OAAAa,GAAOb,EAAAO,GAAA,YAAAA,EAAa,cAAb,YAAAP,EAA0B,MAAO,OAAY2C,GAAU7B,GAAY6B,EAAkCvC,EAAMN,CAAQ,GAAKyD,EAAQZ,EAAO7C,CAAQ,CAAC,GAAG,EAACI,GAAAK,GAAA,YAAAA,EAAa,cAAb,YAAAL,GAA0B,KAAK,CAAC,EAC5NuD,EAAiB,WAAQ,IACpB,OAAO,QAAQnD,GAAS,CAAC,CAAC,EAC5B,OAAO,CAAC,CAACkB,CAAG,IAAMA,GAAA,YAAAA,EAAK,WAAW,MAAM,EACxC,OAAgC,CAACkC,EAAQ,CAAClC,EAAKmB,CAAK,IAAM,CACvD,GAAM,CAAC,CAAEgB,EAAM,GAAGC,CAAI,EAAIpC,EAAI,MAAM,GAAG,EAEvC,OAACmC,EAAMC,GAAA,YAAAA,EAAM,KAAK,IAAI,EAAG,OAAO,OAAO,EAAE,OAAO,CAACC,EAAYC,EAAWC,GAAOC,KACtEH,EAAWC,CAAS,IACrBD,EAAWC,CAAS,EAAIC,KAAUC,EAAM,OAAS,EAAIrB,EAAQ,CAAC,GAG3DkB,EAAWC,CAAS,GAC5BJ,CAAM,EAEFA,CACX,EAAG,CAAC,CAAC,EACV,CAACpD,CAAK,CAAC,EACJ2D,EAAwB,WAAQ,IAC3B,OAAO,QAAQ3D,GAAS,CAAC,CAAC,EAC5B,OAAO,CAAC,CAACkB,CAAG,IAAM,EAACA,GAAA,MAAAA,EAAK,WAAW,OAAM,EACzC,OAAgC,CAAC0C,EAAK,CAAC1C,EAAKmB,CAAK,KAC9CuB,EAAI1C,CAAG,EAAImB,EAEJuB,GACR,CAAC,CAAC,EACV,CAAC5D,CAAK,CAAC,EAGJ4B,EAAmB,eACrB,CAAKX,EAA+B,CAAC,EAAGL,EAAQM,EAAc,GAAIC,IACvDJ,GACHT,EAAOC,EAAOU,EAAKnB,CAAI,EAAGc,EAAIM,EAAKC,CAAM,EACzCb,EAAO6C,EAAUvC,EAAIM,EAAKC,CAAM,CACpC,EAEJ,CAACgC,CAAQ,CACb,EAEM1B,EAAqB,eACvB,CAAKb,EAAQM,EAAc,GAAIC,IACpBb,EAAO0C,EAAWpC,EAAIM,EAAKC,CAAM,EAE5C,CAAC6B,CAAS,CACd,EAEMtC,EAAsB,eACxB,CAAKE,EAAQM,EAAaC,IACfb,EAAO4C,EAAYtC,EAAIM,EAAKC,CAAM,EAE7C,CAAC+B,CAAU,CACf,EAGMW,EAAY,eACd,CAAC3C,EAAM,GAAIC,EAA8C,CAAC,IAC/CH,EAAYjB,EAAM,GAAImB,EAAKY,IAAA,GAAKrC,GAAY0B,EAAQ,EAE/D,CAACpB,EAAM,GAAIN,CAAO,CACtB,EAEMqE,EAAa,eACf,CAAC5C,EAAM,GAAIC,EAA8C,CAAC,IAAM,CAlLxE,IAAAzB,EAmLY,IAAMqE,EAAShD,GAAW4C,EAAiBE,EAAI3C,EAAKC,CAAM,CAAC,EAE3D,OAAI4C,GAAU,OAAO,OAAOA,EAAQ,IAAI,KACpCrE,EAAAqE,EAAO,KAAP,OAAAA,EAAO,GAAOlE,IAGXkE,CACX,EACA,CAACF,EAAKhE,EAAI8D,CAAe,CAC7B,EAEMK,EAAa,eACf,CAAC/C,EAA+B,CAAC,EAAGC,EAAM,GAAIC,EAA8C,CAAC,IAClFH,EAAYC,EAAKC,EAAKY,IAAA,GAAKrC,GAAY0B,GAAU,EAAK,EAEjE,CAAC1B,CAAO,CACZ,EAGA,OAAAwE,GAAe,IAAM9D,EAAM,WAAW,CAAC,EACvC+D,GAAgB,IAAM/D,EAAM,WAAW,CAAC,EACxCgE,GAAiB,IAAMhE,EAAM,aAAa,CAAC,EAE9B,WACT,KAAO,CACH,IAAA0D,EACA,KAAAC,EACA,KAAAE,CACJ,GACA,CAACH,EAAKC,EAAME,CAAI,CACpB,CACJ,CC9MA,IAAAI,GAAuB,OCDvB,IAAAC,GAAuB,OAEhB,SAASC,IAAW,CACvB,IAAMC,EAAc,cAAWC,EAAY,EAErCC,EAAc,eAChB,CAACC,EAAmC,CAAC,IAAM,CACvC,GAAM,CAAE,KAAAC,EAAM,IAAAC,EAAK,QAAAC,EAAS,QAAAC,EAAU,CAAC,CAAE,EAAIJ,EAE7C,GAAIK,GAAS,GAAKC,EAAWJ,CAAG,EAAG,CAC/B,IAAIK,EAAOJ,GAAA,YAAAA,EAAS,eAEhB,CAACI,GAAQA,IAAS,YAAUA,EAAO,SAAS,MAEhD,IAAMC,EAAeD,EAAK,cAAc,mCAAmCN,CAAI,IAAI,GAAK,SAAS,cAAc,OAAO,EAEtH,OAAKO,EAAa,cAEVJ,GAAA,MAAAA,EAAS,MACTG,EAAK,QAAQC,CAAY,EAEzBD,EAAK,YAAYC,CAAY,EAGjCA,EAAa,aAAa,2BAA4BP,GAAQ,EAAE,GAGpEO,EAAa,YAAcN,GAAA,KAAAA,EAAO,GAE3BM,CACX,CACJ,EACA,CAACX,CAAK,CACV,EAEMY,EAAa,eACf,CAACT,EAAmC,CAAC,IAAM,CAvCnD,IAAAU,EAAAC,EAwCY,GAAM,CAAE,KAAAV,EAAM,IAAAC,CAAI,EAAIF,EAEtB,GAAIM,EAAWN,EAAY,GAAG,EAE1B,OAAIC,GAAQ,GAACS,EAAAb,GAAA,YAAAA,EAAO,aAAP,MAAAa,EAAmB,IAAIT,KAAS,CAACI,GAAS,GAAKJ,IAAS,iBACjEU,EAAAd,GAAA,YAAAA,EAAO,aAAP,MAAAc,EAAmB,IAAIV,EAAMC,IAG1BH,EAAMC,CAAW,CAEhC,EACA,CAACH,CAAK,CACV,EAEMe,EAAe,eAAY,IAAM,CAC/Bf,GAAA,MAAAA,EAAO,YACPA,EAAM,WAAW,MAAM,CAE/B,EAAG,CAACA,CAAK,CAAC,EAEV,OAAM,sBAAmB,IAAM,CA5DnC,IAAAa,EAAAC,EA6DQ,OAAAA,GAAAD,EAAAb,GAAA,YAAAA,EAAO,aAAP,YAAAa,EAAmB,cAAnB,MAAAC,EAAgC,QAAQ,CAACE,EAAOC,IAAQ,CACpDf,EAAM,CAAE,KAAMe,EAAK,IAAKD,GAAA,YAAAA,EAAO,GAAI,CAAC,CACxC,GAEO,IAAM,CACTD,EAAO,CACX,CACJ,EAAG,CAACf,CAAK,CAAC,EAEH,CAACY,EAAMG,CAAM,CACxB,CCvEO,IAAMG,GAAuB,CAAC,ECKrC,IAAAC,GAAuB,OAShB,SAASC,GAAiCC,EAAiBC,EAAqC,CACnG,IAAMC,EAAc,cAAWC,EAAY,EACrC,CAACC,CAAI,EAAIC,GAAS,EAElBC,EAAc,eAChB,CAACC,EAAcC,IACJJ,EAAK,CAAE,KAAMI,GAAA,YAAAA,EAAS,KAA4B,IAAAD,EAAK,QAASE,GAAUR,CAAU,EAAG,QAAAO,CAAQ,CAAC,EAE3G,CAACJ,EAAMH,CAAU,CACrB,EAEA,OAAa,WAAQ,IAAM,CACvB,IAAMS,EAAUC,EAAAC,EAAA,CACZ,KAAM,QACFZ,GAFQ,CAGZ,KAAKa,EAAmB,GAAIL,EAA4D,CAAC,EAAGM,EAAgB,GAAIC,EAAuB,GAAO,CAC1I,IAAMC,EAAOR,EAAQ,MAAQE,EAAQ,KAC/BO,EAAgBC,KAAML,CAAK,GAAGC,CAAa,GAC3CK,EAAgBJ,EAAuBK,EAAM,aAAaJ,EAAMC,CAAa,EAAIA,EAEvF,OAAOI,EAAWF,CAAa,EAAIb,EAAMgB,GAAUH,CAAa,EAAGP,EAAA,CAAE,KAAAI,GAASR,EAAS,EAAI,CAAC,CAChG,EACA,QAAQA,EAAwC,CAC5C,OAAO,KAAK,KAAK,KAAK,IAAKA,CAAO,CACtC,EACA,UAAUA,EAAwCM,EAAgB,GAAI,CAClE,OAAO,KAAK,KAAK,KAAK,MAAON,EAASM,EAAe,EAAI,CAC7D,EACA,eAAeS,EAAuC,CAClD,OAAOH,EAAM,UAAU,KAAK,KAAMG,CAAM,CAC5C,EACA,kBAAkBA,EAAuC,CACrD,OAAOH,EAAM,aAAa,KAAK,KAAMG,CAAM,CAC/C,EAEA,eAAeC,EAAiBC,EAAkBF,EAAuC,CACrF,OAAOH,EAAM,gBAAgB,KAAK,KAAMI,EAAQC,EAAUF,CAAM,CACpE,EACA,uBAAwB,CACpB,OAAOH,EAAM,iBAAiB,KAAK,IAAI,CAC3C,EACA,cAAcM,EAAc,GAAIC,EAAQ,CAAC,EAAG,CACxC,GAAI,KAAK,IAAK,CAEV,IAAMC,EAAOC,EAAQ,KAAK,IAAK,CAAE,GAAAC,EAAG,CAAC,EAC/BC,EAAST,GAAUJ,KAAMU,CAAI,GAAGF,CAAW,EAAE,EAC7CM,EAAS,OAAO,QAAQL,CAAK,EAC9B,OAAiB,CAACM,EAAK,CAACC,EAAGC,CAAC,KACzBF,EAAI,KAAK,GAAGC,CAAC,KAAKC,CAAC,GAAG,EAEfF,GACR,CAAC,CAAC,EACJ,KAAK,GAAG,EAEb,MAAO,oDAAoD,KAAK,IAAI,KAAKD,CAAM,IAAID,CAAM,UAC7F,CAEA,MAAO,EACX,EACA,yBAAyBR,EAAuCI,EAAsC,CAAC,EAAG,CACtG,OAAOP,EAAM,oBAAoB,KAAK,KAAMG,EAAQI,CAAK,CAC7D,EACA,mBAAmBJ,EAAuCI,EAAsC,CAAC,EAAG,CAChG,IAAMS,EAAS,CAAChB,EAAM,cAAc,KAAK,KAAMG,EAAQI,CAAK,CAAC,EAE7D,GAAIzB,EAAO,CACP,IAAMmC,EAAQ,KAAK,OAAS,OAAS,eAAiB,GAAG,KAAK,IAAI,SAC5DT,EAAOV,KAAMW,EAAQ3B,EAAO,CAAE,GAAA4B,EAAG,CAAC,CAAC,GACnCC,EAAST,GAAUF,EAAM,aAAa,KAAK,KAAMQ,CAAI,CAAC,EACtDI,EAAS,OAAO,QAAQL,CAAK,EAC9B,OAAiB,CAACM,EAAK,CAACC,EAAGC,CAAC,KACzBF,EAAI,KAAK,GAAGC,CAAC,KAAKC,CAAC,GAAG,EAEfF,GACR,CAAC,CAAC,EACJ,KAAK,GAAG,EAEbG,EAAO,KAAK,oDAAoDC,CAAK,KAAKL,CAAM,IAAID,CAAM,UAAU,CACxG,CAEA,OAAOK,EAAO,KAAK,EAAE,CACzB,CACJ,GAEA,OAAO1B,CACX,EAAG,CAACV,EAAQE,EAAOI,CAAK,CAAC,CAC7B,CHrFO,SAASgC,GAA8EC,EAAmCC,EAAiBC,EAA+C,CAfjM,IAAAC,EAgBI,GAAM,CAAE,MAAAC,EAAQ,CAAE,SAAU,GAAO,GAAI,MAAU,EAAG,YAAAC,EAAa,cAAAC,EAAe,WAAAC,CAAW,EAAIP,GAAY,CAAC,EACtGQ,EAASC,GAAyBR,EAAQM,CAAU,EAGpDG,EAAuB,UAAgC,IAAI,EAG3DC,EAAc,eAAY,IAAM,CAClC,GAAI,CAACC,GAAc,kBAAkB,MAAM,EAAG,CAC1C,GAAM,CAAE,IAAAC,CAAI,EAAIL,EAAO,YAAc,CAAC,EAEtCA,EAAO,KAAKK,EAAKC,EAAA,CAAE,KAAM,QAAWC,EAAe,EAEnDH,GAAc,mBAAmB,MAAM,CAC3C,CAEAI,EAAiB,CACrB,EAAG,CAACR,CAAM,CAAC,EAELS,EAAoB,eAAY,IAAM,CACxCN,EAAM,EACNO,EAAqBP,CAAK,CAC9B,EAAG,CAACA,CAAK,CAAC,EAGJQ,EAAoB,WAAQ,IAAG,CAzCzC,IAAAhB,EAyC6C,OAAAC,EAAM,WAAa,OAAYA,EAAM,UAAWD,EAAAE,GAAA,YAAAA,EAAa,SAAb,YAAAF,EAAqB,UAAW,CAACC,EAAOC,GAAA,YAAAA,EAAa,MAAM,CAAC,EAC/IU,EAAsB,WAAQ,IAAG,CA1C3C,IAAAZ,EAAAiB,EA0C+C,OAAE,OAAOA,GAAAjB,EAAAE,GAAA,YAAAA,EAAa,SAAb,YAAAF,EAAqB,MAArB,YAAAiB,EAA0B,KAAM,GAAI,CAACf,GAAA,YAAAA,EAAa,MAAM,CAAC,EAGvGgB,EAAwB,eAAY,IAAM,CAC5C,GAAI,CAACT,GAAc,kBAAkBJ,GAAA,YAAAA,EAAQ,IAAI,IAAKA,GAAA,MAAAA,EAAQ,MAAM,CAChE,IAAMc,EAAOd,EAAO,OAAS,SAAW,OAASA,EAAO,KAExDA,EAAO,QAAQM,EAAA,CAAE,KAAAQ,GAASP,EAAe,EAEzCH,GAAc,mBAAmBJ,EAAO,IAAI,CAChD,CACJ,EAAG,CAACA,EAAQO,CAAa,CAAC,EAEpBC,EAAyB,eAAY,IAAM,CAvDrD,IAAAb,EAAAiB,EAAAG,EAAAC,EAwDQ,GAAI,EAAAL,IAAed,GAAA,YAAAA,EAAa,SAAU,QAG1C,IAAI,CAACoB,EAAM,kBAAkB,QAAQ,EAAG,CACpC,GAAM,CAAE,UAAAC,EAAW,SAAAC,GAAU,OAAAC,EAAQ,MAAAC,EAAM,IAAI1B,EAAAK,GAAA,YAAAA,EAAQ,iBAAR,YAAAL,EAAA,KAAAK,KAA8B,CAAC,EAE9EA,EAAO,KAAKkB,GAAA,YAAAA,EAAW,IAAKZ,EAAA,CAAE,KAAM,uBAA0BC,EAAe,EAC7EP,EAAO,KAAKmB,IAAA,YAAAA,GAAU,IAAKb,EAAA,CAAE,KAAM,sBAAyBC,EAAe,EAC3EP,EAAO,KAAKoB,GAAA,YAAAA,EAAQ,IAAKd,EAAA,CAAE,KAAM,oBAAuBC,EAAe,EACvEP,EAAO,MAAKY,EAAAZ,EAAO,aAAP,YAAAY,EAAmB,MAAON,EAAA,CAAE,KAAM,gBAAmBC,GAAiBc,GAAO,EAAI,EAE7FJ,EAAM,mBAAmB,QAAQ,CACrC,CAGA,GAAI,CAACA,EAAM,kBAAkBjB,GAAA,YAAAA,EAAQ,IAAI,IAAKA,GAAA,MAAAA,EAAQ,MAAM,CACxD,GAAM,CAAE,IAAAK,EAAK,MAAAgB,EAAM,IAAIN,EAAAf,GAAA,YAAAA,EAAQ,oBAAR,YAAAe,EAAA,KAAAf,KAAiC,CAAC,EAEzDA,EAAO,KAAKK,EAAKC,EAAA,CAAE,KAAM,GAAGN,EAAO,IAAI,cAAiBO,EAAe,EACvEP,EAAO,UAAUM,EAAA,CAAE,KAAM,GAAGN,EAAO,IAAI,UAAaO,GAAiBc,EAAK,EAE1EJ,EAAM,mBAAmBjB,EAAO,IAAI,CACxC,CAGA,GAAI,CAACiB,EAAM,kBAAkB,aAAa,EAAG,CACzC,IAAMK,GAAaN,EAAAhB,GAAA,YAAAA,EAAQ,wBAAR,YAAAgB,EAAA,KAAAhB,GAEnBA,EAAO,KAAKsB,EAAYhB,EAAA,CAAE,KAAM,cAAe,MAAO,IAASC,EAAe,EAE9EU,EAAM,mBAAmB,aAAa,CAC1C,EACJ,EAAG,CAACN,EAAaX,EAAQO,CAAa,CAAC,EAEjCgB,EAA0BC,GAAoB,CA1FxD,IAAA7B,EA2FQ,GAAM,CAAE,IAAAU,CAAI,IAAIV,EAAAK,GAAA,YAAAA,EAAQ,iBAAR,YAAAL,EAAA,KAAAK,EAAyBwB,EAAQ,IAAI1B,CAAa,OAAQ,CAAC,EACrE2B,EAAczB,GAAA,YAAAA,EAAQ,KAAKK,EAAKC,EAAA,CAAE,KAAM,GAAGR,CAAa,IAAIE,EAAO,IAAI,IAAOO,IAEpFL,EAAe,QAAUuB,CAC7B,EAMMf,EAA6B,eAAY,CAACgB,EAAW,IAAM,CAAC,IAAM,CAGpEC,GAAa,GAAG,eAAgBD,CAAQ,CAE5C,EAAG,CAAC,CAAC,EASCE,EAAW,eACb,CAACC,EAAM,GAAIC,EAAS,CAAC,IACTnB,EAAgH,OAAlGoB,GAAGC,GAAYhC,EAAO,QAAmC6B,EAAKI,EAAA3B,EAAA,GAAKZ,GAAL,CAAc,QAASoC,CAAO,EAAC,CAAC,EAExH,CAACnB,EAAanB,EAAUQ,EAAO,OAAO,CAC1C,EAEMkC,EAAW,eACb,CAACL,EAAM,GAAIM,EAAO,GAAML,EAAS,CAAC,IAAM,CA3HhD,IAAAnC,EA4HY,GAAIwC,EAAM,CACN,IAAMC,EAAOJ,GAAYhC,EAAO,aAAqD6B,EAAKI,EAAA3B,EAAA,GAAKZ,GAAL,CAAc,QAASoC,CAAO,EAAC,EACnHO,GAAOL,IAAYrC,EAAAK,EAAO,aAAP,YAAAL,EAAmB,aAAqDkC,EAAKI,EAAA3B,EAAA,GAAKZ,GAAL,CAAc,QAASoC,CAAO,EAAC,EAErI,OAAOxB,IAAA,GAAK+B,IAASD,EACzB,CAGJ,EACA,CAACpC,EAAO,cAAcL,EAAAK,EAAO,aAAP,YAAAL,EAAmB,aAAcH,CAAQ,CACnE,EAGA,OAAKmB,IAIDE,EAAgB,EAChBJ,EAAY,EACZc,EAAuB3B,EAAM,EAAE,GAGtB,WACT,KAAO,CACH,GAAAgC,EACA,GAAAM,EACA,WAAYvB,EACZ,OAAAX,CACJ,GACA,CAAC4B,EAAIM,EAAIvB,EAAaX,CAAM,CAChC,CACJ,CF3IO,SAASsC,GAAmFC,EAAe,mBAAoBC,EAAgE,CAAC,EAAG,CACtM,IAAMC,EAAqB,WAAQ,IAAOC,IAAA,GAAKC,IAAgBH,EAAQ,cAAiB,CAACA,EAAQ,YAAY,CAAC,EACxGI,EAAeC,GAAQN,EAAM,CAC/B,QAASC,EAAQ,QACjB,aAAAC,EACA,MAAOD,EAAQ,KACnB,CAAqG,EAE/F,CAAE,IAAAM,EAAK,MAAAC,CAAM,EAAIH,EACjBI,EAAgB,WAAQ,KACnB,CACH,SAAUJ,EACV,MAAOA,EAAa,MACpB,MAAOA,EAAa,MACpB,MAAOA,EAAa,KACxB,GACD,CAACA,EAAa,MAAOA,EAAa,MAAOA,EAAa,KAAK,CAAC,EAEzDK,EAAMC,GAAeN,EAAcI,CAAO,EAC1CG,EAAMC,GAAkBR,EAAcG,EAAM,QAAUP,EAAQ,OAAQQ,CAAO,EAE7EK,EAAiB,WACnB,IAAOX,MAAA,GACAE,GACAK,GACAE,GAEP,CAACP,EAAcK,EAAKE,CAAG,CAC3B,EAEA,OAAM,uBAAoBL,EAAiG,IAAMO,EAAU,CAACA,CAAQ,CAAC,EAE9IA,CACX,CM7CA,IAAAC,GAAuB,OAqBhB,SAASC,GAAoK,CAChL,KAAAC,EAAO,mBACP,aAAAC,EACA,OAAAC,EACA,WAAAC,EACA,MAAAC,EACA,OAAAC,CACJ,EAAiE,CAa7D,IAAMC,EAAkB,QAVyDC,GAA4B,CACzG,IAAMC,EAAWC,GAAaT,EAAM,CAAE,QAAAO,EAAS,aAAAN,EAAc,OAAAC,EAAQ,MAAAE,CAAM,CAAgE,EAIrIM,EAAqBL,GAAA,KAAAA,GAAgD,IAAM,MAEjF,OAAOG,EAAS,MAAM,IAAM,iBAACE,EAAAC,EAAA,GAAuBH,EAAqC,EAAK,IAClG,EAE4C,CAACI,EAAWC,IAChD,CAACC,GAASF,CAAS,GAAK,CAACE,GAASD,CAAS,EACpC,GAIJD,IAAcC,GAAa,OAAO,KAAKZ,GAAgB,CAAC,CAAC,EAAE,MAAOc,GAASH,EAAsCG,CAAG,IAAOF,EAAsCE,CAAG,CAAC,CAC/K,EAED,OAAAT,EAAU,YAAc,cAAcN,CAAI,GAC1C,OAAO,QAAQG,GAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAACY,EAAKC,CAAK,IAAM,CACtDV,EAAsCS,CAAG,EAAIC,CAClD,CAAC,EAEMV,CACX,CClDO,SAASW,GAA0EC,EAAe,kBAAmBC,EAAuD,CAAC,EAAG,CAGnL,OAFqBC,GAAQF,EAAMC,CAAgI,CAGvK,CCEO,SAASE,GAA0G,CAAE,KAAAC,EAAM,aAAAC,EAAc,MAAAC,CAAM,EAAiD,CACnM,OAAQC,GACGC,GAAYJ,EAAM,CAAE,QAAAG,EAAS,aAAAF,EAAc,MAAAC,CAAM,CAAC,CAEjE,CClBA,IAAAG,GAAuB,OCAhB,IAAMC,GAA8B,CACvC,GAAI,IACJ,KAAM,OACN,OAAQ,OACR,KAAM,OACN,KAAM,EACV,ECLA,IAAMC,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+CPC,GAAS,CAClB,KAAM,OACN,IAAAD,GACA,QAAS,CACL,KAAM,CAAC,CAAE,MAAAE,CAAM,IAAM,CACjB,SACA,CACI,cAAeA,EAAM,KACrB,yBAA0BA,EAAM,OAAS,aACzC,uBAAwBA,EAAM,OAAS,UAC3C,CACJ,CACJ,EACA,aAAc,CACV,KAAM,CAAC,CAAE,MAAAA,CAAM,IAAOC,IAAA,GACdD,EAAM,KAAO,CAAE,CAACE,GAAI,WAAW,EAAE,IAAI,EAAGF,EAAM,IAAK,EAAI,QACvDA,EAAM,OAAS,CAAE,CAACE,GAAI,aAAa,EAAE,IAAI,EAAG,GAAGF,EAAM,MAAM,KAAM,EAAI,OAEjF,CACJ,ECjEA,IAAAG,GAAuB,OCDhB,IAAMC,GAAUC,GAAa,CAChC,KAAM,UACN,MAAM,CAAE,MAAAC,CAAM,EAAG,CAUb,MAAO,CACH,IAVQ,IAAM,CACd,IAAMC,EAAmBC,GAAQF,EAAM,YAAY,CAAC,EAEpD,MAAO,CACH,KAAOC,EAA2B,OAAR,MAC1B,cAAeC,GAAQF,EAAM,QAAQ,GAAKC,CAC9C,CACJ,CAIA,CACJ,CACJ,CAAC,EDMM,SAASE,GAA+J,CAC3K,KAAAC,EACA,aAAAC,EACA,OAAAC,EACA,WAAAC,EACA,MAAAC,EACA,OAAAC,CACJ,EAA+E,CAC3E,OAAOC,GAAoE,CACvE,KAAM,GAAGN,GAAA,KAAAA,EAAQ,SAAS,OAC1B,aAAAC,EACA,OAAAC,EACA,WAAAC,EACA,MAAMI,EAAU,CACZ,IAAMC,EAAOC,GAAQF,GAAA,YAAAA,EAAU,OAAO,EAChCG,EAAgBC,EAAQP,EAA4DG,CAAQ,EAElG,OAAa,WACT,IAAOK,IAAA,GACAJ,GACAE,GAEP,CAACF,EAAME,CAAa,CACxB,CACJ,EACA,OAAAL,CACJ,CAAC,CACL,CH7CO,IAAMQ,GAAOC,GAAS,CACzB,KAAM,OACN,OAAAC,GACA,aAAcC,GACd,OAAOC,EAAU,CACb,GAAM,CAAE,GAAAC,EAAI,MAAAC,EAAO,KAAAC,EAAM,IAAAC,EAAK,GAAAC,EAAI,GAAAC,CAAG,EAAIN,EAEnCO,EAAYC,GACd,CACI,GAAAP,EACA,MAAOK,EAAG,MAAM,EAChB,UAAWD,EAAG,MAAM,CACxB,EACAD,GAAA,YAAAA,IACAD,EAAK,MAAM,CACf,EAEA,OAAO,iBAACM,GAAA,CAAU,SAAUT,EAAU,MAAOO,EAAW,SAAUL,EAAM,SAAU,CACtF,CACJ,CAAC,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EKvBD,IAAMQ,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0CPC,GAAS,CAClB,KAAM,OACN,IAAAD,GACA,MAAAE,GACA,QAAS,CAAC,EACV,aAAc,CAAC,CACnB,EC9CO,IAAMC,GAAgB,CAAuJ,CAChL,KAAAC,EAAO,mBACP,aAAAC,EACA,OAAAC,EAASC,EAAAC,EAAA,GACFF,IADE,CAEL,KAAM,QACV,GACA,WAAAG,EACA,MAAAC,EACA,OAAAC,CACJ,IACWR,GAA4D,CAC/D,KAAAC,EACA,aAAAC,EACA,OAAAC,EACA,WAAAG,EACA,MAAAC,EACA,OAAAC,CACJ,CAAC,ECnBL,IAAAC,GAAuB,OCDhB,GAAM,CAACC,GAAgBC,EAAgB,EAAIC,GAAsC,ECDjF,IAAMC,GAAwC,CACjD,KAAM,OACN,KAAM,OACN,KAAM,GACN,OAAQ,GACR,MAAO,GACP,MAAO,GACP,SAAU,OACV,mBAAoB,OACpB,iBAAkB,OAClB,qBAAsB,OACtB,mBAAoB,OACpB,iBAAkB,OAClB,qBAAsB,OACtB,cAAe,OACf,QAAS,OACT,aAAc,OACd,iBAAkB,OAClB,cAAe,OACf,QAAS,OACT,aAAc,OACd,iBAAkB,MACtB,ECrBO,IAAMC,GAAkCC,EAAAC,EAAA,GACzBC,IADyB,CAE3C,GAAI,MACJ,GAAI,GACJ,aAAc,GACd,eAAgB,EACpB,uiBENaC,GAAY,YACZC,GAAa,aAOnB,SAASC,GAAiBC,EAA6C,CAC1E,OAAKA,EAIEA,EAAQ,UAAY,CAAC,EAAEA,EAAQ,MAAQC,GAAuB,GAH1D,EAIf,CAQO,SAASC,GAAaC,EAAsCC,EAA8C,CAC7G,OAAKD,EAIEE,GAAAA,GAAA,CAAA,EACAF,CAAAA,EACC,OAAO,QAAQC,CAAc,EAAE,OAAO,CAACE,EAA8B,CAACC,EAAKC,CAAK,IAAM,CAhClG,IAAAC,EAiCY,OAAAH,EAAIC,CAAG,GAAKE,EAAAN,EAAsCI,CAAG,IAAzC,KAAAE,EAA8CD,EAEnDF,CACX,EAAG,CAAC,CAAC,CAAA,EATEF,CAWf,CAOO,SAASM,GAAkBV,EAA+D,CAC7F,GAAM,CAAE,KAAAW,EAAM,WAAAC,EAAY,WAAAC,CAAW,EAAIb,GAAW,CAAC,EAErD,MAAO,CACH,MAAO,CACH,MAAMY,GAAA,KAAA,OAAAA,EAAY,OAAQ,GAAGD,CAAI,cACjC,IAAIC,GAAA,KAAA,OAAAA,EAAY,KAAM,GAAGD,CAAI,YAC7B,QAAQC,GAAA,KAAA,OAAAA,EAAY,SAAU,GAAGD,CAAI,eACzC,EACA,MAAO,CACH,MAAME,GAAA,KAAA,OAAAA,EAAY,OAAQ,GAAGF,CAAI,cACjC,IAAIE,GAAA,KAAA,OAAAA,EAAY,KAAM,GAAGF,CAAI,YAC7B,QAAQE,GAAA,KAAA,OAAAA,EAAY,SAAU,GAAGF,CAAI,eACzC,CACJ,CACJ,CAOO,SAASG,GAAed,EAA0D,CACrF,MAAO,CACH,MAAO,CACH,SAAUA,GAAA,KAAA,OAAAA,EAAS,cACnB,QAASA,GAAA,KAAA,OAAAA,EAAS,QAClB,QAASA,GAAA,KAAA,OAAAA,EAAS,aAClB,YAAaA,GAAA,KAAA,OAAAA,EAAS,gBAC1B,EACA,MAAO,CACH,SAAUA,GAAA,KAAA,OAAAA,EAAS,cACnB,QAASA,GAAA,KAAA,OAAAA,EAAS,QAClB,QAASA,GAAA,KAAA,OAAAA,EAAS,aAClB,YAAaA,GAAA,KAAA,OAAAA,EAAS,gBAC1B,CACJ,CACJ,CAQO,SAASe,GAAkBC,EAAkBC,EAAuD,CACvG,IAAMC,EAAS,OAAO,iBAAiBF,CAAO,EAExCG,EAAyBC,GAA2C,CACtE,IAAMC,EAASH,EAAO,GAAGE,CAAI,OAAO,EAC9BE,EAAYJ,EAAO,GAAGE,CAAI,UAAU,EAE1C,MAAO,CAACC,EAAO,MAAM,IAAI,EAAE,IAAIE,EAAI,EAAGD,EAAU,MAAM,IAAI,EAAE,IAAIC,EAAI,CAAC,CACzE,EAEM,CAACC,EAAkBC,CAAmB,EAAIN,EAAsBrB,EAAU,EAC1E,CAAC4B,EAAiBC,CAAkB,EAAIR,EAAsBtB,EAAS,EAEvE+B,EAAoB,KAAK,IAAI,GAAGH,EAAoB,IAAI,CAACI,EAAGC,IAAMD,EAAIL,EAAiBM,CAAC,CAAC,CAAC,EAC1FC,EAAmB,KAAK,IAAI,GAAGJ,EAAmB,IAAI,CAACE,EAAGC,IAAMD,EAAIH,EAAgBI,CAAC,CAAC,CAAC,EAEzFV,EACAY,EAAU,EACVC,EAAQ,EAEZ,OAAIhB,IAAiBnB,GACb8B,EAAoB,IACpBR,EAAOtB,GACPkC,EAAUJ,EACVK,EAAQR,EAAoB,QAEzBR,IAAiBpB,GACpBkC,EAAmB,IACnBX,EAAOvB,GACPmC,EAAUD,EACVE,EAAQN,EAAmB,SAG/BK,EAAU,KAAK,IAAIJ,EAAmBG,CAAgB,EACtDX,EAAOY,EAAU,EAAKJ,EAAoBG,EAAmBjC,GAAaD,GAAa,OACvFoC,EAAQb,EAAQA,IAAStB,GAAa2B,EAAoB,OAASE,EAAmB,OAAU,GAG7F,CACH,KAAAP,EACA,QAAAY,EACA,MAAAC,CACJ,CACJ,CAQO,SAASC,GAAgBC,EAAqCC,EAAmC,CACpG,OAAI,OAAOD,GAAa,SACbA,EACA,OAAOA,GAAa,UAAYA,EAASC,CAAK,GAAK,KACnDD,EAASC,CAAK,EAGlB,IACX,CASO,SAASC,GAA0BrB,EAAsBsB,EAAsB,GAAMC,EAAqB,GAAa,CAC1H,GAAI,CAACD,GAAc,CAACC,EAAW,OAE/B,IAAMC,EAAaC,GAA2BzB,CAAO,EAEjDsB,GACAI,GAAe1B,EAAS,sBAAuBwB,EAAW,OAAS,IAAI,EAGvED,GACAG,GAAe1B,EAAS,qBAAsBwB,EAAW,MAAQ,IAAI,CAE7E,CDtKO,IAAMG,GAAwC,CACjD,KAAM,IACN,KAAM,GACN,SAAU,GACV,MAAO,GACP,MAAO,GACP,WAAY,GACZ,UAAW,EACf,EAQO,SAASC,GAAa5B,EAAkBhB,EAAyC,CACpF,GAAI,CAACgB,EAAS,MAAM,IAAI,MAAM,sBAAsB,EAEpD,IAAM6B,EAAsB,CAAC,EACzBC,EAAa,GACbC,EAAwC,CAAC,EACzCC,EAAqC,KACrCC,EAA8B,CAAC,EAE7BC,EAAQC,GAA4B,CAEtC,GADA,OAAO,OAAON,EAAM3C,GAAaiD,EAASR,EAAsB,CAAC,EAC7D,CAACE,EAAK,OAAS,CAACA,EAAK,MAAO,MAAM,IAAI,MAAM,8BAA8B,EAE9EI,EAAQnC,GAAe+B,CAAI,EAC3BC,EAAa/C,GAAiB8C,CAAI,EAClCE,EAAarC,GAAkBmC,CAAI,EACnCG,EAAgB,IACpB,EAEMI,EAAahB,GAAsCiB,GAAA,KAAA,KAAA,WAAA,CACrDL,GAAA,MAAAA,EAAAA,EAEA,GAAM,CAAE,SAAAM,EAAU,QAAAC,EAAS,QAAAC,EAAS,YAAAC,CAAY,EAAIR,EAAMb,CAAK,GAAK,CAAC,EAC/DsB,EAAQ,CAAE,QAAA1C,CAAQ,EAExB,GAAI8B,EAAY,CACZQ,GAAA,MAAAA,EAAWI,CAAAA,EACXH,GAAA,MAAAA,EAAUG,CAAAA,EACVF,GAAA,MAAAA,EAAUE,CAAAA,EAEV,MACJ,CAEA,GAAM,CAAE,KAAMC,EAAW,OAAQC,EAAa,GAAIC,CAAQ,EAAId,EAAWX,CAAK,GAAK,CAAC,EAEpF,OAAAC,GAA0BrB,EAAwB6B,EAAK,WAAYA,EAAK,SAAS,EAEjFS,GAAA,MAAAA,EAAWI,CAAAA,EACXI,GAAS9C,EAAS2C,CAAS,EAC3BG,GAAS9C,EAAS4C,CAAW,EAGvB5C,EAAwB,aAE9B+C,GAAY/C,EAAS2C,CAAS,EAC9BG,GAAS9C,EAAS6C,CAAO,EACzBN,GAAA,MAAAA,EAAUG,CAAAA,EAEH,IAAI,QAASM,GAAY,CAC5B,IAAM7B,EAAWD,GAAgBW,EAAK,SAAUT,CAAK,EAE/C6B,EAAU,IAAM,CAClBF,GAAY/C,EAAS,CAAC6C,EAASD,CAAW,CAAC,EAC3CZ,EAAgB,IACpB,EAEMkB,EAAS,IAAM,CACjBD,EAAQ,EACRT,GAAA,MAAAA,EAAUE,CAAAA,EACVM,EAAQ,CACZ,EAEAhB,EAAgB,IAAM,CAClBiB,EAAQ,EACRR,GAAA,MAAAA,EAAcC,CAAAA,EACdM,EAAQ,CACZ,EAEAG,GAAQnD,EAAS6B,EAAK,KAAMV,EAAU+B,CAAM,CAChD,CAAC,CACL,CAAA,EAEAhB,EAAKlD,CAAO,EAEZ,IAAMoE,EAA2B,CAC7B,MAAO,IACEvB,EAAK,MAEHO,EAAI,OAAO,EAFM,QAAQ,QAAQ,EAI5C,MAAO,IACEP,EAAK,MAEHO,EAAI,OAAO,EAFM,QAAQ,QAAQ,EAI5C,OAAQ,IAAM,CACVJ,GAAA,MAAAA,EAAAA,EACAA,EAAgB,IACpB,EACA,OAAQ,CAACqB,EAAsBC,IAA+B,CAC1D,GAAI,CAACD,EAAY,MAAM,IAAI,MAAM,sBAAsB,EAEvDrD,EAAUqD,EACVD,EAAS,OAAO,EAChBlB,EAAKoB,CAAU,CACnB,CACJ,EAEA,OAAIzB,EAAK,QAAQuB,EAAS,MAAM,EAEzBA,CACX,CAEA,IAAIG,GAAQ,EAaZ,SAASJ,GAAQnD,EAA8CC,EAAsCuD,EAAgCR,EAAqB,CACtJ,IAAMS,EAAMzD,EAAQ,aAAe,EAAEuD,GAE/BG,EAAoB,IAAM,CACxBD,IAAOzD,EAAQ,cACfgD,EAAQ,CAEhB,EAEA,GAAIQ,GAAmB,KACnB,OAAO,WAAWE,EAAmBF,CAAe,EAGxD,GAAM,CAAE,KAAApD,EAAM,QAAAY,EAAS,MAAAC,CAAM,EAAIlB,GAAkBC,EAASC,CAAY,EAExE,GAAI,CAACG,EAAM,CACP4C,EAAQ,EAER,MACJ,CAEA,IAAMW,EAAWvD,EAAO,MACpBwD,EAAQ,EAENC,EAAM,IAAM,CACd7D,EAAQ,oBAAoB2D,EAAUG,EAAO,EAAI,EACjDJ,EAAkB,CACtB,EAEMI,EAASpB,GAAiB,CACxBA,EAAM,SAAW1C,GAAW,EAAE4D,GAAS3C,GACvC4C,EAAI,CAEZ,EAEA7D,EAAQ,iBAAiB2D,EAAUG,EAAO,CAAE,QAAS,GAAM,KAAM,EAAK,CAAC,EACvE,WAAW,IAAM,CACTF,EAAQ3C,GACR4C,EAAI,CAEZ,EAAG7C,EAAU,CAAC,CAClB,CE9KA,IAAA+C,GAAuB,OAGhB,IAAMC,GAAYC,GAAa,CAClC,KAAM,YACN,aAAcC,GACd,MAAM,CAAE,MAAAC,EAAO,WAAAC,CAAW,EAAG,CACzB,IAAMC,EAAkB,UAA8B,IAAI,EAGpDC,EAAc,eAAY,IAAG,CAb3C,IAAAC,EAa8C,OAAAA,EAAAF,EAAU,UAAV,YAAAE,EAAmB,SAAS,CAACF,EAAU,OAAO,CAAC,EAC/EG,EAAc,eAAY,IAAG,CAd3C,IAAAD,EAc8C,OAAAA,EAAAF,EAAU,UAAV,YAAAE,EAAmB,SAAS,CAACF,EAAU,OAAO,CAAC,EAC/EI,EAAe,eAAY,IAAG,CAf5C,IAAAF,EAe+C,OAAAA,EAAAF,EAAU,UAAV,YAAAE,EAAmB,UAAU,CAACF,EAAU,OAAO,CAAC,EACjFK,EAAe,eACjB,CAACC,EAAkBC,IAAiC,CAjBhE,IAAAL,EAkBgB,IAAMM,EAAyBC,EAAAC,EAAA,GACxBH,GADwB,CAE3B,KAAMA,GAAA,YAAAA,EAAa,KACnB,WAAY,CACR,KAAMA,GAAA,YAAAA,EAAa,mBACnB,GAAIA,GAAA,YAAAA,EAAa,iBACjB,OAAQA,GAAA,YAAAA,EAAa,oBACzB,EACA,WAAY,CACR,KAAMA,GAAA,YAAAA,EAAa,mBACnB,GAAIA,GAAA,YAAAA,EAAa,iBACjB,OAAQA,GAAA,YAAAA,EAAa,oBACzB,CACJ,GAEKP,EAAU,SAGXE,EAAAF,EAAU,UAAV,MAAAE,EAAmB,OAAOI,EAASE,GAFnCR,EAAU,QAAUW,GAAaL,EAASE,CAAO,CAIzD,EACA,CAACR,EAAU,OAAO,CACtB,EAEA,OAAM,mBAAgB,IAAM,CACpBD,EAAW,SACXM,EAAON,EAAW,QAASD,CAAK,CAExC,EAAG,CAAC,CAAC,EAEE,CACH,UAAAE,EAEA,MAAAC,EACA,MAAAE,EACA,OAAAC,EACA,OAAAC,CACJ,CACJ,CACJ,CAAC,ENhDM,IAAMO,GAASC,GAAc,CAChC,KAAM,SACN,aAAcC,GACd,MAAMC,EAAU,CACZ,GAAM,CAAE,MAAAC,CAAM,EAAID,EAEZ,CAACE,EAAUC,CAAW,EAAU,YAAS,IAAMF,EAAM,IAAM,CAACA,EAAM,YAAY,EAC9EG,EAAuB,UAAO,EAAI,EAClCC,EAASC,GAAUL,CAAK,EAE9B,OAAM,aAAU,IAAM,CACdA,EAAM,IAAM,CAACC,GACbC,EAAY,EAAI,CAExB,EAAG,CAACF,EAAM,EAAE,CAAC,EAEP,mBAAgB,IAAM,CAzBpC,IAAAM,EAAAC,EAAAC,EAAAC,EAAAC,EA0BY,IAAMC,GAAUL,EAAAF,GAAA,YAAAA,EAAQ,aAAR,YAAAE,EAAoB,QAEpC,GAAI,CAACK,GAAW,CAACV,EAAU,CACvBE,EAAe,QAAU,GAEzB,MACJ,CAEA,IAAIS,EAAY,GACVC,EAAeV,EAAe,SAAWH,EAAM,IAAMA,EAAM,OAEjE,OAAAW,EAAQ,MAAM,QAAU,IACxBJ,EAAAH,EAAO,SAAP,MAAAG,EAAA,KAAAH,EAAgBO,EAASX,GAErBA,EAAM,IACFa,GAAgB,CAACV,EAAe,YAChCK,EAAAJ,EAAO,QAAP,MAAAI,EAAA,KAAAJ,KAGJM,GAAAD,EAAAL,EAAO,QAAP,YAAAK,EAAA,KAAAL,KAAA,MAAAM,EAAkB,KAAK,IAAM,CACrB,CAACC,GAAWC,GAAaZ,EAAM,KAE/BA,EAAM,gBACNW,EAAQ,MAAM,QAAU,OACxBG,GAAU,EAAE,KAAK,IAAM,CACdF,GAAWV,EAAY,EAAK,CACrC,CAAC,GAEDS,EAAQ,MAAM,QAAU,OAEhC,GAGJR,EAAe,QAAU,GAElB,IAAM,CA7DzB,IAAAG,EA8DgBM,EAAY,IACZN,EAAAF,EAAO,SAAP,MAAAE,EAAA,KAAAF,EACJ,CACJ,EAAG,CAACJ,EAAM,GAAIC,EAAUD,EAAM,eAAgBA,EAAM,MAAM,CAAC,EAErD,aAAU,IACL,IAAM,CACTG,EAAe,QAAU,EAC7B,EACD,CAAC,CAAC,EAEEY,EAAAC,EAAA,GACAZ,GADA,CAEH,SAAAH,CACJ,EACJ,EACA,OAAOF,EAAU,CACb,GAAM,CAAE,GAAAkB,EAAI,MAAAjB,EAAO,KAAAkB,EAAM,SAAAjB,CAAS,EAAIF,EAEhCoB,EAAYC,GACd,CACI,GAAAH,CACJ,EACAC,EAAK,MAAM,CACf,EAEA,OACI,iBAACG,GAAA,CAAe,MAAOtB,GACnB,iBAACuB,GAAA,CAAU,IAAKrB,EAAU,SAAUF,EAAU,MAAOoB,EAAW,SAAUnB,EAAM,SAAU,CAC9F,CAER,CACJ,CAAC,EO5FD,IAAAuB,GAAuB,OAEhB,IAAMC,GAAN,cAAmCC,EAAmG,CACzI,YAAY,CAAE,MAAAC,CAAM,EAAqB,CAAC,EAAG,CACzC,MAAM,CAAE,MAAAA,CAAM,CAAC,EACf,KAAK,QAAQ,IAAI,cAAe,CAAC,CAAC,CACtC,CACA,IAAIC,EAAa,CATrB,IAAAC,EAUQ,OAAID,IAAQ,gBACDC,EAAA,KAAK,QAAQ,IAAID,CAAG,IAApB,YAAAC,EAAuB,OAAQ,OAGnC,KAAK,QAAQ,IAAID,CAAG,CAC/B,CACA,mBAAmBE,EAAkB,CAAC,EAAG,CACrC,GAAM,CAAE,IAAAC,EAAK,MAAAJ,EAAO,KAAAK,CAAK,EAAIF,EAE7B,GAAI,CAAAG,GAAQD,CAAI,EAEhB,OACI,iBAAC,QAAAE,EAAAC,EAAA,GAAUR,GAAV,CAAiB,2BAA0BK,EAAM,IAAKA,IAClDD,CACL,CAER,CACJ","names":["require_react_production","__commonJSMin","exports","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","ReactNoopUpdateQueue","assign","emptyObject","Component","props","context","updater","partialState","callback","ComponentDummy","PureComponent","pureComponentPrototype","isArrayImpl","noop","ReactSharedInternals","hasOwnProperty","ReactElement","type","key","refProp","cloneAndReplaceKey","oldElement","newKey","isValidElement","object","escape","escaperLookup","match","userProvidedKeyEscapeRegex","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","invokeCallback","c","nextNamePrefix","i","mapChildren","func","result","count","child","lazyInitializer","payload","ctor","moduleObject","reportGlobalError","event","Children","forEachFunc","forEachContext","n","size","fn","config","propName","childArray","defaultValue","childrenLength","render","compare","scope","prevTransition","currentTransition","returnValue","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","value","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","require_react_development","__commonJSMin","exports","module","defineDeprecationWarning","methodName","info","Component","getIteratorFn","maybeIterable","MAYBE_ITERATOR_SYMBOL","warnNoop","publicInstance","callerName","warningKey","didWarnStateUpdateForUnmountedComponent","props","context","updater","emptyObject","ReactNoopUpdateQueue","ComponentDummy","PureComponent","noop","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getComponentNameFromType","type","REACT_CLIENT_REFERENCE","REACT_FRAGMENT_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","x","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","config","hasOwnProperty","getter","defineKeyPropWarningGetter","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","key","owner","debugStack","debugTask","refProp","REACT_ELEMENT_TYPE","cloneAndReplaceKey","oldElement","newKey","validateChildKeys","node","isValidElement","object","escape","escaperLookup","match","getElementKey","element","index","resolveThenable","thenable","fulfilledValue","error","mapIntoArray","children","array","escapedPrefix","nameSoFar","callback","invokeCallback","childKey","isArrayImpl","userProvidedKeyEscapeRegex","c","i","didWarnAboutMaps","mapChildren","func","result","count","child","lazyInitializer","payload","ioInfo","moduleObject","_ioInfo","_ioInfo2","resolveDispatcher","releaseAsyncTransition","enqueueTask","task","enqueueTaskImpl","requireString","_err","didWarnAboutMessageChannel","channel","aggregateErrors","errors","popActScope","prevActQueue","prevActScopeDepth","actScopeDepth","recursivelyFlushAsyncActWork","returnValue","resolve","reject","queue","flushActQueue","isFlushing","continuation","assign","partialState","deprecatedAPIs","fnName","createTask","callStackForError","didWarnAboutOldJSXRuntime","unknownOwnerDebugStack","unknownOwnerDebugTask","reportGlobalError","event","didWarnNoAwaitAct","queueSeveralMicrotasks","size","forEachFunc","forEachContext","n","didAwaitActCall","error$0","_thrownError","returnValue$jscomp$0","fn","getCurrentStack","a","propName","defaultValue","childrenLength","childArray","_i","refObject","render","elementType","ownName","ctor","lazyType","compare","scope","prevTransition","currentTransition","onStartTransitionFinish","usable","action","initialState","permalink","deps","Context","formatterFn","initialValue","create","ref","passthrough","reducer","initialArg","init","subscribe","getSnapshot","getServerSnapshot","require_react","__commonJSMin","exports","module","src_exports","__export","Component","ConnectedOverlayScrollHandler","FilterMatchMode","FilterOperator","Icon","LocaleContext","LocaleProvider","Motion","MotionProvider","PassThroughContext","PassThroughProvider","PrimeReactContext","PrimeReactProvider","PrimeReactStyleSheet","StyleRegistry","ThemeContext","ThemeProvider","combinedRefs","createOptionalContext","createSafeContext","defaultComponentProps","defaultConfigProps","defaultIconProps","defaultLocaleProps","defaultMotionProps","defaultPTProps","defaultThemeProps","defaultUseMotionProps","defaultUseStyleProps","globalProps","isValidElement","styles","useBase","useComponent","useHeadless","useIcon","useLocale","useMotion","useMotionContext","usePassThrough","usePrimeReact","useStyle","useTheme","withComponent","withHeadless","withIcon","FilterMatchMode","FilterOperator","React","useAttrSelector","prefix","id","cn","args","classes","i","className","type","_classes","key","value","c","hasClass","element","className","addClass","fn","_className","_classNames","removeClass","element","className","fn","_className","_classNames","getHiddenElementDimensions","element","dimensions","visibility","display","rect","getParentNode","element","parent","isElement","element","toElement","target","createStyleMarkup","css","attributes","s","k","v","findSingle","element","selector","isElement","getParents","element","parents","parent","getParentNode","getScrollableParents","element","scrollableParents","parents","getParents","overflowRegex","overflowCheck","node","styleDeclaration","e","parent","scrollSelectors","selectors","selector","el","findSingle","isClient","isPrefersReducedMotion","nextFrame","resolve","setCSSProperty","element","property","value","priority","_a","EventBus","allHandlers","type","handler","handlers","evt","cn","args","classes","i","className","type","_classes","key","value","c","isFunction","mergeProps","props","merged","ps","__spreadValues","fn","isEmpty","value","isFunction","value","isNotEmpty","isEmpty","isObject","value","empty","resolve","obj","params","isFunction","isString","value","empty","toFlatCase","str","getKeyValue","key","fKeys","fKey","isObject","matchedKey","k","isArray","value","empty","isNumber","value","isNotEmpty","matchRegex","str","regex","match","minifyCSS","css","omit","obj","keys","isObject","copy","__spreadValues","key","toKebabCase","str","isString","toMs","value","React","React","React","React","useId","initialValue","idx","idState","setIdState","React","React","React","useMountEffect","effect","mounted","React","React","useProps","props1","props2","result","__spreadValues","key","value","React","React","useUnmountEffect","effect","React","useUpdateEffect","effect","dependencies","mounted","React","React","React","defaultLocaleProps","LocaleContext","LocaleProvider","inProps","attrs","useProps","defaultLocaleProps","value","m","React","useLocale","context","LocaleContext","React","defaultPTProps","PassThroughContext","PassThroughProvider","inProps","props","attrs","useProps","defaultPTProps","_a","value","rest","__objRest","pt","m","React","usePassThrough","context","PassThroughContext","ThemeService","EventBus","service_default","EXPR_REGEX","CALC_REGEX","VAR_REGEX","toTokenKey","str","isString","c","i","toValue","value","isObject","toNormalizePrefix","prefix","toNormalizeVariable","variable","isString","getVariableName","hasOddBraces","str","openBraces","closeBraces","getVariableValue","value","excludedKeyRegexes","fallback","val","matchRegex","EXPR_REGEX","_val","v","keys","_v","_r","toKebabCase","isNotEmpty","VAR_REGEX","CALC_REGEX","isNumber","setProperty","properties","key","value","isString","getRule","selector","evaluateDtExpressions","input","fn","fastParseArgs","str","args","i","current","quote","depth","c","arg","parseArg","q","num","indices","stack","start","end","inner","resolved","$dt","tokenPath","_a","theme","config_default","variable","dtwt","name","value","dt","args","fallback","type","VARIABLE","OPTIONS","prefix","transform","token","matchRegex","EXPR_REGEX","isEmpty","getVariableValue","css","strings","exprs","raw","acc","str","i","resolve","evaluateDtExpressions","toVariables_default","theme","options","VARIABLE","config_default","prefix","selector","excludedKeyRegex","tokens","variables","stack","node","path","key","raw","val","toValue","variablePath","matchRegex","toNormalizeVariable","toKebabCase","isObject","varName","getVariableName","varValue","getVariableValue","setProperty","token","declarations","getRule","themeUtils_default","value","rules","k","r","v","_a","rr","name","params","set","defaults","_e","_f","_g","_h","_i","_j","_k","preset","primitive_css","primitive_tokens","semantic_css","semantic_tokens","global_css","global_tokens","style","isNotEmpty","primitive","semantic","extend","colorScheme","sRest","__objRest","_b","eColorScheme","eRest","_c","dark","csRest","_d","eDark","ecsRest","prim_var","sRest_var","csRest_var","csDark_var","eRest_var","ecsRest_var","ecsDark_var","prim_css","prim_tokens","sRest_css","sRest_tokens","csRest_css","csRest_tokens","csDark_css","csDark_tokens","eRest_css","eRest_tokens","ecsRest_css","ecsRest_tokens","ecsDark_css","ecsDark_tokens","semantic_light_css","semantic_dark_css","global_light_css","global_dark_css","resolve","dt","p_css","p_tokens","p_style","_name","css","vRest","evRest","ecsDark","vRest_var","__spreadValues","vRest_css","vRest_tokens","light_variable_css","dark_variable_css","cPreset","dName","dPreset","cssLayer","props","common","_props","acc","_css","minifyCSS","id","preset_css","obj","parentKey","parentPath","computedFn","tokenPathMap","computedValue","EXPR_REGEX","_val","refPath","refToken","computed","CALC_REGEX","VAR_REGEX","isEmpty","traverse","currentKey","toTokenKey","currentPath","i","p","str","s","computedValues","cs","rest","selector1","selector2","type","mode","colorSchemeOption","_selector","layerOptions","newValues","__spreadProps","newValue","service_default","layerName","tokenPath","event","StyleSheet","attrs","key","css","isNotEmpty","meta","createStyleMarkup","__spreadProps","__spreadValues","style","stylesheet_default","React","defaultThemeProps","ThemeContext","ThemeProvider","inProps","props","useProps","defaultThemeProps","_a","stylesheet","preset","rest","__objRest","value","__spreadValues","S","m","React","useTheme","context","ThemeContext","React","defaultConfigProps","FilterMatchMode","PrimeReactContext","PrimeReactProvider","inProps","_a","_b","props","attrs","useProps","defaultConfigProps","inputVariant","setInputVariant","defaults","setDefaults","zIndex","setZIndex","value","LocaleProvider","PassThroughProvider","__spreadValues","ThemeProvider","m","React","usePrimeReact","config","PrimeReactContext","locale","LocaleContext","passthrough","PassThroughContext","theme","ThemeContext","combinedRefs","innerRef","forwardRef","ConnectedOverlayScrollHandler","element","listener","At","i","parent","React","createContext","defaultValue","fallback","Context","value","children","m","context","createSafeContext","message","createOptionalContext","StyleRegistry","name","isValidElement","obj","React","useBase","name","options","_a","_b","_c","$primereact","usePrimeReact","inProps","defaultProps","setup","id","useId","$attrSelector","useAttrSelector","ref","elementRef","base","computedDefaultProps","_d","globalDefaults","m","__spreadValues","props","attrs","useProps","common","__spreadProps","$computedSetup","instance","combinedRefs","React","Component","inProps","_b","_c","_e","_f","_a","pIf","style","className","as","asChild","instance","props","__objRest","AsComponent","renderAsChild","isFragment","_d","ref","children","inAttrs","restAttrs","attrs","__spreadValues","content","m","styles","classNames","isValidElement","__spreadProps","f","globalProps","defaultComponentProps","__spreadProps","__spreadValues","Q","React","React","useComponentPT","instance","$params","_a","_b","_c","id","name","props","attrs","$primereact","$attrSelector","_hook","hookName","selfHook","_usePT","_getPT","F","defaultHook","_useDefaultPT","_mergeProps","fn","args","c","w","_getPTValue","obj","key","params","searchInDefaultPT","searchOut","mergeSections","useMergeProps","global","_useGlobalPT","_getPTClassValue","self","_getPTSelf","__spreadProps","__spreadValues","datasets","_getPTDatasets","datasetPrefix","isExtended","s","g","value","a","C","pt","getValue","checkSameKey","computedValue","_key","_cKey","vfn","originalValue","$globalPT","m","$defaultPT","$attrsPT","result","slot","rest","currentObj","nestedKey","index","array","$attrsWithoutPT","acc","ptm","ptmi","_attrs","ptmo","useMountEffect","useUpdateEffect","useUnmountEffect","React","React","useStyle","theme","ThemeContext","_load","loadOptions","name","css","element","options","tt","s","root","styleElement","load","_a","_b","unload","value","key","defaultUseStyleProps","React","useComponentStyleHandler","styles","elementRef","theme","ThemeContext","load","useStyle","_load","css","options","H","handler","__spreadProps","__spreadValues","style","extendedStyle","enableThemeTransform","name","resolvedStyle","ar","computedStyle","S","s","Y","params","preset","selector","extendedCSS","props","_css","m","E","_style","_props","acc","k","v","cssArr","_name","useComponentStyle","instance","styles","$params","_a","props","$primereact","$attrSelector","elementRef","$style","useComponentStyleHandler","scopedStyleRef","_load","StyleRegistry","css","__spreadValues","$styleOptions","_loadThemeStyles","_loadStyles","_themeChangeListener","$isUnstyled","_b","_loadCoreStyles","name","_c","_d","S","primitive","semantic","global","style","layerOrder","_loadScopedThemeStyles","preset","scopedStyle","callback","N","cx","key","params","f","F","__spreadProps","sx","when","self","base","useComponent","name","options","defaultProps","__spreadValues","globalProps","baseInstance","useBase","ref","props","$params","ptx","useComponentPT","stx","useComponentStyle","instance","React","withComponent","name","defaultProps","styles","components","setup","render","Component","inProps","instance","useComponent","RenderedComponent","__spreadValues","prevProps","nextProps","i","key","value","useHeadless","name","options","useBase","withHeadless","name","defaultProps","setup","inProps","useHeadless","React","defaultIconProps","css","styles","props","__spreadValues","rr","React","useIcon","withHeadless","attrs","isAriaLabelEmpty","l","withIcon","name","defaultProps","styles","components","setup","render","withComponent","instance","icon","useIcon","computedSetup","m","__spreadValues","Icon","withIcon","styles","defaultIconProps","instance","id","props","ptmi","pti","cx","sx","rootProps","w","Component","css","styles","style","withComponent","name","defaultProps","styles","__spreadProps","__spreadValues","components","setup","render","React","MotionProvider","useMotionContext","createOptionalContext","defaultUseMotionProps","defaultMotionProps","__spreadProps","__spreadValues","defaultUseMotionProps","ANIMATION","TRANSITION","shouldSkipMotion","options","isPrefersReducedMotion","mergeOptions","inOptions","defaultOptions","__spreadValues","acc","key","value","_a","resolveClassNames","name","enterClass","leaveClass","getMotionHooks","getMotionMetadata","element","expectedType","styles","getDelaysAndDurations","type","delays","durations","toMs","transitionDelays","transitionDurations","animationDelays","animationDurations","transitionTimeout","d","i","animationTimeout","timeout","count","resolveDuration","duration","phase","setAutoDimensionVariables","autoHeight","autoWidth","dimensions","getHiddenElementDimensions","setCSSProperty","DEFAULT_MOTION_OPTIONS","createMotion","opts","skipMotion","classNames","cancelCurrent","hooks","init","newOpts","run","__async","onBefore","onStart","onAfter","onCancelled","event","fromClass","activeClass","toClass","addClass","removeClass","resolve","cleanup","onDone","whenEnd","instance","newElement","newOptions","endId","explicitTimeout","id","resolveIfNotStale","endEvent","ended","end","onEnd","React","useMotion","withHeadless","defaultUseMotionProps","props","elementRef","motionRef","enter","_a","leave","cancel","update","element","motionProps","options","__spreadProps","__spreadValues","tt","Motion","withComponent","defaultMotionProps","instance","props","rendered","setRendered","isInitialMount","motion","useMotion","_a","_b","_c","_d","_e","element","cancelled","shouldAppear","Qt","__spreadProps","__spreadValues","id","ptmi","rootProps","w","MotionProvider","Component","React","PrimeReactStyleSheet","Nt","attrs","key","_a","meta","css","name","l","__spreadProps","__spreadValues"]}
|