{"version":3,"sources":["../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@fluentui/react/node_modules/tslib/tslib.es6.js","../node_modules/classnames/index.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../../src/components/Persona/Persona.types.ts","../node_modules/prop-types/index.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../../src/motion/AnimationStyles.ts","../../src/classNames/AnimationClassNames.ts","../../src/effects/FluentDepths.ts","../../src/utilities/buildClassMap.ts","../../src/colors/DefaultPalette.ts","../../src/effects/DefaultEffects.ts","../../src/fonts/FluentFonts.ts","../../src/styles/CommonStyles.ts","../../src/styles/zIndexes.ts","../../src/styles/getFocusStyle.ts","../../src/styles/hiddenContentStyle.ts","../../src/styles/getGlobalClassNames.ts","../node_modules/@fluentui/style-utilities/node_modules/tslib/tslib.es6.js","../../src/fonts/createFontStyles.ts","../../src/fonts/DefaultFontStyles.ts","../../src/utilities/makeSemanticColors.ts","../../src/spacing/DefaultSpacing.ts","../../src/createTheme.ts","../../src/mergeThemes.ts","../../src/styles/theme.ts","../../src/styles/GeneralStyles.ts","../../src/styles/getPlaceholderStyles.ts","../../src/utilities/icons.ts","../../src/version.ts","../../src/index.ts","../node_modules/ramda/es/internal/_curry2.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/regenerator/index.js","../../src/utilities/positioning/positioning.types.ts","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/rc-util/es/warning.js","../../src/keyframes.ts","../../src/fontFace.ts","../../src/language.ts","../../src/localStorage.ts","../../src/merge.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@ant-design/icons/es/utils.js","../node_modules/@ant-design/icons/es/components/IconBase.js","../node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","../node_modules/@ant-design/icons/es/components/AntdIcon.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/rc-util/es/raf.js","../node_modules/antd/es/locale-provider/index.js","../node_modules/antd/es/notification/index.js","../node_modules/antd/es/notification/hooks/useNotification.js","../node_modules/antd/es/config-provider/index.js","../node_modules/ramda/es/internal/_curry1.js","../../modules/createNameContext.js","../../modules/HistoryContext.js","../../modules/RouterContext.js","../../modules/Router.js","../../modules/MemoryRouter.js","../../modules/Lifecycle.js","../../modules/generatePath.js","../../modules/Redirect.js","../../modules/matchPath.js","../../modules/Route.js","../../modules/StaticRouter.js","../../modules/Switch.js","../../modules/hooks.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/rc-util/es/KeyCode.js","../../modules/BrowserRouter.js","../../modules/HashRouter.js","../../modules/utils/locationUtils.js","../../modules/Link.js","../../modules/NavLink.js","../node_modules/antd/es/_util/devWarning.js","../node_modules/antd/es/_util/reactNode.js","../node_modules/@fluentui/utilities/node_modules/tslib/tslib.es6.js","../../src/dom/getWindow.ts","../../src/common/DirectionalHint.ts","../../src/components/Image/Image.types.ts","../node_modules/tslib/tslib.es6.js","../node_modules/ramda/es/internal/_isPlaceholder.js","../../src/properties.ts","../node_modules/ramda/es/internal/_curry3.js","../node_modules/rc-util/es/ref.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/rc-util/es/omit.js","../node_modules/react-dom/index.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/antd/es/config-provider/SizeContext.js","../node_modules/ramda/es/internal/_has.js","../node_modules/antd/es/form/context.js","../node_modules/moment/moment.js","../node_modules/rc-motion/es/util/motion.js","../node_modules/rc-motion/es/interface.js","../node_modules/rc-motion/es/hooks/useState.js","../node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","../node_modules/rc-motion/es/hooks/useStepQueue.js","../node_modules/rc-motion/es/hooks/useNextFrame.js","../node_modules/rc-motion/es/hooks/useStatus.js","../node_modules/rc-motion/es/hooks/useDomMotionEvents.js","../node_modules/rc-motion/es/DomWrapper.js","../node_modules/rc-motion/es/CSSMotion.js","../node_modules/rc-motion/es/util/diff.js","../node_modules/rc-motion/es/CSSMotionList.js","../node_modules/rc-motion/es/index.js","../node_modules/rc-field-form/es/utils/typeUtil.js","../node_modules/rc-util/es/utils/get.js","../node_modules/rc-util/es/utils/set.js","../node_modules/rc-field-form/es/utils/valueUtil.js","../node_modules/rc-field-form/es/utils/messages.js","../node_modules/rc-field-form/es/utils/validateUtil.js","../node_modules/rc-field-form/es/Field.js","../node_modules/rc-field-form/es/List.js","../node_modules/rc-field-form/es/utils/NameMap.js","../node_modules/rc-field-form/es/useForm.js","../node_modules/rc-field-form/es/utils/asyncUtil.js","../node_modules/rc-field-form/es/FormContext.js","../node_modules/rc-field-form/es/Form.js","../node_modules/rc-field-form/es/index.js","../node_modules/antd/es/_util/type.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/rc-field-form/es/FieldContext.js","../node_modules/antd/es/input/Input.js","../../src/KeyCodes.ts","../../src/utilities/keytips/KeytipConstants.ts","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/interopRequireWildcard.js","../node_modules/rc-util/es/hooks/useMergedState.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/rc-util/es/Dom/canUseDom.js","../node_modules/antd/es/config-provider/renderEmpty.js","../node_modules/antd/es/config-provider/context.js","../../src/dom/getDocument.ts","../node_modules/@babel/runtime/helpers/objectSpread2.js","../../src/Stylesheet.ts","../node_modules/@fluentui/foundation-legacy/node_modules/tslib/tslib.es6.js","../../src/memoize.ts","../../src/components/ContextualMenu/ContextualMenu.types.ts","../node_modules/resolve-pathname/esm/resolve-pathname.js","../node_modules/value-equal/esm/value-equal.js","../node_modules/history/esm/history.js","../node_modules/rc-util/es/Children/toArray.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/tiny-invariant/dist/tiny-invariant.esm.js","../../src/components/FocusZone/FocusZone.types.ts","../node_modules/antd/es/_util/motion.js","../node_modules/ramda/es/internal/_arity.js","../node_modules/rc-select/es/utils/commonUtil.js","../../src/customizations/Customizations.ts","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/antd/es/button/index.js","../node_modules/antd/es/calendar/locale/en_US.js","../node_modules/antd/es/locale/default.js","../../src/components/Spinner/Spinner.types.ts","../node_modules/@ant-design/icons/lib/components/AntdIcon.js","../node_modules/antd/es/locale-provider/default.js","../node_modules/antd/es/locale-provider/LocaleReceiver.js","../node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","../node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","../node_modules/downloadjs/download.js","../node_modules/ramda/es/internal/_isArray.js","../../src/StyleOptionsState.ts","../node_modules/rc-overflow/es/Item.js","../node_modules/rc-overflow/es/RawItem.js","../node_modules/rc-overflow/es/Overflow.js","../node_modules/rc-overflow/es/hooks/useBatchFrameState.js","../node_modules/rc-overflow/es/index.js","../../src/components/Icon/Icon.styles.ts","../node_modules/antd/es/form/util.js","../../source/constants.js","../../source/ParseError.js","../../../source/tools/semver-compare.js","../../source/metadata.js","../../../../source/helpers/extension/createExtensionPattern.js","../../../source/helpers/isViablePhoneNumber.js","../../../../source/helpers/extension/extractExtension.js","../../../source/helpers/parseDigits.js","../../source/parseIncompletePhoneNumber.js","../../../source/helpers/checkNumberLength.js","../../../source/helpers/mergeArrays.js","../../source/isPossibleNumber_.js","../../../source/helpers/matchesEntirely.js","../../../source/helpers/getNumberType.js","../../../source/helpers/applyInternationalSeparatorStyle.js","../../../source/helpers/formatNationalNumberUsingFormat.js","../../../source/helpers/getIddPrefix.js","../../source/format_.js","../../../source/helpers/RFC3966.js","../../source/PhoneNumber.js","../../source/validate_.js","../../../source/helpers/stripIddPrefix.js","../../../source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","../../../source/helpers/extractNationalNumber.js","../../../source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","../../../source/helpers/extractCountryCallingCode.js","../../../source/helpers/getCountryByCallingCode.js","../../source/parse_.js","../../source/parsePhoneNumber_.js","../../source/parsePhoneNumber.js","../../source/parsePhoneNumberFromString_.js","../../source/parsePhoneNumberFromString.js","../../source/isValidPhoneNumber.js","../../source/getCountries.js","../../source/PropTypes.js","../../source/helpers.js","../../source/closeBraces.js","../../source/format.js","../../source/templateFormatter.js","../../source/dom.js","../../source/inputControl.js","../../source/parse.js","../../source/edit.js","../../../source/react/Input.js","../../source/AsYouTypeState.js","../../source/AsYouTypeFormatter.util.js","../../source/AsYouTypeFormatter.complete.js","../../source/AsYouTypeFormatter.PatternMatcher.js","../../source/AsYouTypeFormatter.js","../../source/AsYouTypeParser.js","../../source/AsYouType.js","../../../source/helpers/inputValuePrefix.js","../../source/InputSmart.js","../../source/InputBasic.js","../../source/formatIncompletePhoneNumber.js","../../source/unicode.js","../../source/CountrySelect.js","../../source/Flag.js","../../source/InternationalIcon.js","../../../source/helpers/countries.js","../../source/CountryIcon.js","../../../source/helpers/getInternationalPhoneNumberPrefix.js","../../../source/helpers/phoneInputHelpers.js","../../source/PhoneInputWithCountry.js","../../../source/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","../../source/PhoneInputWithCountryDefault.js","../node_modules/react-phone-number-input/min/index.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/antd/lib/config-provider/index.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/lodash/_root.js","../node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","../node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","../node_modules/rc-menu/es/context/MenuContext.js","../node_modules/rc-menu/es/hooks/useActive.js","../node_modules/rc-menu/es/utils/warnUtil.js","../node_modules/rc-menu/es/Icon.js","../node_modules/rc-menu/es/hooks/useDirectionStyle.js","../node_modules/rc-menu/es/context/PathContext.js","../node_modules/rc-menu/es/context/IdContext.js","../node_modules/rc-menu/es/MenuItem.js","../node_modules/rc-menu/es/utils/nodeUtil.js","../node_modules/rc-menu/es/hooks/useMemoCallback.js","../node_modules/rc-menu/es/SubMenu/SubMenuList.js","../node_modules/rc-menu/es/placements.js","../node_modules/rc-menu/es/utils/motionUtil.js","../node_modules/rc-menu/es/SubMenu/PopupTrigger.js","../node_modules/rc-menu/es/SubMenu/InlineSubMenuList.js","../node_modules/rc-menu/es/SubMenu/index.js","../node_modules/rc-util/es/Dom/focus.js","../node_modules/rc-menu/es/hooks/useAccessibility.js","../node_modules/rc-menu/es/hooks/useUUID.js","../node_modules/rc-menu/es/hooks/useKeyRecords.js","../node_modules/rc-menu/es/utils/timeUtil.js","../node_modules/rc-menu/es/Menu.js","../node_modules/rc-menu/es/MenuItemGroup.js","../node_modules/rc-menu/es/Divider.js","../node_modules/rc-menu/es/index.js","../../src/getVendorSettings.ts","../../src/transforms/kebabRules.ts","../../src/transforms/prefixRules.ts","../../src/transforms/provideUnits.ts","../../src/transforms/rtlifyRules.ts","../../src/styleToClassName.ts","../../src/tokenizeWithParentheses.ts","../node_modules/antd/es/modal/locale.js","../../src/EventGroup.ts","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-resize-observer/es/index.js","../node_modules/react-is/index.js","../node_modules/rc-util/es/hooks/useMemo.js","../node_modules/rc-util/es/pickAttrs.js","../node_modules/rc-trigger/es/utils/alignUtil.js","../node_modules/rc-trigger/es/utils/legacyUtil.js","../node_modules/rc-trigger/es/Popup/Mask.js","../../../src/propertyUtils.js","../../../src/utils.js","../../../src/getOffsetParent.js","../../../src/isAncestorFixed.js","../../../src/getVisibleRectForElement.js","../../../src/getRegion.js","../../../src/getAlignOffset.js","../../../src/getElFuturePos.js","../../../src/align/align.js","../../../src/adjustForViewport.js","../../../src/align/alignElement.js","../node_modules/rc-align/es/util.js","../node_modules/rc-align/es/Align.js","../node_modules/rc-align/es/hooks/useBuffer.js","../../../src/align/alignPoint.js","../node_modules/rc-align/es/index.js","../node_modules/rc-trigger/es/Popup/useVisibleStatus.js","../node_modules/rc-trigger/es/Popup/PopupInner.js","../node_modules/rc-trigger/es/Popup/useStretchStyle.js","../node_modules/rc-trigger/es/Popup/MobilePopupInner.js","../node_modules/rc-trigger/es/Popup/index.js","../node_modules/rc-trigger/es/context.js","../node_modules/rc-trigger/es/index.js","../node_modules/rc-util/es/Dom/findDOMNode.js","../../src/customizations/CustomizerContext.ts","../node_modules/@fluentui/merge-styles/node_modules/tslib/tslib.es6.js","../node_modules/rc-util/es/Dom/contains.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/ramda/es/internal/_xfBase.js","../node_modules/rc-util/es/Dom/addEventListener.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/rc-select/es/TransBtn.js","../node_modules/antd/es/layout/layout.js","../node_modules/antd/es/input/utils.js","../node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../node_modules/@ant-design/icons/es/icons/CloseOutlined.js","../node_modules/lodash/_getNative.js","../node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","../node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/rc-util/es/isMobile.js","../node_modules/ramda/es/internal/_isTransformer.js","../node_modules/ramda/es/internal/_dispatchable.js","../node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/es/icons/ExclamationCircleFilled.js","../node_modules/rc-notification/es/Notification.js","../node_modules/rc-notification/es/index.js","../node_modules/ramda/es/internal/_isString.js","../node_modules/ramda/es/curryN.js","../node_modules/ramda/es/internal/_curryN.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/ramda/es/internal/_checkForMethod.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@ant-design/icons/es/components/Context.js","../node_modules/rc-notification/es/useNotification.js","../node_modules/ramda/es/internal/_arrayFromIterator.js","../node_modules/ramda/es/internal/_objectIs.js","../node_modules/ramda/es/internal/_equals.js","../node_modules/ramda/es/internal/_functionName.js","../node_modules/ramda/es/equals.js","../node_modules/ramda/es/internal/_isArrayLike.js","../node_modules/ramda/es/internal/_xwrap.js","../node_modules/ramda/es/bind.js","../node_modules/ramda/es/internal/_reduce.js","../node_modules/@ant-design/icons-svg/es/asn/BarsOutlined.js","../node_modules/@ant-design/icons/es/icons/BarsOutlined.js","../node_modules/antd/es/_util/isNumeric.js","../node_modules/antd/es/layout/Sider.js","../node_modules/antd/es/_util/unreachableException.js","../node_modules/antd/es/button/button-group.js","../node_modules/antd/es/button/LoadingIcon.js","../node_modules/antd/es/button/button.js","../node_modules/ramda/es/paths.js","../node_modules/ramda/es/path.js","../../src/sessionStorage.ts","../node_modules/antd/es/empty/empty.js","../node_modules/antd/es/empty/simple.js","../node_modules/antd/es/empty/index.js","../node_modules/webpack/buildin/global.js","../node_modules/@babel/runtime/helpers/classCallCheck.js","../node_modules/@babel/runtime/helpers/createClass.js","../../src/useConst.ts","../node_modules/antd/es/_util/responsiveObserve.js","../node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","../node_modules/@ant-design/icons/es/icons/RightOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/ExclamationCircleOutlined.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../../src/concatStyleSets.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/ramda/es/type.js","../node_modules/ramda/es/keys.js","../node_modules/ramda/es/internal/_isObject.js","../node_modules/ramda/es/internal/_isInteger.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/antd/es/locale-provider/context.js","../../src/utilities.ts","../node_modules/antd/es/grid/col.js","../node_modules/ramda/es/internal/_includes.js","../node_modules/ramda/es/internal/_indexOf.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/query-string/index.js","../node_modules/rc-util/es/getScrollBarSize.js","../node_modules/antd/es/tooltip/placements.js","../node_modules/antd/es/tooltip/index.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/isObjectLike.js","../../src/components/Button/BaseButton.styles.ts","../node_modules/antd/es/_util/hooks/useForceUpdate.js","../../src/components/Icon/ImageIcon.tsx","../../src/components/Button/SplitButton/SplitButton.classNames.ts","../../src/components/Button/BaseButton.tsx","../../src/warn/warn.ts","../node_modules/shallowequal/index.js","../node_modules/rc-util/es/Dom/isVisible.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_getMapData.js","../node_modules/rc-picker/es/locale/en_US.js","../node_modules/antd/es/date-picker/locale/en_US.js","../node_modules/ramda/es/internal/_concat.js","../node_modules/lodash/isEqual.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/antd/es/_util/styleChecker.js","../node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","../node_modules/@ant-design/icons/es/icons/EllipsisOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CheckCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/CheckCircleOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/InfoCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/InfoCircleOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/CloseCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/CloseCircleOutlined.js","../node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","../node_modules/@ant-design/icons/es/icons/DownOutlined.js","../../src/dom/setSSR.ts","../../src/utilities/ThemeProvider/ThemeContext.ts","../../src/extractStyleParts.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/ramda/es/internal/_isArguments.js","../node_modules/ramda/es/always.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/ramda/es/reduce.js","../node_modules/redux/es/redux.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../node_modules/rc-util/es/Portal.js","../node_modules/rc-util/es/Dom/dynamicCSS.js","../node_modules/antd/es/time-picker/locale/en_US.js","../node_modules/rc-tooltip/es/placements.js","../../src/findElementRecursive.ts","../node_modules/antd/es/grid/RowContext.js","../node_modules/rc-notification/es/Notice.js","../node_modules/antd/es/input/ClearableLabeledInput.js","../../src/utilities/ThemeProvider/useTheme.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/ramda/es/internal/_xmap.js","../node_modules/ramda/es/map.js","../node_modules/ramda/es/internal/_map.js","../../src/components/Image/Image.base.tsx","../../src/components/Image/Image.styles.ts","../../src/components/Image/Image.tsx","../../src/getParent.ts","../../src/getVirtualParent.ts","../../src/isVirtualElement.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits.js","../../src/setVersion.ts","../node_modules/@ant-design/icons-svg/es/asn/SearchOutlined.js","../node_modules/@ant-design/icons/es/icons/SearchOutlined.js","../../src/setFocusVisibility.ts","../node_modules/ramda/es/isNil.js","../../src/useOnEvent.ts","../node_modules/object-assign/index.js","../node_modules/@babel/runtime/helpers/inherits.js","../node_modules/@babel/runtime/helpers/createSuper.js","../node_modules/@ctrl/tinycolor/dist/module/util.js","../node_modules/@ctrl/tinycolor/dist/module/conversion.js","../node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","../node_modules/@ctrl/tinycolor/dist/module/format-input.js","../node_modules/@ant-design/colors/dist/index.esm.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/isArray.js","../node_modules/antd/lib/locale/default.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/webpack/buildin/module.js","../node_modules/lodash/_Map.js","../node_modules/@ant-design/icons/lib/components/Context.js","../node_modules/@ant-design/icons/lib/utils.js","../node_modules/@ant-design/icons-svg/es/asn/LeftOutlined.js","../node_modules/@ant-design/icons/es/icons/LeftOutlined.js","../node_modules/ramda/es/internal/_includesWith.js","../node_modules/antd/es/_util/raf.js","../node_modules/antd/es/form/hooks/useForm.js","../node_modules/scroll-into-view-if-needed/es/index.js","../node_modules/oidc-client/lib/oidc-client.min.js","../node_modules/path-to-regexp/index.js","../../src/rtl.ts","../../src/components/Icon/FontIcon.tsx","../../src/warn/warnDeprecations.ts","../../src/getId.ts","../../src/setPortalAttribute.ts","../../src/utilities/decorators/withResponsiveMode.tsx","../../src/hoistStatics.ts","../../src/Async.ts","../../src/components/Tooltip/TooltipHost.types.ts","../../src/components/Stack/StackItem/StackItem.styles.ts","../../src/components/Stack/StackItem/StackItem.tsx","../node_modules/antd/es/grid/row.js","../node_modules/antd/es/_util/hooks/useFlexGapSupport.js","../node_modules/ramda/es/curry.js","../node_modules/ramda/es/propEq.js","../node_modules/ramda/es/is.js","../../src/WindowProvider.tsx","../node_modules/ramda/es/internal/_xfindIndex.js","../node_modules/ramda/es/findIndex.js","../node_modules/antd/lib/config-provider/SizeContext.js","../node_modules/lodash/isObject.js","../../src/components/Button/SplitButton/SplitButton.styles.ts","../node_modules/antd/lib/message/index.js","../node_modules/@ant-design/icons-svg/es/asn/CheckOutlined.js","../node_modules/@ant-design/icons/es/icons/CheckOutlined.js","../node_modules/ramda/es/slice.js","../node_modules/antd/es/_util/wave.js","../node_modules/antd/es/form/Form.js","../node_modules/antd/lib/form/Form.js","../node_modules/antd/lib/locale-provider/LocaleReceiver.js","../node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","../node_modules/@ant-design/icons/es/icons/EyeOutlined.js","../node_modules/ramda/es/internal/_reduced.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/ramda/es/nth.js","../node_modules/ramda/es/lens.js","../node_modules/lodash/eq.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/isLength.js","../node_modules/rc-pagination/es/locale/en_US.js","../node_modules/antd/es/_util/colors.js","../../src/components/Button/BaseButton.classNames.ts","../node_modules/antd/es/input/TextArea.js","../node_modules/rc-checkbox/es/index.js","../node_modules/antd/es/_util/getDataOrAriaProps.js","../node_modules/rc-util/lib/warning.js","../node_modules/antd/lib/date-picker/locale/en_US.js","../node_modules/antd/lib/time-picker/locale/en_US.js","../node_modules/antd/lib/locale-provider/context.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../node_modules/@ant-design/icons/lib/components/IconBase.js","../node_modules/rc-notification/lib/useNotification.js","../node_modules/rc-dialog/es/Dialog/Mask.js","../node_modules/rc-dialog/es/util.js","../node_modules/rc-dialog/es/Dialog/Content/MemoChildren.js","../node_modules/rc-dialog/es/Dialog/Content/index.js","../node_modules/rc-dialog/es/Dialog/index.js","../node_modules/rc-dialog/es/DialogWrap.js","../node_modules/rc-dialog/es/index.js","../node_modules/rc-util/es/setStyle.js","../node_modules/rc-util/es/switchScrollingEffect.js","../node_modules/rc-util/es/Dom/scrollLocker.js","../node_modules/rc-util/es/PortalWrapper.js","../../src/components/Icon/Icon.types.ts","../../src/components/Icon/Icon.base.tsx","../../src/components/Icon/Icon.tsx","../node_modules/rc-tooltip/es/Content.js","../node_modules/rc-tooltip/es/Tooltip.js","../node_modules/rc-tooltip/es/index.js","../node_modules/rc-dropdown/es/placements.js","../node_modules/rc-dropdown/es/Dropdown.js","../node_modules/rc-dropdown/es/index.js","../node_modules/rc-textarea/es/calculateNodeHeight.js","../node_modules/rc-textarea/es/ResizableTextArea.js","../node_modules/rc-textarea/es/index.js","../../src/appendFunction.ts","../../src/extendComponent.ts","../../src/hoist.ts","../../src/utilities/decorators/BaseDecorator.ts","../node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","../node_modules/@ant-design/icons/es/icons/InfoCircleFilled.js","../../src/customizations/useCustomizationSettings.ts","../../src/GlobalSettings.ts","../node_modules/redux-thunk/es/index.js","../node_modules/ramda/es/uniq.js","../node_modules/braintree-web-drop-in/dist/browser/dropin.js","../node_modules/ramda/es/over.js","../node_modules/redux-devtools-extension/index.js","../node_modules/mini-create-react-context/dist/esm/index.js","../../src/slots.tsx","../../src/array.ts","../../src/object.ts","../../src/warn/warnConditionallyRequiredProps.ts","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/toArray.js","../../src/components/Pivot/PivotItem.tsx","../../../src/util.js","../../../src/rule/required.js","../../../src/rule/type.js","../../../src/rule/index.js","../../../src/rule/whitespace.js","../../../src/rule/range.js","../../../src/rule/enum.js","../../../src/rule/pattern.js","../../../src/validator/type.js","../../../src/validator/index.js","../../../src/validator/string.js","../../../src/validator/method.js","../../../src/validator/number.js","../../../src/validator/boolean.js","../../../src/validator/regexp.js","../../../src/validator/integer.js","../../../src/validator/float.js","../../../src/validator/array.js","../../../src/validator/object.js","../../../src/validator/enum.js","../../../src/validator/pattern.js","../../../src/validator/date.js","../../../src/validator/required.js","../../../src/validator/any.js","../../../src/messages.js","../../../src/index.js","../node_modules/rc-select/es/interface/generator.js","../../src/fabric-icons.ts","../../src/fabric-icons-0.ts","../../src/fabric-icons-1.ts","../../src/fabric-icons-2.ts","../../src/fabric-icons-3.ts","../../src/fabric-icons-4.ts","../../src/fabric-icons-5.ts","../../src/fabric-icons-6.ts","../../src/fabric-icons-7.ts","../../src/fabric-icons-8.ts","../../src/fabric-icons-9.ts","../../src/fabric-icons-10.ts","../../src/fabric-icons-11.ts","../../src/fabric-icons-12.ts","../../src/fabric-icons-13.ts","../../src/fabric-icons-14.ts","../../src/fabric-icons-15.ts","../../src/fabric-icons-16.ts","../../src/fabric-icons-17.ts","../../src/iconAliases.ts","../node_modules/rc-virtual-list/es/Filler.js","../node_modules/rc-virtual-list/es/ScrollBar.js","../node_modules/rc-virtual-list/es/Item.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/es/hooks/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useScrollTo.js","../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","../node_modules/rc-virtual-list/es/utils/isFirefox.js","../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","../node_modules/rc-virtual-list/es/List.js","../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/index.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/generate.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useCacheOptions.js","../node_modules/rc-select/es/hooks/useCacheDisplayValue.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/@babel/runtime/helpers/esm/objectSpread.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/ramda/es/internal/_Set.js","../node_modules/ramda/es/uniqBy.js","../node_modules/ramda/es/internal/_identity.js","../node_modules/ramda/es/identity.js","../../src/components/Button/ActionButton/ActionButton.styles.ts","../../src/components/Button/ActionButton/ActionButton.tsx","../node_modules/antd/es/message/index.js","../node_modules/antd/es/message/hooks/useMessage.js","../../src/mergeStyles.ts","../node_modules/ramda/es/remove.js","../../src/components/Text/Text.ts","../../src/components/Text/Text.view.tsx","../../src/components/Text/Text.styles.ts","../node_modules/antd/lib/_util/devWarning.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/rc-util/lib/omit.js","../node_modules/process/browser.js","../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../node_modules/@ant-design/icons/LoadingOutlined.js","../node_modules/@ant-design/icons/CloseCircleFilled.js","../node_modules/rc-util/lib/Dom/dynamicCSS.js","../node_modules/@ant-design/icons/CheckCircleFilled.js","../node_modules/@ant-design/icons/CloseOutlined.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/createForOfIteratorHelper.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/toConsumableArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/strict-uri-encode/index.js","../node_modules/decode-uri-component/index.js","../node_modules/split-on-first/index.js","../node_modules/filter-obj/index.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/path-to-regexp/node_modules/isarray/index.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_WeakMap.js","../node_modules/rc-util/lib/hooks/useMemo.js","../node_modules/antd/lib/locale-provider/index.js","../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../node_modules/antd/lib/modal/locale.js","../node_modules/rc-pagination/lib/locale/en_US.js","../node_modules/rc-picker/lib/locale/en_US.js","../node_modules/antd/lib/calendar/locale/en_US.js","../node_modules/antd/lib/locale-provider/default.js","../node_modules/antd/lib/config-provider/context.js","../node_modules/antd/lib/config-provider/renderEmpty.js","../node_modules/antd/lib/empty/index.js","../node_modules/antd/lib/empty/empty.js","../node_modules/antd/lib/empty/simple.js","../node_modules/@ant-design/icons/lib/icons/LoadingOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/LoadingOutlined.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/rc-util/lib/Dom/canUseDom.js","../node_modules/@ant-design/icons/lib/components/twoTonePrimaryColor.js","../node_modules/@ant-design/icons/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/ExclamationCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/CloseCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/CloseCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/CheckCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/CheckCircleFilled.js","../node_modules/@ant-design/icons/InfoCircleFilled.js","../node_modules/@ant-design/icons/lib/icons/InfoCircleFilled.js","../node_modules/@ant-design/icons-svg/lib/asn/InfoCircleFilled.js","../node_modules/antd/lib/message/hooks/useMessage.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/rc-notification/lib/Notice.js","../node_modules/antd/lib/notification/index.js","../node_modules/@ant-design/icons/lib/icons/CloseOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CloseOutlined.js","../node_modules/@ant-design/icons/CheckCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/CheckCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CheckCircleOutlined.js","../node_modules/@ant-design/icons/CloseCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/CloseCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/CloseCircleOutlined.js","../node_modules/@ant-design/icons/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined.js","../node_modules/@ant-design/icons/InfoCircleOutlined.js","../node_modules/@ant-design/icons/lib/icons/InfoCircleOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/InfoCircleOutlined.js","../node_modules/antd/lib/notification/hooks/useNotification.js","../node_modules/antd/lib/form/context.js","../node_modules/antd/lib/form/hooks/useForm.js","../node_modules/antd/lib/form/util.js","../node_modules/ramda/es/adjust.js","../node_modules/ramda/es/update.js","../../src/concatStyleSetsWithProps.ts","../../src/mergeStyleSets.ts","../../src/css.ts","../../src/initializeComponentRef.ts","../../src/dom/on.ts","../../src/useAsync.ts","../node_modules/@ant-design/icons-svg/es/asn/WarningFilled.js","../node_modules/@ant-design/icons/es/icons/WarningFilled.js","../node_modules/antd/es/result/noFound.js","../node_modules/antd/es/result/serverError.js","../node_modules/antd/es/result/unauthorized.js","../node_modules/antd/es/result/index.js","../../src/components/Spinner/Spinner.base.tsx","../../src/components/Spinner/Spinner.styles.tsx","../../src/components/Spinner/Spinner.tsx","../node_modules/react-i18next/dist/es/utils.js","../node_modules/react-i18next/dist/es/useTranslation.js","../../src/focus.ts","../../src/elementContainsAttribute.ts","../node_modules/@fluentui/react-hooks/node_modules/tslib/tslib.es6.js","../../src/useMergedRefs.ts","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/utils/warningPropsUtil.js","../node_modules/rc-select/es/Select.js","../node_modules/rc-select/es/index.js","../node_modules/antd/es/select/index.js","../node_modules/antd/es/select/utils/iconUtil.js","../node_modules/antd/es/input/Group.js","../node_modules/antd/es/input/Search.js","../node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","../node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","../node_modules/antd/es/input/Password.js","../node_modules/antd/es/input/index.js","../node_modules/antd/es/radio/context.js","../node_modules/antd/es/radio/radio.js","../node_modules/antd/es/radio/group.js","../node_modules/antd/es/radio/radioButton.js","../node_modules/antd/es/radio/index.js","../node_modules/antd/es/menu/MenuContext.js","../node_modules/antd/es/menu/SubMenu.js","../node_modules/antd/es/menu/MenuItem.js","../node_modules/antd/es/menu/index.js","../node_modules/antd/es/dropdown/dropdown-button.js","../node_modules/antd/es/dropdown/dropdown.js","../node_modules/antd/es/dropdown/index.js","../../src/utilities/keytips/KeytipManager.ts","../node_modules/antd/es/row/index.js","../node_modules/antd/es/col/index.js","../../src/Rectangle.ts","../../src/utilities/positioning/positioning.ts","../../src/components/Callout/CalloutContent.base.tsx","../../src/components/Callout/CalloutContent.styles.ts","../../src/components/Callout/CalloutContent.tsx","../../src/components/Callout/Callout.tsx","../node_modules/ramda/es/omit.js","../node_modules/ramda/es/memoizeWith.js","../node_modules/ramda/es/match.js","../node_modules/ramda/es/replace.js","../node_modules/ramda/es/prop.js","../node_modules/ramda/es/set.js","../node_modules/ramda/es/append.js","../node_modules/ramda/es/subtract.js","../../src/styled.tsx","../../src/classNamesFunction.ts","../../src/createComponent.tsx","../../src/createMergedRef.ts","../../src/elementContains.ts","../../src/dom/raiseClick.ts","../../src/scroll.ts","../../src/portalContainsElement.ts","../../src/componentAs/composeComponentAs.tsx","../../src/usePrevious.ts","../../src/getPropsWithDefaults.ts","../../src/utilities/hooks/useResponsiveMode.tsx","../../src/osDetector.ts","../../src/mobileDetector.ts","../../src/components/Popup/Popup.tsx","../../src/aria.ts","../../src/customizations/customizable.tsx","../../src/renderFunction/composeRenderFunction.tsx","../../src/DelayedRender.tsx","../node_modules/antd/es/divider/index.js","../../src/useId.ts","../../src/useControllableValue.ts","../../src/components/Button/CommandButton/CommandButton.tsx","../node_modules/antd/es/layout/index.js","../../src/colors/FluentColors.ts","../../src/getNativeElementProps.ts","../../src/utilities/contextualMenu/contextualMenuUtility.ts","../../src/components/ContextualMenu/ContextualMenuItem.base.tsx","../../src/components/Divider/VerticalDivider.classNames.ts","../../src/components/ContextualMenu/ContextualMenu.cnstyles.ts","../../src/components/ContextualMenu/ContextualMenu.classNames.ts","../../src/components/ContextualMenu/ContextualMenuItem.ts","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuItemWrapper.tsx","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuAnchor.tsx","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuButton.tsx","../../src/components/Divider/VerticalDivider.base.tsx","../../src/components/Divider/VerticalDivider.tsx","../../src/components/Divider/VerticalDivider.styles.ts","../../src/components/ContextualMenu/ContextualMenuItemWrapper/ContextualMenuSplitButton.tsx","../../src/utilities/MenuContext/MenuContext.ts","../../src/components/ContextualMenu/ContextualMenu.base.tsx","../../src/components/ContextualMenu/ContextualMenu.styles.ts","../../src/components/ContextualMenu/ContextualMenu.tsx","../../src/initials.ts","../../src/components/Persona/PersonaConsts.tsx","../../src/components/Persona/PersonaPresence/PersonaPresence.base.tsx","../../src/components/Persona/PersonaPresence/PersonaPresence.styles.ts","../../src/components/Persona/PersonaPresence/PersonaPresence.tsx","../../src/components/Persona/PersonaInitialsColor.ts","../../src/components/Persona/PersonaCoin/PersonaCoin.base.tsx","../../src/components/Persona/PersonaCoin/PersonaCoin.styles.ts","../../src/components/Persona/PersonaCoin/PersonaCoin.tsx","../../src/components/Persona/Persona.base.tsx","../../src/components/Persona/Persona.styles.ts","../../src/components/Persona/Persona.tsx","../node_modules/rc-input-number/es/utils/supportUtil.js","../node_modules/rc-input-number/es/utils/numberUtil.js","../node_modules/rc-input-number/es/utils/MiniDecimal.js","../node_modules/rc-input-number/es/StepHandler.js","../node_modules/rc-input-number/es/hooks/useLayoutEffect.js","../node_modules/rc-input-number/es/hooks/useUpdateEffect.js","../node_modules/rc-input-number/es/InputNumber.js","../node_modules/rc-input-number/es/hooks/useCursor.js","../node_modules/rc-input-number/es/index.js","../node_modules/@ant-design/icons-svg/es/asn/UpOutlined.js","../node_modules/@ant-design/icons/es/icons/UpOutlined.js","../node_modules/antd/es/input-number/index.js","../../src/customizations/mergeSettings.ts","../../src/customizations/Customizer.tsx","../../src/customizations/mergeCustomizations.ts","../../src/components/Fabric/Fabric.base.tsx","../../src/components/Fabric/Fabric.styles.ts","../../src/components/Fabric/Fabric.tsx","../../src/components/Layer/Layer.notification.ts","../../src/components/Layer/Layer.base.tsx","../../src/setVirtualParent.ts","../../src/components/Layer/Layer.styles.ts","../../src/components/Layer/Layer.tsx","../node_modules/@ant-design/icons-svg/es/asn/QuestionCircleOutlined.js","../node_modules/@ant-design/icons/es/icons/QuestionCircleOutlined.js","../node_modules/antd/es/form/FormItemLabel.js","../node_modules/antd/es/form/ErrorList.js","../node_modules/antd/es/form/hooks/useCacheErrors.js","../node_modules/antd/es/form/FormItemInput.js","../node_modules/antd/es/form/FormItem.js","../node_modules/antd/es/form/hooks/useFrameState.js","../node_modules/antd/es/form/hooks/useItemRef.js","../node_modules/antd/es/form/FormList.js","../node_modules/antd/es/form/index.js","../node_modules/antd/es/modal/Modal.js","../node_modules/antd/es/modal/ActionButton.js","../node_modules/antd/es/modal/ConfirmDialog.js","../node_modules/antd/es/modal/destroyFns.js","../node_modules/antd/es/modal/confirm.js","../node_modules/antd/es/modal/useModal/HookModal.js","../node_modules/antd/es/modal/useModal/index.js","../node_modules/antd/es/_util/hooks/usePatchElement.js","../node_modules/antd/es/modal/index.js","../../src/components/Tooltip/Tooltip.types.ts","../../src/components/Tooltip/Tooltip.base.tsx","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tooltip/Tooltip.styles.ts","../../src/components/Tooltip/TooltipHost.base.tsx","../../src/overflow.ts","../../src/components/Tooltip/TooltipHost.styles.ts","../../src/components/Tooltip/TooltipHost.ts","../../src/utilities/ThemeProvider/styleRenderers/mergeStylesRenderer.tsx","../../src/utilities/ThemeProvider/useThemeProviderClasses.tsx","../../src/utilities/ThemeProvider/makeStyles.ts","../../src/utilities/ThemeProvider/renderThemeProvider.tsx","../../src/utilities/ThemeProvider/useThemeProviderState.tsx","../../src/utilities/ThemeProvider/ThemeProvider.tsx","../../src/utilities/ThemeProvider/useThemeProvider.tsx","../../src/useRefEffect.ts","../../src/utilities/useOverflow.ts","../../src/utilities/observeResize.ts","../../src/components/Pivot/Pivot.base.tsx","../../src/components/Pivot/Pivot.styles.ts","../../src/components/Pivot/Pivot.tsx","../node_modules/ramda/es/internal/_clone.js","../node_modules/ramda/es/internal/_cloneRegExp.js","../node_modules/ramda/es/internal/_xreduceBy.js","../node_modules/ramda/es/reduceBy.js","../node_modules/ramda/es/groupBy.js","../../src/components/Link/useLink.ts","../../src/components/Link/Link.base.tsx","../../src/components/Link/Link.styles.ts","../../src/components/Link/Link.tsx","../node_modules/ramda/es/flip.js","../node_modules/ramda/es/intersection.js","../node_modules/ramda/es/internal/_filter.js","../node_modules/ramda/es/internal/_pipe.js","../node_modules/ramda/es/tail.js","../node_modules/ramda/es/pipe.js","../node_modules/ramda/es/assoc.js","../node_modules/ramda/es/assocPath.js","../node_modules/ramda/es/lensPath.js","../../src/components/Stack/StackUtils.ts","../../src/components/Stack/Stack.styles.ts","../../src/components/Stack/Stack.tsx","../node_modules/ramda/es/mergeWithKey.js","../node_modules/ramda/es/mergeDeepWithKey.js","../node_modules/ramda/es/mergeDeepRight.js","../../src/components/Nav/Nav.base.tsx","../../src/components/Nav/Nav.styles.ts","../../src/components/Nav/Nav.tsx","../../src/utilities/keytips/KeytipUtils.ts","../../src/components/KeytipData/useKeytipData.ts","../../src/components/KeytipData/KeytipData.tsx","../node_modules/ramda/es/empty.js","../node_modules/ramda/es/isEmpty.js","../node_modules/ramda/es/defaultTo.js","../node_modules/ramda/es/pathOr.js","../../src/keyboard.ts","../../src/useFocusRects.ts","../../src/BaseComponent.ts","../node_modules/ramda/es/max.js","../node_modules/ramda/es/cond.js","../../src/components/Button/IconButton/IconButton.styles.ts","../../src/components/Button/IconButton/IconButton.tsx","../node_modules/@fluentui/react-focus/node_modules/tslib/tslib.es6.js","../../src/components/FocusZone/FocusZone.tsx","../../src/useTarget.ts"],"names":["module","exports","require","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","_defineProperty","obj","value","configurable","writable","extendStatics","d","b","setPrototypeOf","__proto__","Array","p","__extends","TypeError","String","__","constructor","create","__assign","t","s","n","__rest","e","indexOf","propertyIsEnumerable","__decorate","decorators","desc","c","r","Reflect","decorate","__spreadArrays","il","k","a","j","jl","hasOwn","classNames","classes","arg","argType","isArray","inner","toString","join","default","_slicedToArray","arr","arrayWithHoles","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","err","unsupportedIterableToArray","nonIterableRest","PersonaSize","PersonaPresence","PersonaInitialsColor","_toConsumableArray","arrayLikeToArray","iterableToArray","ReactReduxContext","React","createContext","batch","callback","createListenerCollection","first","last","clear","notify","listener","get","listeners","subscribe","isSubscribed","prev","nullListeners","createSubscription","store","parentSub","unsubscribe","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","notifyNestedSubs","Boolean","tryUnsubscribe","undefined","getListeners","useIsomorphicLayoutEffect","window","document","createElement","useLayoutEffect","useEffect","Provider","_ref","context","children","contextValue","useMemo","previousState","getState","Context","useReduxContext","useContext","createStoreHook","useDefaultReduxContext","useStore","createDispatchHook","useDefaultStore","dispatch","useDispatch","refEquality","createSelectorHook","selector","equalityFn","_useReduxContext","selectedState","contextSub","forceRender","useReducer","latestSubscriptionCallbackError","useRef","latestSelector","latestStoreState","latestSelectedState","storeState","current","newSelectedState","message","stack","checkForUpdates","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","useSelector","_classCallCheck","instance","Constructor","_objectWithoutProperties","excluded","sourceSymbolKeys","_typeof","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","_createSlideInX","SLIDE_RIGHT_IN40","SLIDE_LEFT_IN40","_createSlideInY","_createSlideOutX","SLIDE_RIGHT_OUT40","SLIDE_LEFT_OUT40","_createSlideOutY","_createAnimation","FADE_IN","DURATION_3","EASING_FUNCTION_1","slideRightIn40","slideLeftIn40","FADE_OUT","slideRightOut40","slideLeftOut40","EASING_FUNCTION_2","Depths","AnimationClassNames","styles","styleName","mergeStyles","buildClassMap","AnimationStyles","DefaultPalette","themeDarker","themeDark","themeDarkAlt","themePrimary","themeSecondary","themeTertiary","themeLight","themeLighter","themeLighterAlt","black","blackTranslucent40","neutralDark","neutralPrimary","neutralPrimaryAlt","neutralSecondary","neutralSecondaryAlt","neutralTertiary","neutralTertiaryAlt","neutralQuaternary","neutralQuaternaryAlt","neutralLight","neutralLighter","neutralLighterAlt","accent","white","whiteTranslucent40","yellowDark","yellow","yellowLight","orange","orangeLight","orangeLighter","redDark","red","magentaDark","magenta","magentaLight","purpleDark","purple","purpleLight","blueDark","blueMid","blue","blueLight","tealDark","teal","tealLight","greenDark","green","greenLight","depth0","depth4","depth8","depth16","depth64","LocalizedFontNames","LocalizedFontFamilies","FontSizes","FontWeights","IconFontSizes","DefaultEffects","elevation4","elevation8","elevation16","elevation64","roundedCorner2","roundedCorner4","roundedCorner6","Arabic","Cyrillic","EastEuropean","Greek","Hebrew","Thai","Vietnamese","WestEuropean","Selawik","Armenian","Georgian","ChineseSimplified","ChineseTraditional","Hindi","Japanese","Korean","size10","size12","size14","size16","size18","size20","size24","size28","size32","size42","size68","mini","xSmall","small","smallPlus","medium","mediumPlus","icon","large","xLarge","xLargePlus","xxLarge","xxLargePlus","superLarge","mega","light","semilight","regular","semibold","bold","HighContrastSelector","HighContrastSelectorWhite","HighContrastSelectorBlack","ScreenWidthMinSmall","ScreenWidthMinMedium","ScreenWidthMinLarge","ScreenWidthMinXLarge","ScreenWidthMinXXLarge","ScreenWidthMaxSmall","ScreenWidthMaxMedium","ScreenWidthMinUhfMobile","getScreenSelector","min","max","getHighContrastNoAdjustStyle","forcedColorAdjust","MsHighContrastAdjust","ZIndexes","getFocusStyle","theme","insetOrOptions","position","highContrastStyle","borderColor","outlineColor","isFocusedOnly","_getFocusStyleInternal","inset","options","width","palette","outline","selectors","border","content","left","top","bottom","right","zIndex","FocusStyle","focusClear","Nav","ScrollablePane","Coachmark","Layer","KeytipLayer","borderRadius","borderType","borderPosition","isBorderBottom","pointerEvents","hiddenContentStyle","height","margin","padding","overflow","_getGlobalClassNames","memoize","disableGlobalClassNames","styleSheet","Stylesheet","getInstance","reduce","acc","className","getClassName","getGlobalClassNames","defaultFontFamily","LanguageToFontMap","ar","bg","cs","el","et","he","hi","hr","hu","ja","kk","ko","lt","lv","pl","ru","sk","th","tr","uk","vi","hy","ka","_createFont","size","weight","fontFamily","MozOsxFontSmoothing","WebkitFontSmoothing","fontSize","fontWeight","DefaultFontStyles","localeCode","localizedFont","language","lang","_getLocalizedFontFamily","fontFamilyWithFallback","tiny","createFontStyles","_registerFontFace","url","localFontName","localFontSrc","fontFace","src","fontStyle","fontDisplay","_registerFontFaceSet","baseUrl","cdnFolder","cdnFontName","urlBase","fontUrl","registerDefaultFontFaces","fabricConfig","getWindow","FabricConfig","fontBaseUrl","_getFontBaseUrl","makeSemanticColors","isInverted","depComments","dep","listTextColor","listText","menuItemBackgroundChecked","warningHighlight","warningText","messageText","successText","_fixDeprecatedSlots","getSemanticColors","primaryButtonBorder","errorText","messageLink","messageLinkHovered","infoIcon","errorIcon","blockingIcon","warningIcon","severeWarningIcon","successIcon","infoBackground","errorBackground","blockingBackground","warningBackground","severeWarningBackground","successBackground","result","bodyBackground","bodyFrameBackground","accentButtonText","buttonBackground","primaryButtonText","primaryButtonTextHovered","primaryButtonTextPressed","inputBackground","inputForegroundChecked","listBackground","menuBackground","cardStandoutBackground","bodyTextChecked","buttonTextCheckedHovered","link","primaryButtonBackground","inputBackgroundChecked","inputIcon","inputFocusBorderAlt","menuIcon","menuHeader","accentButtonBackground","primaryButtonBackgroundPressed","inputBackgroundCheckedHovered","inputIconHovered","linkHovered","primaryButtonBackgroundHovered","inputPlaceholderBackgroundChecked","bodyBackgroundChecked","bodyFrameDivider","bodyDivider","variantBorder","buttonBackgroundCheckedHovered","buttonBackgroundPressed","listItemBackgroundChecked","listHeaderBackgroundPressed","menuItemBackgroundPressed","bodyBackgroundHovered","buttonBackgroundHovered","buttonBackgroundDisabled","buttonBorderDisabled","primaryButtonBackgroundDisabled","disabledBackground","listItemBackgroundHovered","listHeaderBackgroundHovered","menuItemBackgroundHovered","primaryButtonTextDisabled","disabledSubtext","listItemBackgroundCheckedHovered","disabledBodyText","variantBorderHovered","buttonTextDisabled","inputIconDisabled","disabledText","bodyText","actionLink","buttonText","inputBorderHovered","inputText","menuItemText","bodyStandoutBackground","defaultStateBackground","actionLinkHovered","buttonTextHovered","buttonTextChecked","buttonTextPressed","inputTextHovered","menuItemTextHovered","bodySubtext","focusBorder","inputBorder","smallInputBorder","inputPlaceholderText","buttonBorder","disabledBodySubtext","disabledBorder","buttonBackgroundChecked","menuDivider","cardShadow","cardShadowHovered","DefaultSpacing","s2","s1","m","l1","l2","createTheme","partialTheme","mergedTheme","merge","semanticColors","effects","defaultFontStyle","fonts","mergeThemes","spacing","rtl","_theme","ThemeSettingName","initializeThemeInCustomizations","Customizations","getSettings","win","applySettings","getTheme","normalize","boxShadow","boxSizing","noWrap","textOverflow","whiteSpace","getPlaceholderStyles","_iconSettings","GlobalSettings","getValue","__options","disableWarnings","warnOnMissingIcons","__remapped","stylesheet","onReset","subset","normalizeIconName","name","registerIcons","iconSubset","isRegistered","icons","iconName","code","normalizedIconName","_warnDuplicateIcon","getIcon","style","warn","_missingIcons","_missingIconsTimer","setTimeout","slice","_curry2","fn","f2","_isPlaceholder","_curry1","_b","_a","RectangleEdge","Position","_inherits","subClass","superClass","warned","warning","valid","process","note","method","noteOnce","warningOnce","keyframes","timeline","rulesArray","prop","rules","insertRule","cacheClassName","DURATION_1","DURATION_2","DURATION_4","from","opacity","to","visibility","SLIDE_RIGHT_IN10","SLIDE_RIGHT_IN20","SLIDE_RIGHT_IN400","SLIDE_LEFT_IN10","SLIDE_LEFT_IN20","SLIDE_LEFT_IN400","SLIDE_UP_IN10","SLIDE_UP_IN20","SLIDE_DOWN_IN10","SLIDE_DOWN_IN20","SLIDE_RIGHT_OUT10","SLIDE_RIGHT_OUT20","SLIDE_RIGHT_OUT400","SLIDE_LEFT_OUT10","SLIDE_LEFT_OUT20","SLIDE_LEFT_OUT400","SLIDE_UP_OUT10","SLIDE_UP_OUT20","SLIDE_DOWN_OUT10","SLIDE_DOWN_OUT20","SCALE_UP100","transform","SCALE_DOWN98","SCALE_DOWN100","SCALE_UP103","ROTATE90","ROTATE_N90","animationName","animationDuration","animationTimingFunction","animationFillMode","fromX","fromY","toX","toY","slideRightIn10","slideRightIn20","slideRightIn400","slideLeftIn10","slideLeftIn20","slideLeftIn400","slideUpIn10","slideUpIn20","slideDownIn10","slideDownIn20","slideRightOut10","slideRightOut20","slideRightOut400","slideLeftOut10","slideLeftOut20","slideLeftOut400","slideUpOut10","slideUpOut20","slideDownOut10","slideDownOut20","scaleUpIn100","scaleDownIn100","scaleUpOut103","scaleDownOut98","fadeIn100","fadeIn200","fadeIn400","fadeIn500","fadeOut100","fadeOut200","fadeOut400","fadeOut500","rotate90deg","rotateN90deg","font","_language","STORAGE_KEY","localStorage","getItem","args","_merge","circularReferences","isCircularReference","pop","registerIconAlias","mappedToName","sourceKeys","isIconDefinition","normalizeAttrs","attrs","val","class","generate","node","rootProps","tag","_objectSpread","map","child","index","concat","getSecondaryColor","primaryColor","generateColor","normalizeTwoToneColors","twoToneColor","iconStyles","_excluded","twoToneColorPalette","secondaryColor","calculated","IconBase","onClick","restProps","colors","styleStr","csp","IconContext","updateCSS","prepend","useInsertStyles","fill","displayName","getTwoToneColors","setTwoToneColors","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","ReactIcon","Icon","ref","_classNames","spin","rotate","tabIndex","_React$useContext$pre","prefixCls","classString","iconTabIndex","svgStyle","msTransform","role","getTwoToneColor","_createSuper","Derived","hasNativeReflectConstruct","construct","sham","Proxy","valueOf","Super","getPrototypeOf","NewTarget","possibleConstructorReturn","raf","caf","num","clearTimeout","requestAnimationFrame","handle","cancelAnimationFrame","rafUUID","rafIds","Map","cleanup","id","delete","wrapperRaf","times","callRef","leftTimes","realId","set","cancel","ANT_MARK","LocaleProvider","_React$Component","_super","_this","changeConfirmLocale","locale","Modal","devWarning","_ANT_MARK__","prevProps","_this$props","LocaleContext","exist","defaultProps","defaultGetContainer","defaultCloseIcon","notificationInstance","defaultDuration","defaultTop","defaultBottom","defaultPrefixCls","defaultPlacement","getPlacementStyle","placement","getNotificationInstance","_args$placement","_args$getContainer","getContainer","_args$closeIcon","closeIcon","customizePrefixCls","getPrefixCls","globalConfig","cacheKey","cacheInstance","Promise","resolve","then","closeIconToRender","CloseOutlined","notificationClass","Notification","newInstance","notification","typeToIcon","success","CheckCircleOutlined","info","InfoCircleOutlined","error","CloseCircleOutlined","ExclamationCircleOutlined","getRCNoticeProps","durationArg","duration","type","description","btn","onClose","iconNode","autoMarginTag","closable","api","open","notice","close","removeNotice","config","destroy","useNotification","innerInstance","proxy","add","noticeProps","holderCallback","component","_useRCNotification","useRCNotification","_useRCNotification2","hookNotify","holder","hookApiRef","mergedPrefixCls","ConfigConsumer","globalPrefixCls","configConsumerProps","PASSED_PROPS","getGlobalPrefixCls","suffixCls","getRootPrefixCls","rootPrefixCls","includes","replace","ProviderChildren","autoInsertSpaceInButton","form","componentSize","direction","space","virtual","dropdownMatchSelectWidth","legacyLocale","parentContext","iconPrefixCls","propName","propValue","memoedConfig","prevConfig","currentConfig","prevKeys","currentKeys","some","memoIconContextValue","childNode","validateMessages","Form","defaultValidateMessages","defaultLocale","RcFormProvider","SizeContextProvider","ConfigContext","ConfigProvider","LocaleReceiver","_","SizeContext","params","f1","createNamedContext","historyContext","Router","location","computeRootMatch","path","isExact","pathname","componentDidMount","_pendingLocation","componentWillUnmount","render","RouterContext","history","state","match","staticContext","HistoryContext","Component","Lifecycle","onMount","componentDidUpdate","onUpdate","onUnmount","cache","cacheCount","generatePath","generator","pathToRegexp","compilePath","pretty","Redirect","computedMatch","createLocation","prevLocation","locationsAreEqual","matchPath","exact","strict","sensitive","matched","pathCache","regexp","end","values","memo","Route","isEmptyChildren","addLeadingSlash","stripBasename","basename","base","createURL","createPath","staticHandler","methodName","invariant","noop","Switch","element","useHistory","useLocation","useParams","useRouteMatch","__esModule","KeyCode","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","DELETE","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","EQUALS","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","keyCode","altKey","ctrlKey","metaKey","isCharacterKey","navigator","userAgent","BrowserRouter","createHistory","resolveToLocation","currentLocation","normalizeToLocation","forwardRefShim","forwardRef","LinkAnchor","innerRef","navigate","rest","event","ex","isModifiedEvent","forwardedRef","Link","href","isDuplicateNavigation","ariaCurrent","activeClassName","activeStyle","classNameProp","isActiveProp","isActive","locationProp","styleProp","toLocation","escapedPath","classnames","joinClassnames","isValidElement","replaceElement","replacement","cloneElement","_window","rootElement","ownerDocument","defaultView","DirectionalHint","topLeftEdge","topCenter","topRightEdge","topAutoEdge","bottomLeftEdge","bottomCenter","bottomRightEdge","bottomAutoEdge","leftTopEdge","leftCenter","leftBottomEdge","rightTopEdge","rightCenter","rightBottomEdge","ImageFit","ImageCoverStyle","ImageLoadState","toObjectMap","items","item","baseElementEvents","baseElementProperties","htmlElementProperties","labelProperties","audioProperties","videoProperties","olProperties","liProperties","anchorProperties","buttonProperties","inputProperties","textAreaProperties","selectProperties","optionProperties","tableProperties","trProperties","thProperties","tdProperties","colGroupProperties","colProperties","formProperties","iframeProperties","imgProperties","divProperties","getNativeProps","allowedPropNames","excludedPropNames","_curry3","f3","_c","fillRef","composeRef","_len","refs","_key","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","isMemo","asyncGeneratorStep","gen","reject","_next","_throw","_asyncToGenerator","self","omit","fields","clone","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","Consumer","originSize","_has","FormContext","labelAlign","vertical","itemRef","FormItemContext","updateItemErrors","FormProvider","providerProps","FormItemPrefixContext","hookCallback","hooks","setHookCallback","input","isObject","hasOwnProp","isObjectEmpty","getOwnPropertyNames","isUndefined","isNumber","isDate","Date","res","extend","createUTC","format","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","len","momentProperties","updateInProgress","copyConfig","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","Error","deprecations","deprecateSimple","isFunction","Function","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","now","output","_calendar","zeroFill","number","targetLength","forceSign","absNumber","Math","abs","zerosToFill","pow","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","func","localeData","removeFormattingTokens","makeFormatFunction","array","formatMoment","expandFormat","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","defaultLongDateFormat","LTS","LT","LL","LLL","LLLL","_longDateFormat","formatUpper","toUpperCase","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","ss","mm","h","hh","dd","w","ww","MM","y","yy","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","sort","isLeapYear","year","absFloor","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","month","date","daysInMonth","stringGet","stringSet","prioritized","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","x","modMonth","o","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","split","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","parseInt","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","hours","kFormat","lowercase","minutes","matchMeridiem","_meridiemParse","localeIsPM","charAt","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","globalLocale","baseConfig","dayOfMonthOrdinalParse","meridiemParse","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","_abbr","aliasedRequire","getSetGlobalLocale","data","getLocale","defineLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","exec","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromObject","dayOrDate","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","parts","matches","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","period","tmp","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","properties","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","prefix","datetime","suffix","zone","inputString","defaultFormatUtc","defaultFormat","postformat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","eras","_eras","since","until","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","eraYearOrdinalParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","factory","makePrefixMap","eventName","prefixes","vendorPrefixes","domSupport","animationend","transitionend","animation","transition","getVendorPrefixes","canUseDOM","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","getTransitionName","transitionName","transitionType","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","useMountStatus","defaultValue","destroyRef","_useState","useState","_useState2","setVal","canUseDom","STEP_QUEUE","step","status","_React$useState","_React$useState2","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","nextFrame","delay","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","nextStep","doNext","useStatus","supportMotion","visible","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","motionAppear","_ref$motionLeave","motionLeave","motionDeadline","motionLeaveImmediately","onAppearPrepare","onEnterPrepare","onLeavePrepare","onAppearStart","onEnterStart","onLeaveStart","onAppearActive","onEnterActive","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","onVisibleChanged","asyncVisible","setAsyncVisible","_useState3","_useState4","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","destroyedRef","cacheElementRef","getDomElement","activeRef","onInternalMotionEnd","canEnd","deadline","_useDomMotionEvents","callbackRef","removeMotionEvents","removeEventListener","addEventListener","useDomMotionEvents","patchMotionEvents","eventHandlers","_ref2","_ref3","_ref4","_useStepQueue","useStepQueue","newStep","onPrepare","_eventHandlers$step","_useStepQueue2","startStep","active","nextStatus","isMounted","mergedStyle","DomWrapper","genCSSMotion","transitionSupport","isSupportTransition","motionName","CSSMotion","_props$visible","_props$removeOnLeave","removeOnLeave","leavedClassName","eventProps","nodeRef","wrapperNodeRef","_useStatus","findDOMNode","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","originRef","motionChildren","setNodeRef","mergedProps","statusSuffix","display","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","diffKeys","list","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","duplicatedKeys","matchKey","MOTION_PROP_NAMES","genCSSMotionList","OriginCSSMotion","CSSMotionList","keyEntities","removeKey","setState","entity","_this2","_onVisibleChanged","motionProps","changedVisible","parsedKeyObjects","prevEntity","find","_ref5","internalSet","paths","removeIfUndefined","_paths","_toArray","restPath","getNamePath","namePath","setValue","newStore","cloneByNamePathList","namePathList","containsNamePath","matchNamePath","internalSetValues","prevValue","recursive","setValues","restValues","changedNamePath","every","nameUnit","defaultGetValueFromEvent","valuePropName","move","moveIndex","toIndex","typeTemplate","required","enum","whitespace","parse","types","boolean","integer","float","email","hex","range","pattern","mismatch","AsyncValidator","RawAsyncValidator","convertMessages","messages","rule","messageVariables","kv","replaceFunc","template","additionalKV","str","replaceMessage","fillTemplate","ruleName","validateRule","_x","_x2","_x3","_x4","_x5","_validateRule","_regeneratorRuntime","mark","_callee2","cloneRule","subRuleField","validator","subResults","wrap","_context2","defaultField","validate","t0","errors","all","subValue","sent","abrupt","stop","validateRules","validateFirst","summaryPromise","filledRules","currentRule","originValidatorFunc","hasPromise","promise","catch","_callee","_context","_x6","_x7","rulePromises","_x9","_finishOnFirstFailed","finishOnFirstFailed","_x8","_finishOnAllFailed","finishOnAllFailed","_callee3","_context3","errorsList","_callee4","count","_context4","requireUpdate","shouldUpdate","nextValue","Field","resetCount","cancelRegisterFunc","mounted","touched","dirty","validatePromise","cancelRegister","preserve","isListField","_this$props2","_fieldContext$prefixN","fieldContext","prefixName","getRules","_this$props3","_this$props3$rules","refresh","onStoreChange","prevStore","_this$props4","_this$props4$dependen","dependencies","curValue","namePathMatch","validating","reRender","dependency","relatedFields","currentValue","rootPromise","_this$props5","_this$props5$validate","triggerName","filteredRules","validateTrigger","isFieldValidating","isFieldTouched","isFieldDirty","getErrors","isList","isPreserve","getMeta","prevValidating","getOnlyChild","meta","getControlled","childList","toChildrenArray","getFieldsValue","childProps","_this$props6","trigger","getValueFromEvent","getValueProps","mergedValidateTrigger","getInternalHooks","_getInternalHooks","HOOK_MARK","mergedGetValueProps","originTriggerFunc","control","newValue","validateTriggerList","originTrigger","initEntityValue","_assertThisInitialized","_this$props7","registerField","forceUpdate","returnChildNode","_this$getOnlyChild","contextType","FieldContext","WrapperField","List","initialValue","keyManager","parentPrefixName","_ref3$value","onChange","getFieldValue","getNewValue","operations","remove","indexSet","Set","keysIndex","has","valueIndex","_move","listValue","SPLIT","cell","NameMap","kvs","updater","entries","cells","_cell$match","_cell$match2","Number","json","FormStore","forceRootUpdate","formHooked","subscribable","fieldEntities","initialValues","callbacks","lastValidatePromise","getForm","getFieldError","getFieldsError","isFieldsTouched","isFieldsValidating","resetFields","setFields","setFieldsValue","validateFields","submit","useSubscribe","setInitialValues","setCallbacks","setValidateMessages","getFields","setPreserve","init","getInitialValue","timeoutId","warningUnhooked","getFieldEntities","pure","getFieldsMap","getFieldEntitiesForNamePathList","nameList","INVALIDATE_NAME_PATH","filterFunc","filteredNameList","_entity$isListField","arg0","arg1","isAllFieldsTouched","shortNamePath","fieldNamePath","update","isNamePathListTouched","entities","namePathListEntities","testField","resetWithFieldInitialValue","records","requiredFieldEntities","resetWithFields","originValue","skipExist","_requiredFieldEntitie","notifyObservers","fieldData","subNamePath","mergedPreserve","action","updateValue","_namePath","mergedInfo","childrenFields","getDependencyChildrenFields","onValuesChange","triggerOnFieldsChange","rootNamePath","dependencies2fields","dependencyNamePath","fillChildren","filedErrors","onFieldsChange","fieldName","provideNameList","promiseList","hasError","results","allPromiseFinish","resultNamePathList","returnPromise","errorList","errorFields","outOfDate","onFinish","onFinishFailed","useForm","formRef","formStore","triggerFormChange","triggerFormFinish","registerForm","unregisterForm","onFormChange","onFormFinish","formContext","formsRef","changedFields","forms","newForms","_ref$component","_ref$validateTrigger","_onFieldsChange","_onFinish","_useForm","formInstance","_formInstance$getInte","mountRef","childrenNode","childrenRenderProps","prevFieldsRef","targetKeys","sourceValue","targetValue","isSimilar","formContextValue","wrapperNode","onSubmit","preventDefault","stopPropagation","_restProps$onReset","RefForm","FieldForm","tuple","tupleNum","_len2","_key2","_objectWithoutPropertiesLoose","warningFunc","fixControlledValue","resolveOnChange","originalInputValue","currentTarget","triggerFocus","option","focus","cursor","setSelectionRange","Input","saveClearableInput","clearableInput","saveInput","onFocus","focused","clearPasswordValueAttribute","onBlur","handleReset","renderInput","bordered","addonBefore","addonAfter","customizeSize","disabled","otherProps","autoComplete","handleChange","onKeyDown","handleKeyDown","getInputClassName","removePasswordTimeout","getAttribute","hasAttribute","removeAttribute","onPressEnter","renderComponent","_this$state","_this$props3$bordered","ClearableLabeledInput","inputType","hasPrefixSuffix","activeElement","blur","start","select","nextProps","newState","KeyCodes","backspace","tab","enter","ctrl","alt","pauseBreak","capslock","escape","pageUp","pageDown","home","up","down","insert","del","zero","one","two","three","four","five","six","seven","eight","nine","colon","f","g","q","v","z","leftWindow","rightWindow","zero_numpad","one_numpad","two_numpad","three_numpad","four_numpad","five_numpad","six_numpad","seven_numpad","eight_numpad","nine_numpad","multiply","decimalPoint","divide","f4","f5","f6","f7","f8","f9","f10","f11","f12","numlock","scrollLock","semicolon","equalSign","comma","dash","forwardSlash","graveAccent","openBracket","backSlash","closeBracket","singleQuote","KeytipEvents","KTP_PREFIX","KTP_SEPARATOR","DATAKTP_TARGET","DATAKTP_EXECUTE_TARGET","KTP_LAYER_ID","KEYTIP_ADDED","KEYTIP_REMOVED","KEYTIP_UPDATED","PERSISTED_KEYTIP_ADDED","PERSISTED_KEYTIP_REMOVED","PERSISTED_KEYTIP_EXECUTE","ENTER_KEYTIP_MODE","EXIT_KEYTIP_MODE","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","newObj","hasPropertyDescriptor","useControlledState","defaultStateValue","postState","innerValue","setInnerValue","mergedValue","firstRenderRef","ReferenceError","renderEmpty","componentName","Empty","image","PRESENTED_IMAGE_SIMPLE","defaultRenderEmpty","withConfigConsumer","SFC","configProps","basicPrefixCls","cons","getDocument","_stylesheet","InjectionMode","REUSE_STYLE_NODE","_global","_rules","_preservedRules","_rulesToInsert","_counter","_keyToClassName","_onResetCallbacks","_classNameToArgs","injectionMode","defaultPrefix","namespace","cspSettings","classNameCache","_lastStyleElement","setConfig","classNameFromKey","getClassNameCache","argsFromClassName","entry","insertedRulesFromClassName","_getStyleElement","sheet","cssRules","appendChild","createTextNode","onInsertRule","includePreservedRules","reset","resetKeys","_styleElement","_createStyleElement","head","styleElement","setAttribute","nonce","insertBefore","nextElementSibling","placeholderStyleTag","_findPlaceholderStyleTag","childNodes","querySelector","_initializedStylesheetResets","_resetCounter","_emptyObject","_dictionary","_weakMap","resetMemoizations","memoizeFunction","cb","maxCacheSize","ignoreNullOrUndefinedResult","rootNode","cacheSize","localResetCounter","currentNode","_createNode","_normalizeArg","createMemoizer","ContextualMenuItemType","isAbsolute","spliceOne","resolvePathname","hasTrailingSlash","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","part","unshift","valueEqual","aValue","bValue","stripLeadingSlash","hasBasename","stripTrailingSlash","search","hash","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","notifyListeners","getConfirmation","confirm","PopStateEvent","HashChangeEvent","getHistoryState","createBrowserHistory","globalHistory","canUseHistory","ua","supportsHistory","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","getDOMLocation","historyState","_window$location","createKey","random","transitionManager","nextState","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","allKeys","fromIndex","delta","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","isBlocked","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","HashChangeEvent$1","HashPathCoders","hashbang","encodePath","decodePath","noslash","slash","stripHash","getHashPath","substring","replaceHashPath","createHashHistory","_props$hashType","hashType","_HashPathCoders$hashT","ignorePath","encodedPath","allPaths","lastIndexOf","baseTag","pushHashPath","nextPaths","clamp","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","nextIndex","nextEntries","splice","canGo","Children","keepEmpty","isFragment","_inheritsLoose","condition","FocusZoneDirection","FocusZoneTabbableElements","none","inputOnly","getCollapsedHeight","getRealHeight","scrollHeight","skipOpacityTransition","propertyName","collapseMotion","offsetHeight","motion","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","toInnerValue","labelInValue","combobox","valueMap","rawValues","itemValue","finalVal","toOuterValues","valueList","optionLabelProp","prevValueMap","getLabeledValue","removeLastEnabledValue","measureValues","removeIndex","newValues","removedValue","isBrowserClient","documentElement","uuid","getUUID","retId","NO_CUSTOMIZATIONS","settings","scopedSettings","inCustomizerContext","_allSettings","_events","_raiseChange","applyScopedSettings","scopeName","localSettings","localScopedSettings","globalScopedSettings","applyBatchedUpdates","suppressUpdate","_suppressUpdates","observe","unobserve","Button","enUS","localeValues","Pagination","DatePicker","TimePicker","Calendar","global","placeholder","Table","filterTitle","filterConfirm","filterReset","filterEmptyText","emptyText","selectAll","selectInvert","selectNone","selectionAll","sortTitle","expand","collapse","triggerDesc","triggerAsc","cancelSort","okText","cancelText","justOkText","Popconfirm","Transfer","titles","searchPlaceholder","itemUnit","itemsUnit","selectCurrent","removeCurrent","removeAll","Upload","uploading","removeFile","uploadError","previewFile","downloadFile","Text","edit","copy","copied","PageHeader","back","optional","Image","preview","SpinnerSize","SpinnerType","_interopRequireDefault","_interopRequireWildcard","_slicedToArray2","_defineProperty2","_objectWithoutProperties2","_classnames","_Context","_IconBase","_twoTonePrimaryColor","_utils","_default","defaultLocaleData","antLocale","localeFromContext","getLocaleCode","useLocaleReceiver","CloseCircleFilled","AntdIcon","CloseCircleFilledSvg","define","download","strFileName","strMimeType","blob","reader","defaultMime","mimeType","payload","myBlob","Blob","MozBlob","WebKitBlob","fileName","bind","ajax","XMLHttpRequest","responseType","onload","response","send","msSaveBlob","dataUrlToBlob","saver","tempUiArr","Uint8Array","mx","charCodeAt","strUrl","binData","atob","decodeURIComponent","uiArr","winMode","innerHTML","body","click","removeChild","URL","revokeObjectURL","createObjectURL","btoa","encodeURIComponent","FileReader","readAsDataURL","setRTL","isRTL","_rtl","getRTL","getStyleOptions","UNDEFINED","InternalItem","invalidate","renderItem","responsive","registerSize","itemKey","order","_props$component","mergedHidden","internalRegisterSize","overflowStyle","overflowY","overflowProps","itemNode","ResizeObserver","onResize","offsetWidth","Item","InternalRawItem","OverflowContext","_restProps","contextClassName","restContext","RawItem","RESPONSIVE","INVALIDATE","defaultRenderRest","omittedItems","Overflow","_props$prefixCls","_props$data","renderRawItem","_props$itemWidth","itemWidth","ssr","maxCount","renderRest","renderRawRest","itemComponent","onVisibleChange","createUseState","statesRef","walkingIndex","beforeFrameId","myIndex","useBatchFrameState","fullySSR","_createUseState","_createUseState2","containerWidth","setContainerWidth","mergedContainerWidth","_createUseState3","_createUseState4","itemWidths","setItemWidths","_createUseState5","_createUseState6","prevRestWidth","setPrevRestWidth","_createUseState7","_createUseState8","restWidth","setRestWidth","_createUseState9","_createUseState10","suffixWidth","setSuffixWidth","suffixFixedStart","setSuffixFixedStart","displayCount","setDisplayCount","mergedDisplayCount","MAX_SAFE_INTEGER","restReady","setRestReady","itemPrefixCls","mergedRestWidth","isResponsive","showRest","mergedData","getKey","useCallback","mergedRenderItem","updateDisplayCount","notReady","origin","getItemWidth","totalWidth","currentItemWidth","displayRest","suffixStyle","restNode","itemSharedProps","internalRenderItemNode","restContextProps","mergedRenderRest","overflowNode","clientWidth","ForwardOverflow","root","MS_ICON","getStyles","iconClassName","isPlaceholder","isImage","imageContainer","candidate","getFieldId","formName","mergedId","VALID_DIGITS","VALID_PUNCTUATION","ParseError","pa","pb","na","nb","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","metadata","is_object","type_of","validateMetadata","setVersion","countryCode","countries","v1","nonGeographic","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","numberingPlan","globalMetadataObject","v2","_getFormats","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","_getNationalPrefixIsOptionalWhenFormatting","hasTypes","getType","Type","_format","usesNationalPrefix","nationalPrefixFormattingRule","FIRST_GROUP_ONLY_PREFIX_PATTERN","getCountryCallingCode","isSupportedCountry","compare","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","optionalExtnSuffix","rfcExtn","possibleSeparatorsBetweenNumberAndExtLabel","possibleSeparatorsNumberExtLabelNoComma","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","EXTN_PATTERN","DIGITS","parseDigit","character","parseDigits","digit","parseIncompletePhoneNumber","parsePhoneNumberCharacter","prevParsedCharacters","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","merged","mergeArrays","actual_length","minimum_length","isPossibleNumber","matchesEntirely","text","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","SINGLE_IDD_PREFIX_REG_EXP","DEFAULT_OPTIONS","formatExtension","formatNumber","countryCallingCode","addExtension","formatNationalNumber","ext","formatRFC3966","fromCountry","iddPrefix","countryMetadata","getIddPrefix","formatIDD","formatAs","availableFormats","nationalNnumber","lastLeadingDigitsPattern","chooseFormatForNumber","PhoneNumber","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","nationalPrefix","extractNationalNumber","nationalSignificantNumber","shouldExtractNationalPrefix","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","numberWithoutIDD","shorterNumber","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","phone","selectCountryFromList","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","extract","parseRFC3966","throwOnError","startsAt","extractFormattedPhoneNumber","isViablePhoneNumberStart","withExtensionStripped","numberWithoutExtension","extractExtension","parseInput","formattedPhoneNumber","extractCountryCallingCode","defaultCountry","defaultCallingCode","exactCountry","parsePhoneNumber","possible","parseNumber","normalizeArguments","arg_1","arg_2","arg_3","arg_4","parsePhoneNumberFromString","parsePhoneNumberFromString_","isValidPhoneNumber","getCountries","country_calling_codes","PropTypes","isRequired","labels","count_occurences","symbol","closeBraces","retained_template","empty_placeholder","cut_before","opening_braces","closing_braces","dangling_braces","formatter","should_close_braces","characters_in_template","value_character_index","filled_in_template","close_braces","template_formatter","caret","found","possibly_last_input_character_index","getSelection","selectionEnd","Keys","setCaretPosition","caret_position","ANDROID_USER_AGENT_REG_EXP","isAndroid","operation","getOperation","selection","eraseSelection","formatInputText","_parse","on_change","focused_input_character_index","parse_character","newValueAndCaret","formatted","InputComponent","inputComponent","internalRef","setRef","_onChange","_onKeyDown","onInputKeyDown","isEmptyValue","onCut","onPaste","AsYouTypeState","onCountryChange","onCallingCodeChange","nextDigits","digits","IDDPrefix","DIGIT_PLACEHOLDER","DIGIT_PLACEHOLDER_MATCHER","repeat","cutAndStripNonPairedParens","cutBeforeIndex","cleared_string","stripNonPairedParens","formatCompleteNumber","shouldTryNationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","useNationalPrefixFormattingRule","formatNationalNumberWithAndWithoutNationalPrefixFormattingRule","formattedNationalNumber","isValidFormattedNationalNumber","PatternMatcher","PatternParser","allowOverflow","tree","characters","characterString","matchedChars","partialMatch","restCharacters","JSON","char","OPERATOR","or","instructions","branches","op","operator","before","rightPart","getContext","oneOfSet","parseOneOfSet","LONGEST_DUMMY_PHONE_NUMBER","NATIONAL_PREFIX_SEPARATORS_PATTERN","CREATE_CHARACTER_CLASS_PATTERN","CREATE_STANDALONE_DIGIT_PATTERN","NON_ALTERING_FORMAT_REG_EXP","AsYouTypeFormatter","international","formattedCompleteNumber","formatNationalNumberWithNextDigits","previouslyChosenFormat","newlyChosenFormat","chooseFormat","formatNextNationalNumberDigits","leadingDigits","leadingDigitsPatternIndex","matchingFormats","chosenFormat","leadingDigitsPatternsCount","leadingDigitsPattern","getTemplateForFormat","missingPlus","internationalPrefix","getInternationalPrefixBeforeCountryCallingCode","complexPrefixBeforeNationalSignificantNumber","strictPattern","nationalNumberDummyDigits","numberFormat","getFormatFormat","numberFormatWithNationalPrefix","nationalPrefixIncludedInTemplate","populateTemplateWithDigits","populatedNationalNumberTemplatePosition","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN","VALID_FORMATTED_PHONE_NUMBER_PART","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","onNationalSignificantNumberChange","extractedNumber","hasPlus","_extractFormattedDigitsAndPlus","formattedDigits","extractFormattedDigitsAndPlus","justLeadingPlus","hasReceivedThreeLeadingDigits","isWaitingForCountryCallingCode","nationalPrefixForParsing","nationalDigits","prevNationalSignificantNumber","extractNationalSignificantNumber","nationalSignificantNumberIndex","nationalSignificantNumberMatchesInput","extractAnotherNationalSignificantNumber","extractIddPrefix","fixMissingPlus","newCallingCode","AsYouType","getCountryAndCallingCode","optionsOrDefaultCountry","parser","reExtractNationalSignificantNumber","getFullNumber","isInternational","getTemplate","getInputValuePrefix","withCountryCallingCode","removeInputValuePrefix","createInput","defaultMetadata","InputSmart","newValueFormatted","InputBasic","formatIncompletePhoneNumber","getRegionalIndicatorSymbol","letter","CountrySelect","onChange_","getSelectedOption","label","divider","DIVIDER_STYLE","bool","backgroundColor","color","CountrySelectWithIcon","iconComponent","Arrow","getIconAspectRatio","arrowComponent","unicodeFlags","selectedOption","aspectRatio","countryName","flagUrl","title","InternationalIcon3x2","xmlns","viewBox","stroke","strokeWidth","strokeMiterlimit","strokeLinecap","x1","y1","x2","y2","InternationalIcon1x1","isCountrySupportedWithError","getSupportedCountries","createCountryIconComponent","FlagComponent","flagComponent","InternationalIcon","internationalIcon","_aspectRatio","CountryIcon","DefaultInternationalIcon","ONLY_DIGITS_REGEXP","getInternationalPhoneNumberPrefix","parsePhoneNumber_","getPhoneDigitsForNewCountry","phoneDigits","prevCountry","newCountry","useNationalFormat","countryCallingCodePrefix","country_calling_code","stripCountryCallingCode","newCountryPrefix","e164","partial_national_significant_number","getNationalSignificantNumberDigits","trimNumber","nationalSignificantNumberPart","overflowDigitsCount","getMaxNumberLength","getCountryForPartialE164Number","partialE164Number","derived_country","getCountryFromPossiblyIncompleteInternationalPhoneNumber","couldNumberBelongToCountry","convertInternationalPhoneDigitsToNational","compareStrings","intlPhoneNumberPrefix","getInitialPhoneDigits","generateNationalNumberDigits","PhoneNumberInput_","focusInputOnCountrySelection","newPhoneDigits","hasUserSelectedACountry","addInternationalOption","limitMaxLength","countryCallingCodeEditable","prevPhoneDigits","countryRequired","getAnyCountry","onPhoneDigitsChange","_phoneDigits","stateUpdate","isFocused","countrySelectProps","displayInitialValueAsLocalNumber","initialValueFormat","preSelectedCountry","getPreSelectedCountry","newDefaultCountry","newReset","prevDefaultCountry","prevReset","_getInitialPhoneDigits","parameters","isNewDefaultCountrySupported","noValueHasBeenEnteredByTheUser","supportedCountries","parsedCountry","hasUserSelectedACountryUpdate","getPhoneInputWithCountryStateUpdateFromNewProps","selectedCountry","prevState","countryOptionsOrder","optionsOnTop","optionsOnBottom","appendTo","sortCountryOptions","countryNames","compareStringsLocales","_compareStrings","countrySelectOptions","ZZ","getCountrySelectOptions","countryOptions","getSupportedCountryOptions","countrySelectOptionsMemoDependencies","areEqualArrays","countrySelectOptionsMemo","numberInputProps","smartCaret","CountrySelectComponent","ContainerComponent","PureComponent","PhoneNumberInput","inputRef","labelsPropType","countrySelectComponent","containerComponent","metadataPropType","createPhoneInput","PhoneInputDefault","_arguments","_parsePhoneNumber","_isValidPhoneNumber","_extends2","_rcFieldForm","_useMemo","_localeProvider","_LocaleReceiver","_SizeContext","_message","_notification","_default2","iterableToArrayLimit","freeGlobal","freeSelf","LoadingOutlined","LoadingOutlinedSvg","MenuContext","InheritableContextProvider","locked","inheritableContext","mergeProps","shallowEqual","useActive","eventKey","onMouseEnter","onMouseLeave","_React$useContext","activeKey","onActive","onInactive","domEvent","warnItemProp","restInfo","useDirectionStyle","level","mode","inlineIndent","paddingRight","paddingLeft","EmptyList","PathRegisterContext","useMeasure","PathTrackerContext","useFullPath","parentKeyPath","PathUserContext","IdContext","getMenuId","useMenuId","LegacyMenuItem","attribute","elementRef","passedProps","InternalMenuItem","warnKey","itemIcon","domDataId","onItemClick","contextDisabled","overflowDisabled","contextItemIcon","selectedKeys","itemCls","legacyMenuItemRef","mergedDisabled","connectedKeys","getEventInfo","keyPath","reverse","mergedItemIcon","_useActive","activeProps","selected","directionStyle","optionRoleProps","which","isSelected","MenuItem","measure","connectedKeyPath","registerPath","unregisterPath","parseChildren","_child$props$eventKey","_child$props","cloneProps","useMemoCallback","funRef","_funRef$current","InternalSubMenuList","SubMenuList","autoAdjustOverflow","adjustX","adjustY","placements","topLeft","points","bottomLeft","leftTop","rightTop","placementsRtl","getMotion","defaultMotions","popupPlacementMap","horizontal","PopupTrigger","popup","popupClassName","popupOffset","getPopupContainer","subMenuOpenDelay","subMenuCloseDelay","builtinPlacements","triggerSubMenuAction","forceSubMenuRender","innerVisible","setInnerVisible","popupPlacement","targetMotion","mergedMotion","visibleRef","Trigger","stretch","popupVisible","popupAlign","mouseEnterDelay","mouseLeaveDelay","onPopupVisibleChange","popupMotion","InlineSubMenuList","fixedMode","sameModeRef","setDestroy","mergedOpen","originOnVisibleChanged","newVisible","MenuContextProvider","motionClassName","motionStyle","InternalSubMenu","internalPopupClose","expandIcon","onTitleClick","onTitleMouseEnter","onTitleMouseLeave","openKeys","contextExpandIcon","onOpenChange","isSubPathKey","connectedPath","subMenuPrefixCls","popupRef","mergedExpandIcon","originOpen","childrenSelected","childrenActive","setChildrenActive","triggerChildrenActive","newActive","mergedActive","onMergedItemClick","popupId","titleNode","isOpen","isSubMenu","triggerModeRef","triggerMode","SubMenu","renderNode","focusable","includePositive","isVisible","nodeName","isFocusableElement","isContentEditable","tabIndexAttr","tabIndexNum","getFocusNodeList","querySelectorAll","ArrowKeys","getFocusableElements","container","elements","ele","getNextFocusElement","parentQueryContainer","focusMenuElement","sameLevelFocusableMenuElementList","focusIndex","findIndex","useAccessibility","isRtl","containerRef","getKeys","getKeyPath","triggerActiveKey","triggerAccessibilityOpen","originOnKeyDown","rafRef","cleanRaf","key2element","element2key","refreshElements","parentElement","getFocusElement","focusMenuKey","offsetObj","isRootLevel","_inline","_horizontal","_vertical","_offsets$","parent","inlineTrigger","inline","inlineSub","horizontalSub","verticalSub","sibling","getOffset","tryFocus","menuElement","focusTargetElement","targetKey","targetElement","findContainerUL","controlId","getElementById","parentKey","parentMenuElement","uniquePrefix","internalId","PATH_SPLIT","getPathStr","OVERFLOW_KEY","useKeyRecords","internalForceUpdate","key2pathRef","path2keyRef","_React$useState3","_React$useState4","overflowKeys","setOverflowKeys","updateRef","refreshOverflowKeys","includeOverflow","fullPath","pathKeys","pathKey","getSubPathKeys","startsWith","EMPTY_LIST","InternalMenuItemGroup","groupPrefixCls","MenuItemGroup","Divider","useOriginFullPath","ExportMenu","_childList$","_props$tabIndex","_props$mode","inlineCollapsed","disabledOverflow","_props$subMenuOpenDel","_props$subMenuCloseDe","defaultOpenKeys","defaultActiveFirst","_props$selectable","selectable","_props$multiple","multiple","defaultSelectedKeys","onSelect","onDeselect","_props$inlineIndent","_props$triggerSubMenu","_props$overflowedIndi","overflowedIndicator","overflowedIndicatorPopupClassName","openAnimation","openTransitionName","setMounted","_useMergedState","useMergedState","_useMergedState2","setUUID","newId","useUUID","_React$useMemo","_React$useMemo2","mergedMode","mergedInlineCollapsed","lastVisibleIndex","setLastVisibleIndex","allVisible","mergedOpenKeys","setMergedOpenKeys","triggerOpenKeys","_React$useState5","_React$useState6","inlineCacheOpenKeys","setInlineCacheOpenKeys","isInlineMode","_useKeyRecords","registerPathContext","pathUserContext","_useMergedState3","_useMergedState4","mergedActiveKey","setMergedActiveKey","_useMergedState5","_useMergedState6","mergedSelectKeys","setMergedSelectKeys","onInternalClick","newSelectKeys","selectInfo","triggerSelection","onInternalOpenChange","newOpenKeys","subPathKeys","getInternalPopupContainer","onInternalKeyDown","nextOpen","wrappedChildList","omitItems","originOmitItems","newLastIndex","ItemGroup","_vendorSettings","kebabRules","rulePairs","autoPrefixNames","prefixRules","vendorSettings","doc","nav","isWebkit","isMoz","isOpera","isMs","getVendorSettings","NON_PIXEL_NUMBER_PROPS","provideUnits","isNonPixelProp","isVariableOrPrefixed","NAME_REPLACEMENTS","VALUE_REPLACEMENTS","rtlifyRules","flipQuad","partIndex","numberVal","negateNum","partStart","parens","serialized","getDisplayName","rootStyle","globalSelectorRegExp","expandSelector","newSelector","currentSelector","extractSelector","__order","extractRules","selectorWithGlobals","replacementInfo","findGlobal","trim","matchIndex","matchEndIndex","expandCommaSeparatedGlobals","separatedSelector","currentRules","expandedRules","expandQuads","getKeyForRules","hasProps","rulesForSelector","repeatString","serializeRuleEntries","ruleEntries","allEntries","styleToRegistration","registration","rulesToInsert","applyRegistration","specificityMultiplier","processedRule","styleToClassName","runtimeLocale","newLocale","getConfirmLocale","_id","EventGroup","_uniqueId","_parent","_eventRecords","raise","eventArgs","bubbleEvent","retVal","_isElement","createEvent","ev","initEvent","dispatchEvent","createEventObject","evObj","fireEvent","events","__events__","eventRecords","eventRecordList","listIndex","record","objectCallback","isObserved","isDeclared","declaredEvents","__declaredEvents","cancelBubble","HTMLElement","dispose","_isDisposed","off","onAll","useCapture","on","eventRecord","processElementEvent","elementCallback","attachEvent","targetArrayLookup","targetArray","detachEvent","declare","flattenOptions","flattenList","dig","isGroupOption","groupOption","group","injectPropsWithOption","newOption","findValueOption","_ref$prevValueOptions","prevValueOptions","optionMap","flattenItem","opt","_INTERNAL_OPTION_VALUE_","prevValItem","isCacheable","toRawString","filterOptions","searchValue","optionFilterProp","filterOption","filteredOptions","lowerSearchText","getFilterFunction","subOptions","subItem","getSeparatedContent","separate","restTokens","prevList","unitStr","isValueDisabled","fillOptionsWithMissingValue","cloneOptions","optionValues","subOpt","_ref6","ReactResizeObserver","resizeObserver","currentElement","_target$getBoundingCl","getBoundingClientRect","fixedWidth","fixedHeight","mergedOffsetWidth","mergedOffsetHeight","setChildNode","onComponentUpdated","destroyObserver","disconnect","cacheRef","propList","ariaPrefix","dataPrefix","pickAttrs","mergedConfig","ariaOnly","aria","attr","isPointsEq","isAlignPoint","Mask","mask","maskMotion","maskAnimation","maskTransitionName","jsCssMap","Webkit","Moz","getVendorPrefix","vendorPrefix","getTransformName","setTransitionProperty","setTransform","matrix2d","matrix3d","forceRelayout","elem","originalStyle","css","getComputedStyleX","getScroll","getScrollLeft","getScrollTop","docElem","box","getClientPosition","isWindow","_RE_NUM_NO_PX","RE_POS","getOffsetDirection","oppositeOffsetDirection","setLeftTop","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","getTransitionProperty","old","preset","originalXY","matrix","getTransformXY","resultXY","xy","match2d","setTransformXY","each","isBorderBoxFn","computedStyle","rsLeft","BOX_MODELS","swap","getPBMWidth","cssProp","domUtils","getParent","getWH","extra","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","documentElementProp","cssShow","getWHIgnoreDisplay","mix","includeMargin","utils","oriOffset","oLeft","oTop","tLeft","tTop","setOffset","getWindowScrollLeft","getWindowScrollTop","viewportWidth","viewportHeight","getOffsetParent","positionStyle","getVisibleRectForElement","alwaysByViewport","visibleRect","Infinity","originalPosition","scrollX","scrollY","documentWidth","documentHeight","bodyStyle","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","getAlignOffset","region","align","getElFuturePos","elRegion","refNodeRegion","targetOffset","isFailX","elFuturePos","isFailY","flip","reg","flipOffset","convertOffset","offsetLen","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","newPoints","newOffset","newTargetOffset","isCompleteFailX","isCompleteFailY","isStillFailX","isStillFailY","adjustForViewport","useCssRight","useCssBottom","useCssTransform","ignoreShake","alignElement","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","monitorResize","prevWidth","prevHeight","contains","getPoint","point","Align","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","only","forceAlignPropsRef","_useBuffer","buffer","calledRef","timeoutRef","cancelTrigger","force","useBuffer","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestAlign","latestOnAlign","pageX","tgtPoint","pageY","pointInView","alignPoint","restoreFocus","_useBuffer2","_forceAlign","cancelForceAlign","resizeMonitor","sourceResizeMonitor","clientX","clientY","isEqual","winResizeRef","useImperativeHandle","forceAlign","RcAlign","StatusQueue","PopupInner","destroyPopupOnHide","getRootDomNode","getClassNameFromAlign","onMouseDown","onTouchStart","alignRef","alignedClassName","setAlignedClassName","_useStretchStyle","targetSize","setTargetSize","sizeStyle","minHeight","minWidth","useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","doMeasure","setInternalStatus","cancelRaf","useVisibleStatus","_useVisibleStatus2","goNextStatus","prepareResolveRef","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","onShowPrepare","originHandler","alignDisabled","motionRef","mergedClassName","onMouseDownCapture","onTouchStartCapture","MobilePopupInner","_props$mobile","mobile","popupStyle","_props$mobile$popupMo","popupRender","Popup","serInnerVisible","inMobile","setInMobile","isMobile","popupNode","TriggerContext","returnEmptyString","returnDocument","ALL_HANDLERS","generateTrigger","PortalComponent","_popupVisible","triggerRef","attachId","clickOutsideHandler","touchOutsideHandler","contextMenuOutsideHandler1","contextMenuOutsideHandler2","mouseDownTimeout","focusTime","preClickTime","preTouchTime","delayTimer","hasPopupMouseDown","fireEvents","delaySetPopupVisible","onMouseMove","setPoint","onPopupMouseEnter","clearDelayTimer","onPopupMouseLeave","_this$popupRef$curren","relatedTarget","isFocusToShow","focusDelay","isBlurToHide","blurDelay","onContextMenu","setPopupVisible","onContextMenuClose","isContextMenuToShow","preTime","isClickToShow","isClickToHide","nextVisible","onPopupMouseDown","_this$context","onDocumentClick","maskClosable","getPopupDomNode","isContextMenuOnly","getTriggerDOMNode","domNode","ReactDOM","getPopupClassNameFromAlign","getAlignPopupClassName","getComponent","onPopupAlign","popupAnimation","popupTransitionName","getPopupAlign","mouseProps","isMouseEnterToShow","isMouseLeaveToHide","attachParent","popupContainer","mountNode","handlePortalUpdate","prevPopupVisible","afterPopupVisibleChange","triggerContextValue","defaultPopupVisible","currentDocument","clearOutsideHandler","_this$popupRef$curren2","placementStr","baseAlign","getAlignFromPlacement","delayS","childPros","showAction","hideAction","_this$props8","_this$props9","_this$props10","_this$popupRef$curren3","childCallback","_this$props11","autoDestroy","newChildProps","createTwoChains","childrenClassName","portal","didUpdate","Portal","CustomizerContext","customizations","_getPrototypeOf","_possibleConstructorReturn","xf","addEventListenerWrap","eventType","unstable_batchedUpdates","TransBtn","customizeIcon","customizeIconProps","_onMouseDown","userSelect","WebkitUserSelect","unselectable","cls","LayoutContext","siderHook","addSider","removeSider","tagName","BasicComponent","Adapter","Basic","others","Layout","siders","setSiders","hasSider","Tag","currentId","Header","Footer","Content","allowClear","CloseOutlinedSvg","baseIsNative","CheckCircleFilled","CheckCircleFilledSvg","_unsupportedIterableToArray","minLen","agent","vendor","opera","_isTransformer","_dispatchable","methodNames","_isArray","idx","transducer","ExclamationCircleFilled","ExclamationCircleFilledSvg","seed","getUuid","_Component","notices","hookRefs","originNotice","noticeIndex","updatedNotices","updateMark","userPassKey","_ref2$notice","noticePropsMap","noticeKeys","noticeKey","_notice$onClose","_this2$noticePropsMap","div","Notice","called","unmountComponentAtNode","parentNode","_useNotification","_isString","curryN","_curryN","received","combined","argsIdx","combinedIdx","_checkForMethod","methodname","createdRef","setElements","firstMount","noticeEle","originElements","cloneList","_arrayFromIterator","iter","is","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_equals","_includesWith","aItem","_objectIs","typeA","equals","_functionName","ignoreCase","multiline","sticky","unicode","keysA","extendedStackA","extendedStackB","_isArrayLike","nodeType","XWrap","thisObj","_iterableReduce","_methodReduce","symIterator","_reduce","_xwrap","_arrayReduce","BarsOutlined","BarsOutlinedSvg","isNumeric","dimensionMaxMap","xs","sm","md","lg","xl","xxl","SiderContext","generateId","Sider","_a$defaultCollapsed","defaultCollapsed","_a$theme","_a$style","_a$collapsible","collapsible","_a$reverseArrow","reverseArrow","_a$width","_a$collapsedWidth","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint","collapsed","setCollapsed","below","setBelow","handleSetCollapsed","responsiveHandlerRef","mql","responsiveHandler","matchMedia","addListener","removeListener","uniqueId","toggle","siderCollapsed","divProps","rawWidth","siderWidth","zeroWidthTrigger","defaultTrigger","expanded","RightOutlined","LeftOutlined","triggerDom","divStyle","flex","maxWidth","siderCls","renderSider","UnreachableException","stringify","ButtonGroup","sizeCls","getCollapsedWidth","getRealWidth","scrollWidth","LoadingIcon","loading","existIcon","rxTwoCNChar","isTwoCNChar","isUnborderedButtonType","insertSpace","needInserted","convertLegacyProps","danger","InternalButton","loadingOrDelay","_props$loading","shape","_props$ghost","ghost","_props$block","_props$htmlType","htmlType","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","buttonRef","delayTimeoutRef","isNeedInserted","textContent","handleClick","autoInsertSpace","iconType","kids","isPrevChildPure","isCurrentChildPure","lastChild","spaceChildren","linkButtonRestProps","buttonNode","Wave","Group","__ANT_BUTTON","pathsArray","_isInteger","nth","pathAr","sessionStorage","setItem","fillRule","cx","cy","rx","ry","Simple","defaultEmptyImg","DefaultEmptyImg","simpleEmptyImg","SimpleEmptyImg","_a$image","imageStyle","des","imageNode","PRESENTED_IMAGE_DEFAULT","useConst","responsiveArray","responsiveMap","subscribers","subUid","screens","responsiveObserve","matchHandlers","pointMap","register","unregister","screen","matchMediaQuery","handler","RightOutlinedSvg","ExclamationCircleOutlinedSvg","reactIs","REACT_STATICS","childContextTypes","contextTypes","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","TYPE_STATICS","getStatics","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","concatStyleSets","styleSets","subComponentStyles","mergedSet","workingSubcomponentStyles","currentSet","currentComponentStyles","subCompProp","mergedSubStyles","styleProps","styleFunctionOrObject","_arrayLikeToArray","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","nIdx","ks","checkArgsLength","_isArguments","_isObject","isInteger","sizes","Col","_React$useContext2","RowContext","gutter","supportFlexGap","span","pull","sizeClassObj","sizeProps","propSize","horizontalGutter","verticalGutter","paddingTop","paddingBottom","parseFlex","_includes","inf","_indexOf","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","I18nContext","getDefaults","ReportNamespaces","usedNamespaces","namespaces","ns","getI18n","initReactI18next","setDefaults","react","setI18n","strictUriEncode","decodeComponent","splitOnFirst","filterObject","encodeFragmentIdentifier","validateArrayFormatSeparator","encode","decode","keysSorter","removeHash","hashStart","queryStart","parseValue","parseNumbers","parseBooleans","query","arrayFormat","arrayFormatSeparator","accumulator","isEncodedArray","arrayValue","parserForArrayFormat","param","shouldFilter","skipNull","skipEmptyString","keyValueSep","encoderForArrayFormat","objectCopy","parseUrl","url_","parseFragmentIdentifier","fragmentIdentifier","stringifyUrl","queryFromUrl","parsedQueryFromUrl","queryString","getHash","pick","exclude","exclusionFilter","cached","getScrollBarSize","fresh","outer","outerStyle","widthContained","widthScroll","ensureSize","getTargetScrollBarSize","Element","_getComputedStyle","getComputedStyle","autoAdjustOverflowEnabled","autoAdjustOverflowDisabled","getOverflowOptions","PresetColorRegex","PresetColorTypes","getDisabledCompatibleChildren","elementType","__ANT_SWITCH","__ANT_CHECKBOX","_splitObject","picked","omitted","splitObject","spanStyle","buttonStyle","Tooltip","_classNames2","getContextPopupContainer","defaultVisible","setVisible","isNoTitle","overlay","getTooltipPlacements","arrowPointAtCenter","_config$arrowWidth","arrowWidth","_config$horizontalArr","horizontalArrowShift","_config$verticalArrow","verticalArrowShift","placementMap","topRight","bottomRight","rightBottom","leftBottom","getPlacements","openClassName","getTooltipContainer","overlayClassName","overlayInnerStyle","tempVisible","arrowContentStyle","childCls","customOverlayClassName","formattedOverlayInnerStyle","background","RcTooltip","getOverlay","vis","rect","transformOrigin","arrowContent","getRawTag","objectToString","symToStringTag","toStringTag","noOutline","iconStyle","lineHeight","textAlign","flexShrink","buttonHighContrastFocus","textDecoration","rootDisabled","iconDisabled","menuIconDisabled","flexContainer","flexWrap","justifyContent","alignItems","textContainer","flexGrow","screenReaderText","useForceUpdate","_React$useReducer","imageProps","nativeProps","altText","hasName","imageNameProps","containerProps","checked","primaryDisabled","splitButtonMenuButton","splitButtonMenuButtonExpanded","splitButtonMenuButtonDisabled","splitButtonMenuButtonChecked","splitButtonMenuFocused","splitButtonContainer","splitButtonContainerChecked","splitButtonContainerCheckedHovered","splitButtonContainerHovered","splitButtonContainerFocused","splitButtonContainerDisabled","splitButtonMenuIcon","splitButtonMenuIconDisabled","splitButtonFlexContainer","splitButtonDivider","splitButtonDividerDisabled","COMPONENT_NAME","_buttonElement","_splitButtonContainer","_mergedRef","createMergedRef","_renderedVisibleMenu","_getMemoizedMenuButtonKeytipProps","keytipProps","hasMenu","_onRenderIcon","buttonProps","defaultRender","iconProps","FontIcon","_onRenderTextContents","secondaryText","onRenderText","_onRenderText","onRenderDescription","_onRenderDescription","_hasText","_labelId","_onRenderChildren","_descriptionId","_onRenderAriaDescription","ariaDescription","_ariaDescriptionId","_onRenderMenuIcon","menuIconProps","_onRenderMenu","menuProps","persistMenu","menuHidden","MenuType","menuAs","ContextualMenu","ariaLabel","labelElementId","directionalHint","shouldFocusOnContainer","_menuShouldFocusOnContainer","shouldFocusOnMount","_menuShouldFocusOnMount","hidden","_isSplitButton","onDismiss","_onDismissMenu","defaultPrevented","_dismissMenu","_openMenu","_onToggleMenu","_onSplitContainerFocusCapture","portalContainsElement","_onSplitButtonPrimaryClick","_processingTouch","_onMenuClick","_onMenuKeyDown","_onKeyUp","onKeyUp","_onKeyPress","onKeyPress","_onMouseUp","onMouseUp","_onClick","_onSplitButtonContainerKeyDown","isUp","isDown","_isValidMenuOpenKey","onMenuClick","setFocusVisibility","_onTouchStart","_handleTouchAndPointerEvent","nativeEvent","detail","pointerType","initializeComponentRef","_async","Async","warnConditionallyRequiredProps","warnDeprecations","toggled","getId","ariaHidden","allowDisabledFocus","variantClassName","getClassNames","isPrimaryButtonDisabled","renderAsAnchor","resolvedAriaLabel","ariaDescribedBy","ariaLabelledBy","dataIsFocusable","isCheckboxTypeRole","checkedOrPressedValue","_onRenderSplitButtonContent","_onRenderContent","_onPointerDown","onPointerUp","onAfterMenuDismiss","dismissMenu","openMenu","onRenderIcon","onRenderAriaDescription","onRenderChildren","onRenderMenu","onRenderMenuIcon","keytipAttributes","doNotLayer","_shouldRenderMenu","KeytipData","renderPersistedMenuHiddenOnMount","getSplitButtonClassNames","primaryActionButtonProps","onPointerDown","SplitButton","onFocusCapture","_onRenderSplitButtonMenuButton","_onRenderSplitButtonDivider","splitButtonMenuProps","splitButtonAriaLabel","splitButtonProps","BaseButton","stopImmediatePropagation","_lastTouchTimeoutId","menuTriggerKeyCode","baseClassName","objA","objB","compareContext","keysB","bHasOwnProperty","valueA","valueB","offsetParent","getBBox","_box","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","nativeCreate","getNative","isKeyable","__data__","today","backToToday","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dayFormat","dateTimeFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","rangePlaceholder","rangeYearPlaceholder","rangeMonthPlaceholder","rangeWeekPlaceholder","CalendarLocale","timePickerLocale","TimePickerLocale","_concat","set1","set2","len1","len2","baseIsEqual","flexGapSupported","canUseDocElement","isStyleSupport","styleNameList","detectFlexGapSupported","flexDirection","rowGap","EllipsisOutlined","EllipsisOutlinedSvg","CheckCircleOutlinedSvg","InfoCircleOutlinedSvg","CloseCircleOutlinedSvg","DownOutlined","DownOutlinedSvg","_isSSR","ThemeContext","extractStyleParts","objects","_processArgs","argsList","translatedArgs","_arrayWithHoles","_nonIterableRest","always","_iterableToArray","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","previousStateForKey","nextStateForKey","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","funcs","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","middleware","_setPrototypeOf","MapShim","getIndex","class_1","__entries__","ctx","isBrowser","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","timeStamp","throttle","addObserver","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","characterData","subtree","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","clientHeight","paddings","positions_1","getPaddings","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","clearActive","observation","initRef","_containerRef$current","_containerRef$current2","createPortal","MARK_KEY","attachTo","injectCSS","_option$csp","_option$csp2","styleNode","firstChild","containerCache","placeholderStyle","existNode","_option$csp3","_option$csp4","_option$csp5","newNode","findElementRecursive","matchFunction","closeTimer","clearCloseTimer","startCloseTimer","restartCloseTimer","componentClass","dataOrAriaAttributeProps","ClearableInputType","hasAddon","onInputMouseUp","readOnly","needClear","renderClearIcon","suffixNode","renderSuffix","prefixNode","affixWrapperCls","labeledElement","_classNames4","wrapperClassName","addonClassName","addonBeforeNode","addonAfterNode","mergedWrapperClassName","mergedGroupClassName","_classNames5","renderTextAreaWithClearIcon","renderInputWithLabel","renderLabeledIcon","legacyTheme","useCustomizationSettings","baseTheme","XMap","_xfBase","_xmap","functor","_map","classNamesFunction","SVG_REGEX","ImageBase","frameElement","imageElement","onLoadingStateChange","onLoad","onError","notLoaded","loadState","setLoadState","naturalWidth","naturalHeight","complete","loaded","onImageLoaded","onImageError","useLoadState","shouldFadeIn","shouldStartVisible","imageFit","maximizeFrame","coverStyle","previousLoadState","cover","contain","centerContain","centerCover","desiredRatio","landscape","portrait","computeCoverStyle","useCoverStyle","isLoaded","isLandscape","isCenter","center","isCenterContain","isCenterCover","isContain","isCover","isNone","isError","isNotImageFit","useMergedRefs","GlobalClassNames","rootMaximizeFrame","imageCenter","imageContain","imageCover","imageCenterContain","imageCenterCover","imageNone","imageLandscape","imagePortrait","styled","ImageFitStyles","supportsObjectFit","msMaxTouchPoints","fallbackObjectFitStyles","objectFit","maxHeight","scope","allowVirtualParents","_virtual","getVirtualParent","packagesCache","_win","packageName","packageVersion","packages","__packages__","SearchOutlined","SearchOutlinedSvg","IsFocusVisibleClassName","IsFocusHiddenClassName","enabled","classList","isNil","useOnEvent","actualElement","propIsEnumerable","test1","test2","fromCharCode","test3","shouldUseNative","isNativeReflectConstruct","bound01","isOnePointZero","isPercent","isPercentage","convertToPercentage","pad2","hue2rgb","convertHexToDecimal","parseIntFromHex","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gold","gray","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellowgreen","inputToRGB","rgb","named","matchers","rgba","hsl","hsla","hsv","hsva","hex8","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","hsvToRgb","hslToRgb","boundAlpha","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","darkColorMap","toHsv","rgbToHsv","toHex","allow3Char","rgbToHex","rgb1","rgb2","amount","getHue","hue","getSaturation","saturation","opts","patterns","pColor","colorString","_hsv","_colorString","presetPrimaryColors","volcano","geekblue","presetPalettes","presetDarkPalettes","primary","_en_US","_en_US2","_en_US3","_en_US4","webpackPolyfill","_warning","_typeof2","_react","_colors","svgBaseProps","_dynamicCSS","_useContext","LeftOutlinedSvg","pred","ids","delayFrames","myId","restFrames","internalCallback","pid","toNamePathStr","_useRcForm","useRcForm","rcForm","itemsRef","wrapForm","__INTERNAL__","namePathStr","scrollToField","fieldId","scrollIntoView","scrollMode","getFieldInstance","isElement","canOverflow","skipOverflowHiddenElements","isScrollable","overflowX","frame","alignNearest","scrollingEdgeStart","scrollingEdgeEnd","scrollingSize","scrollingBorderStart","scrollingBorderEnd","elementEdgeStart","elementEdgeEnd","elementSize","windowWithViewport","boundary","checkBoundary","scrollingElement","frames","visualViewport","innerWidth","innerHeight","viewportX","pageXOffset","viewportY","pageYOffset","targetHeight","targetWidth","targetTop","targetRight","targetBottom","targetLeft","targetBlock","targetInline","computations","frameStyle","borderLeft","borderLeftWidth","borderTop","borderTopWidth","borderRight","borderRightWidth","borderBottom","borderBottomWidth","blockScroll","inlineScroll","scrollbarWidth","scrollbarHeight","scrollLeft","scrollTop","isOptionsObject","targetIsDetached","behavior","compute","computeOptions","getOptions","actions","canSmoothScroll","scroll","defaultBehavior","debug","Log","setInterval","clearInterval","Global","_testing","setXMLHttpRequest","MetadataService","JsonService","_settings","_jsonService","resetSigningKeys","signingKeys","getMetadata","metadataUrl","getJson","metadataSeed","getIssuer","_getMetadataProperty","getAuthorizationEndpoint","getUserInfoEndpoint","getTokenEndpoint","getCheckSessionIframe","getEndSessionEndpoint","getRevocationEndpoint","getKeysEndpoint","getSigningKeys","_metadataUrl","authority","UrlUtility","addQueryParam","parseUrlFragment","JoseUtil","jws","KeyUtil","X509","crypto","hextob64u","b64tohex","AllowedSigningAlgs","OidcClientSettings","client_id","client_secret","response_type","redirect_uri","post_logout_redirect_uri","client_authentication","max_age","ui_locales","acr_values","resource","response_mode","filterProtocolClaims","loadUserInfo","staleStateAge","clockSkew","clockService","ClockService","userInfoJwtIssuer","mergeClaims","stateStore","WebStorageStateStore","ResponseValidatorCtor","ResponseValidator","$","MetadataServiceCtor","extraQueryParams","tt","extraTokenParams","rt","_authority","_metadataSeed","_signingKeys","_client_id","_client_secret","_response_type","_scope","_redirect_uri","_post_logout_redirect_uri","_client_authentication","_prompt","_display","_max_age","_ui_locales","_acr_values","_resource","_response_mode","_filterProtocolClaims","_loadUserInfo","_staleStateAge","_clockSkew","_clockService","_userInfoJwtIssuer","_mergeClaims","_stateStore","_validator","_metadataService","_extraQueryParams","_extraTokenParams","getEpochTime","_store","_prefix","removeItem","getAllKeys","_contentTypes","_XMLHttpRequest","_jwtHandler","getResponseHeader","responseText","statusText","onerror","setRequestHeader","postForm","SigninRequest","id_token_hint","login_hint","request","request_uri","request_type","skipUserInfo","isOidc","isCode","SigninState","code_verifier","code_challenge","isOAuth","State","created","_created","_request_type","toStorageString","fromStorageString","clearStaleState","OidcClient","createSigninRequest","readSigninResponseState","SigninResponse","processSigninResponse","validateSigninResponse","createSignoutRequest","SignoutRequest","readSignoutResponseState","SignoutResponse","ErrorResponse","processSignoutResponse","validateSignoutResponse","metadataService","TokenClient","exchangeCode","grant_type","exchangeRefreshToken","refresh_token","error_description","error_uri","session_state","_nonce","_code_verifier","hashString","_code_challenge","hexToBase64Url","_skipUserInfo","getRandomValues","msCrypto","User","id_token","access_token","token_type","profile","expires_at","expires_in","AccessTokenEvents","accessTokenExpiringNotificationTime","accessTokenExpiringTimer","Timer","accessTokenExpiredTimer","_accessTokenExpiringNotificationTime","_accessTokenExpiring","_accessTokenExpired","load","unload","addAccessTokenExpiring","addHandler","removeAccessTokenExpiring","removeHandler","addAccessTokenExpired","removeAccessTokenExpired","Event","_name","_callbacks","SessionMonitor","CheckSessionIFrame","timer","_userManager","_CheckSessionIFrameCtor","_timer","addUserLoaded","_start","addUserUnloaded","_stop","getUser","monitorAnonymousSession","querySessionStatus","sub","sid","_sub","_sid","_checkSessionIFrame","_checkSessionInterval","_stopCheckSessionOnError","_callback","_raiseUserSessionChanged","_raiseUserSignedOut","_raiseUserSignedIn","checkSessionInterval","stopCheckSessionOnError","_url","_interval","_stopOnError","_frame_origin","_frame","_boundMessageEvent","contentWindow","_session_state","postMessage","TokenRevocationClient","_XMLHttpRequestCtor","revoke","_revoke","CordovaPopupWindow","_promise","_resolve","_reject","features","popupWindowFeatures","popupWindowTarget","startUrl","_isInAppBrowserInstalled","cordova","_error","_popup","InAppBrowser","_exitCallbackEvent","_exitCallback","_loadStartCallbackEvent","_loadStartCallback","_success","_cleanup","Version","InMemoryWebStorage","UserManager","CordovaPopupNavigator","CordovaIFrameNavigator","UserInfoService","_userInfoService","_joseUtil","_tokenClient","_processSigninParams","_validateTokens","_processClaims","isOpenIdConnect","getClaims","_processCode","_validateIdTokenAndAccessToken","_validateIdToken","_validateIdTokenAttributes","validateJwtAttributes","_validateAccessToken","_getSigningKeyForJwt","header","kid","_filterByAlg","alg","_getSigningKeyForJwtWithSingleRetry","parseJwt","validateJwt","kty","at_hash","_getClaimsFromJwt","iss","KEYUTIL","superclass","lib","Base","mixIn","$super","WordArray","words","sigBytes","enc","Hex","Latin1","Utf8","unescape","BufferedBlockAlgorithm","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","x64","Word","high","low","toX32","Base64","sqrt","SHA256","_hash","HmacSHA256","SHA512","nt","HmacSHA512","SHA384","HmacSHA384","fromNumber","fromString","appName","am","DB","DM","DV","FV","fromInt","mp","invDigit","mpl","mph","um","mt2","r2","q3","dlShiftTo","mu","convert","compareTo","revert","divRemTo","mulTo","multiplyTo","sqrTo","squareTo","subTo","copyTo","drShiftTo","fromRadix","lShiftTo","rShiftTo","isEven","exp","negate","toRadix","bitLength","modPowInt","multiplyUpperTo","multiplyLowerTo","dAddOffset","Ce","Te","Re","Rt","It","Dt","Ie","chunkSize","LN2","log","signum","intValue","dMultiply","testBit","bitwiseTo","shiftLeft","isProbablePrime","nextBytes","changeBit","addTo","modInt","millerRabin","getLowestSetBit","shiftRight","modPow","byteValue","shortValue","toByteArray","and","xor","andNot","not","bitCount","setBit","clearBit","flipBit","remainder","divideAndRemainder","modInverse","gcd","square","De","Le","Ne","appVersion","Ue","Be","Oe","je","Me","He","dmp1","dmq1","coeff","Ve","Ke","curve","zinv","qe","fromBigInteger","infinity","doPublic","setPublic","isPublic","isPrivate","encrypt","encryptOAEP","br","MessageDigest","Util","getCanonicalAlgName","getHashLength","Nr","hashHex","Ur","toBigInteger","getX","getY","isInfinity","twice","getInfinity","multiplyTwo","getQ","getA","getB","decodePointHex","getByteLength","getEncoded","toByteArrayUnsigned","decodeFrom","decodeFromHex","add2D","twice2D","multiply2D","isOnCurve","Sr","KJUR","asn1","ASN1Util","integerToByteHex","bigIntToMinTwosComplementsHex","getPEMStringFromHex","Mr","newObject","ASN1Object","DERBoolean","DERInteger","DERBitString","DEROctetString","DERNull","DERObjectIdentifier","DEREnumerated","DERUTF8String","DERNumericString","DERPrintableString","DERTeletexString","DERIA5String","DERUTCTime","DERGeneralizedTime","DERVisibleString","DERBMPString","DERSequence","DERSet","DERTaggedObject","explicit","jsonToASN1HEX","getEncodedHex","oidHexToInt","oidIntToHex","getLengthHexFromValue","hV","hTLV","isModified","getFreshValueHex","hL","hT","getValueHex","setByParam","tlv","DERAbstractString","getString","setString","Dr","setStringHex","DERAbstractTime","localDateToUTC","formatDate","zeroPadding","getHours","getMinutes","getSeconds","getMilliseconds","Pr","setByDateValue","setByDate","DERAbstractStructured","setByASN1ObjectArray","asn1Array","appendASN1Object","setByBigInteger","setByInteger","setValueHex","bigint","int","setHexValueIncludingUnusedBits","setUnusedBitsAndHexValue","setByBinaryString","setByBooleanArray","newFalseArray","bin","setValueOidString","setValueName","x509","OID","name2oid","setValueNameOrOid","oid","withMillis","millis","sortFlag","sortflag","isExplicit","asn1Object","setASN1Object","tage","tagi","wr","Fr","Er","xr","Ar","kr","Cr","Tr","Rr","Ir","qr","Gr","Lr","Jr","Br","Or","jr","Hr","Vr","Kr","Wr","zr","Yr","Xr","$r","getLblen","getL","getVblen","getVidx","getV","getTLV","getTLVblen","getNextSiblingIdx","getChildIdx","getNthChildIdx","getIdxbyList","getIdxbyListEx","isContextTag","getTLVbyList","getTLVbyListEx","getVbyList","getVbyListEx","getInt","getOID","Qr","getOIDName","oid2name","hextooidstr","dump","ommit_long_octet","isASN1HEX","oidname","x509ExtName","checkStrictDER","isHex","utf8tob64u","b64utoutf8","isBase64","isBase64URL","isIntegerArray","isPrintable","isIA5","isMail","DIGESTINFOHEAD","sha1","sha224","sha256","sha384","sha512","md2","md5","ripemd160","DEFAULTPROVIDER","hmacmd5","hmacsha1","hmacsha224","hmacsha256","hmacsha384","hmacsha512","hmacripemd160","MD5withRSA","SHA1withRSA","SHA224withRSA","SHA256withRSA","SHA384withRSA","SHA512withRSA","RIPEMD160withRSA","MD5withECDSA","SHA1withECDSA","SHA224withECDSA","SHA256withECDSA","SHA384withECDSA","SHA512withECDSA","RIPEMD160withECDSA","SHA1withDSA","SHA224withDSA","SHA256withDSA","MD5withRSAandMGF1","SHAwithRSAandMGF1","SHA1withRSAandMGF1","SHA224withRSAandMGF1","SHA256withRSAandMGF1","SHA384withRSAandMGF1","SHA512withRSAandMGF1","RIPEMD160withRSAandMGF1","CRYPTOJSMESSAGEDIGESTNAME","MD5","SHA1","SHA224","RIPEMD160","getDigestInfoHex","getPaddedDigestInfoHex","digestString","digestHex","sha256Hex","sha512Hex","isKey","DSA","ECDSA","prov","SECURERANDOMGEN","getRandomHexOfNbytes","getRandomBigIntegerOfNbytes","getRandomHexOfNbits","getRandomBigIntegerOfNbits","getRandomBigIntegerZeroToMax","getRandomBigIntegerMinToMax","setAlgAndProvider","updateString","updateHex","digest","sjcl","codec","toBits","fromBits","algName","provName","HASHLENGTH","Mac","algProv","mac","pass","doFinal","doFinalString","doFinalHex","setPassword","utf8","rstr","b64","b64u","Signature","_setAlgNames","mdAlgName","pubkeyAlgName","_zeroPaddingOfSignature","Zr","prvKey","pubKey","sHashHex","ecprvhex","eccurvename","prv","hSign","signWithMessageHashPSS","pssSaltLen","signWithMessageHash","signString","signHex","verify","ecpubhex","pub","verifyWithMessageHashPSS","verifyWithMessageHash","algProvName","initParams","psssaltlen","prvkeypem","prvkeypas","Cipher","getAlgByKeyAndName","decrypt","decryptOAEP","oidhex2name","ECParameterDB","getName","getBigRandom","setNamedCurve","ecparams","getByName","prvKeyHex","pubKeyHex","curveName","setPrivateKeyHex","setPublicKeyHex","getPublicKeyXYHex","keylen","getShortNISTPCurveName","generateKeyPairHex","biRSSigToASN1Sig","fromByteArrayUnsigned","serializeSig","verifyHex","parseSigHex","verifyRaw","Bitcoin","parseSig","toByteArraySigned","parseSigCompact","readPKCS5PrvKeyHex","readPKCS8PrvKeyHex","readPKCS8PubKeyHex","readCertPubKeyHex","parseSigHexInHexRS","asn1SigToConcatSig","concatSigToASN1Sig","hexRSSigToASN1Sig","regist","AES","iv","ciphertext","proc","eproc","ivlen","TripleDES","DES","cipher","ivsalt","keyhex","ivhex","parsePKCS5PEM","getKeyAndUnusedIvByPasscodeAndIvsalt","decryptKeyB64","getDecryptedKeyHex","getEncryptedPKCS5PEMFromPrvKeyHex","parseHexOfEncryptedPKCS8","encryptionSchemeAlg","encryptionSchemeIV","pbkdf2Salt","pbkdf2Iter","getPBKDF2KeyHexFromParam","PBKDF2","keySize","iterations","_getPlainPKCS8HexFromEncryptedPKCS8PEM","getKeyFromEncryptedPKCS8PEM","getKeyFromPlainPrivatePKCS8Hex","parsePlainPrivatePKCS8Hex","algparam","algoid","keyidx","getKeyFromPlainPrivatePKCS8PEM","_getKeyFromPublicPKCS8Hex","parsePublicRawRSAKeyHex","parsePublicPKCS8Hex","dp","dq","co","qi","setPrivateEx","setPrivate","crv","getPublicKeyFromCertHex","getPublicKeyFromCertPEM","generateKeypair","prvKeyObj","pubKeyObj","getPEM","SubjectPublicKeyInfo","seq","octstr","bitstr","null","getKeyFromCSRPEM","getKeyFromCSRHex","parseCSRHex","p8pubkeyhex","getKeyID","getJWKFromKey","getPosArrayOfChildrenFromHex","getHexValueArrayOfChildrenFromHex","readPrivateKeyFromPEMString","readPKCS5PubKeyHex","readCertHex","getPublicKeyHex","tn","en","rn","nn","AlgorithmIdentifier","PSSNAME2ASN1TLV","HEX2STAG","foffset","aExtInfo","getVersion","getSerialNumberHex","getSignatureAlgorithmField","getAlgorithmIdentifierName","getX500Name","getIssuerHex","getIssuerString","hex2dn","getSubject","getSubjectHex","getSubjectString","getNotBefore","getNotAfter","getPublicKeyIdx","getPublicKeyContentIdx","getPublicKey","getSignatureAlgorithmName","getSignatureValueHex","verifySignature","parseExt","critical","vidx","getExtInfo","getExtBasicConstraints","extname","cA","pathLen","getExtKeyUsage","getExtKeyUsageString","getExtKeyUsageBin","KEYUSAGE_NAME","getExtSubjectKeyIdentifier","getExtAuthorityKeyIdentifier","getGeneralNames","issuer","dn","sn","getExtExtKeyUsage","getExtExtKeyUsageName","getExtSubjectAltName","getExtIssuerAltName","getGeneralName","rfc822","dns","uri","ip","getExtSubjectAltName2","getExtCRLDistributionPoints","getDistributionPoint","dpname","getDistributionPointName","full","getExtCRLDistributionPointsURI","getExtAIAInfo","ocsp","caissuer","getExtAuthorityInfoAccess","getExtCertificatePolicies","getPolicyInformation","policyoid","getPolicyQualifierInfo","cps","unotice","getUserNotice","exptext","getDisplayText","getExtCRLNumber","getExtCRLReason","getExtOcspNonce","getExtOcspNoCheck","getExtAdobeTimeStamp","reqauth","getX500NameRule","ds","getX500NameArray","dnarraytostr","getRDN","getAttrTypeAndValue","oid2atype","readCertPEM","getParam","serial","sigalg","notbefore","notafter","subject","sbjpubkey","getExtParamArray","sighex","getExtParam","extn","findExt","updateExtCDPFullURI","updateExtAIAOCSP","updateExtAIACAIssuer","getInfo","dname","doPrivate","signPSS","verifyPSS","SALT_LEN_HLEN","SALT_LEN_MAX","SALT_LEN_RECOVER","hex2rdn","hex2attrTypeValue","getPublicKeyInfoPropOfCertPEM","JWS","isSafeJSONString","parseJWS","parsedJWS","sigvalH","headB64U","payloadB64U","sigvalB64U","si","sigvalBI","headS","payloadS","readSafeJSONString","jwsalg2sigalg","headerObj","payloadObj","headerPP","payloadPP","sigHex","verifyJWT","inArray","includedArray","aud","IntDate","getNow","verifyAt","gracePeriod","nbf","iat","jti","HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","PS256","PS384","PS512","getEncodedSignatureValueFromJWS","getJWKthumbprint","getZulu","intDate2UTCString","toUTCString","intDate2Zulu","getUTCHours","getUTCSeconds","SecureRandom","rng_seed_time","BigInteger","RSAKey","EDSA","an","un","cn","hn","ln","ASN1HEX","CryptoJS","b64toBA","stoBA","BAtos","BAtohex","stohex","stob64","stob64u","b64utos","b64tob64u","b64utob64","hex2b64","b64utohex","utf8tob64","b64toutf8","utf8tohex","hextoutf8","hextorstr","rstrtohex","hextob64","hextob64nl","b64nltohex","hextopem","pemtohex","hextoArrayBuffer","ArrayBuffer","DataView","setUint8","ArrayBuffertohex","byteLength","getUint8","zulutomsec","zulutosec","zulutodate","datetozulu","getUTCMilliseconds","uricmptohex","hextouricmp","ipv6tohex","hextoipv6","hextoip","iptohex","encodeURIComponentAll","newline_toUnix","newline_toDos","hextoposhex","intarystrtohex","strdiffidx","xn","An","kn","Pn","Buffer","TYPED_ARRAY_SUPPORT","RangeError","isEncoding","write","isBuffer","isView","readUInt16BE","fromByteArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","kMaxLength","poolSize","_augment","species","allocUnsafe","allocUnsafeSlow","_isBuffer","swap16","swap32","swap64","readUIntLE","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","x5c","_validateJwt","azp","scopes","SilentRenewService","UserManagerSettings","UserManagerEvents","_silentRenewService","automaticSilentRenew","startSilentRenew","monitorSession","_sessionMonitor","_tokenRevocationClient","_loadUser","removeUser","storeUser","signinRedirect","useReplaceToNavigate","_signinStart","_redirectNavigator","signinRedirectCallback","_signinEnd","signinPopup","popup_redirect_uri","_signin","_popupNavigator","signinPopupCallback","_signinCallback","signinSilent","_useRefreshToken","includeIdTokenInSilentRenew","validateSubOnSilentRenew","current_sub","_signinSilentIframe","_validateIdTokenFromTokenRefreshToken","auth_time","silent_redirect_uri","_iframeNavigator","silentRequestTimeout","signinSilentCallback","signinCallback","signoutCallback","signoutRedirectCallback","signoutPopupCallback","query_status_response_type","prepare","signoutRedirect","_signoutStart","_signoutEnd","signoutPopup","popup_post_logout_redirect_uri","_signout","revokeAccessTokenOnSignout","_revokeInternal","revokeAccessToken","_revokeAccessTokenInternal","_revokeRefreshTokenInternal","stopSilentRenew","_userStore","_userStoreKey","redirectNavigator","popupNavigator","iframeNavigator","userStore","RedirectNavigator","PopupNavigator","IFrameNavigator","_popup_redirect_uri","_popup_post_logout_redirect_uri","_popupWindowFeatures","_popupWindowTarget","_silent_redirect_uri","_silentRequestTimeout","_automaticSilentRenew","_validateSubOnSilentRenew","_includeIdTokenInSilentRenew","_monitorSession","_monitorAnonymousSession","_query_status_response_type","_revokeAccessTokenOnSignout","PopupWindow","notifyOpener","_checkForPopupClosedTimer","_checkForPopupClosed","closed","opener","IFrameWindow","notifyParent","_timeout","_origin","protocol","host","_userLoaded","_userUnloaded","_silentRenewError","_userSignedIn","_userSignedOut","_userSessionChanged","removeUserLoaded","removeUserUnloaded","addSilentRenewError","removeSilentRenewError","_raiseSilentRenewError","addUserSignedIn","removeUserSignedIn","addUserSignedOut","removeUserSignedOut","addUserSessionChanged","removeUserSessionChanged","_nowFunc","expiration","_timerHandle","_expiration","_tokenExpiring","isarray","compile","tokensToFunction","tokensToRegExp","PATH_REGEXP","defaultDelimiter","delimiter","escaped","capture","modifier","asterisk","partial","escapeGroup","escapeString","encodeURIComponentPretty","encodeURI","segment","attachKeys","re","route","endsWithDelimiter","groups","regexpToRegexp","arrayToRegexp","stringToRegexp","_isRTL","RTL_LOCAL_STORAGE_KEY","savedRTL","persistSetting","getRTLSafeKeyCode","getIconContent","mergeImageProps","iconContent","accessibleName","finalChildren","deprecationMap","resetIds","counter","DATA_PORTAL_ATTRIBUTE","setPortalAttribute","ResponsiveMode","_defaultMode","_lastMode","RESPONSIVE_MAX_CONSTRAINT","getInitialResponsiveMode","withResponsiveMode","ComposedComponent","resultClass","_onResize","responsiveMode","getResponsiveMode","_updateComposedComponentRef","unknown","currentWindow","hoistStatics","dest","_timeoutIds","_immediateIds","_intervalIds","_animationFrameIds","_onErrorHandler","_noop","clearImmediate","_logError","setImmediate","immediateId","intervalId","wait","lastResult","lastArgs","waitMS","leading","trailing","lastExecuteTime","userCall","waitLength","debounce","noOpFunction","flush","pending","maxWait","markExecuted","invokeFunction","executeImmediately","maxWaitDelta","maxWaitExpired","resultFunction","animationFrameId","animationFrameCallback","TooltipOverflowMode","alignMap","StackItem","createComponent","Slots","grow","shrink","disableShrink","verticalFill","alignSelf","Row","justify","_props$gutter","setScreens","flexible","setFlexible","useFlexGapSupport","gutterRef","ResponsiveObserve","currentGutter","gutters","getGutter","rowStyle","marginLeft","marginRight","_gutters","marginTop","marginBottom","rowContext","curry","propEq","Ctor","WindowContext","useWindow","useDocument","XFindIndex","_reduced","_xfindIndex","customStyles","splitButtonDividerBaseStyles","splitButtonStyles","borderTopRightRadius","borderBottomRightRadius","verticalAlign","getKeyThenIncreaseKey","attachTypeApi","messageInstance","_rcNotification","_LoadingOutlined","_ExclamationCircleFilled","_CloseCircleFilled","_CheckCircleFilled","_InfoCircleFilled","_useMessage","_configProvider","localPrefixCls","hasTransitionName","getRCNotificationInstance","_globalConfig","instanceConfig","IconComponent","messageClass","closePromise","filled","rejected","messageKey","originalApi","isArgsProps","useMessage","CheckOutlined","CheckOutlinedSvg","styleForPseudo","isHidden","isNotGrey","animationStart","destroyed","waveColor","insertExtraNode","extraNode","attributeName","getAttributeName","nodeRoot","getRootNode","nodeBody","Document","onTransitionStart","onTransitionEnd","resetEffect","bindAnimationEvent","getPropertyValue","clickWaveTimeoutId","animationStartId","renderWave","InternalForm","contextSize","contextForm","_props$className","_props$size","labelCol","wrapperCol","hideRequiredMark","_props$layout","layout","scrollToFirstError","requiredMark","restFormProps","mergedRequiredMark","formClassName","errorInfo","defaultScrollToFirstError","_typeof3","_useForm3","_classCallCheck2","_createClass2","_inherits2","_createSuper2","EyeOutlined","EyeOutlinedSvg","runtime","Op","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","_invoke","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","_sent","dispatchException","tryCatch","GenStateSuspendedYield","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","ctor","awrap","async","skipTempReset","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","lens","toFunctorFn","baseGetTag","funcToString","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","SetCache","arraySome","cacheHas","bitmask","customizer","equalFunc","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","stubFalse","freeExports","freeModule","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","isTypedArray","items_per_page","jump_to","jump_to_confirm","page","prev_page","next_page","prev_5","next_5","prev_3","next_3","PresetStatusColorTypes","ButtonGlobalClassNames","msButton","msButtonHasMenu","msButtonIcon","msButtonMenuIcon","msButtonLabel","msButtonDescription","msButtonScreenReaderText","msButtonFlexContainer","msButtonTextContainer","getBaseButtonClassNames","menuIconClassName","isSplit","isExpanded","rootChecked","rootExpanded","iconExpandedHovered","menuIconExpandedHovered","rootExpandedHovered","rootHasMenu","rootHovered","labelHovered","iconHovered","descriptionHovered","menuIconHovered","rootFocused","rootPressed","iconPressed","descriptionPressed","menuIconPressed","rootCheckedDisabled","rootCheckedHovered","rootCheckedPressed","iconExpanded","iconChecked","labelChecked","labelDisabled","menuIconChecked","menuIconExpanded","descriptionChecked","descriptionDisabled","fixEmojiLength","TextArea","_a$bordered","_a$showCount","showCount","onCompositionStart","onCompositionEnd","clearableInputRef","compositing","setCompositing","handleSetValue","hasMaxLength","resizableTextArea","textArea","RcTextArea","triggerValue","textareaNode","valueLength","dataCount","Checkbox","defaultChecked","autoFocus","globalProps","getDataOrAriaProps","resetWarned","objectWithoutPropertiesLoose","_Notice","_toConsumableArray2","Fragment","maskProps","getMotionName","sentinelStyle","footer","bodyProps","destroyOnClose","modalRender","ariaId","mousePosition","sentinelStartRef","sentinelEndRef","dialogRef","_sentinelStartRef$cur","changeActive","footerNode","headerNode","closer","setTransformOrigin","contentStyle","elementOffset","parentWindow","MemoChildren","Dialog","_props$keyboard","keyboard","_props$focusTriggerAf","focusTriggerAfterClose","scrollLocker","wrapStyle","wrapClassName","wrapProps","afterClose","_props$closable","_props$mask","_props$maskClosable","maskStyle","lastOutSideActiveElementRef","wrapperRef","contentRef","animatedVisible","setAnimatedVisible","ariaIdRef","onInternalClose","contentClickRef","contentTimeoutRef","onWrapperClick","lock","unLock","shiftKey","_contentRef$current","preventScroll","DialogWrap","_props$destroyOnClose","_afterClose","getOpenCount","_options$element","oldStyle","styleKeys","cacheStyle","scrollingEffectClassName","scrollingEffectClassNameReg","bodyClassName","scrollBarSize","addClassName","locks","ScrollLocker","_options","lockTarget","_this$options","reLock","findLock","_this$options3","_this$options2","containerClassName","_this$options4","_this$options5","_ref7","_findLock$options","openCount","supportDom","cacheOverflow","PortalWrapper","componentRef","rafId","updateScrollLocker","prevVisible","updateOpenCount","prevGetContainer","removeCurrentContainer","attachToParent","setWrapperClassName","_this$container","_this$container$paren","switchScrollingEffect","IconType","_onImageLoadingStateChange","imageLoadError","imageErrorAs","iconContentChildren","RootType","ImageType","finalIconContentChildren","_props$trigger","_props$mouseEnterDela","_props$mouseLeaveDela","overlayStyle","afterVisibleChange","_props$placement","_props$align","_props$destroyTooltip","destroyTooltipOnHide","domRef","extraProps","destroyTooltip","keepParent","_props$arrowContent","_props$arrow","arrow","_props$placements","Placements","triggerVisible","setTriggerVisible","getOverlayElement","onOverlayClick","overlayProps","getMenuElement","overlayElement","extraOverlayProps","triggerHideAction","minOverlayWidthMatchTrigger","getMinOverlayWidthMatchTrigger","childrenProps","childClassName","getOpenClassName","renderChildren","Dropdown","hiddenTextarea","RESIZE_STATUS","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","computedStyleCache","calculateNodeStyling","useCache","paddingSize","borderSize","sizingStyle","nodeInfo","ResizableTextArea","nextFrameActionId","resizeFrameId","saveTextArea","handleResize","resizeStatus","autoSize","NONE","resizeOnNextFrame","resizeTextarea","minRows","maxRows","textareaStyles","uiTextNode","_calculateNodeStyling","MIN_SAFE_INTEGER","singleRowHeight","resize","calculateNodeHeight","RESIZING","RESIZED","fixFirefoxAutoScroll","renderTextArea","_this$props2$prefixCl","currentStart","selectionStart","currentEnd","appendFunction","functions","extendComponent","methods","REACT_LIFECYCLE_EXCLUSIONS","composedComponentInstance","_composedComponentInstance","_hoisted","destination","exclusions","hoisted","hoistMethods","InfoCircleFilled","InfoCircleFilledSvg","globalSettings","_getGlobalSettings","oldValue","changeDescription","addChangeListener","__id__","_getCallbacks","removeChangeListener","globalObj","createThunkMiddleware","extraArgument","thunk","withExtraArgument","uniq","uniqBy","identity","loadStylesheet","loadScript","__importDefault","PromiseGlobal","promise_polyfill_1","promise_1","scriptPromiseCache","scriptLoadPromise","stringifiedOptions","forceScriptReload","script","dataAttributes","crossorigin","clearCache","isEdge","isSamsung","isDuckDuckGo","isSilk","isIE11","isIos","isGoogleSearchApp","isIosFirefox","webkitRegexp","isIosGoogleSearchApp","isIosWebview","statusBarVisible","statusbar","MINIMUM_SUPPORTED_CHROME_IOS_VERSION","isChrome","isSamsungBrowser","isUnsupportedIosChrome","isOperaMini","isAndroidWebview","androidWebviewRegExp","isOldSamsungBrowserOrSamsungWebview","_classesOf","toAdd","classname","toRemove","adding","EventEmitter","eventCallbacks","indexOfCallback","_emit","hasListener","createChild","ChildObject","GlobalPromise","ExtendedPromise","_resolveFunction","_rejectFunction","_onResolve","onResolve","defaultOnResolve","_onReject","onReject","defaultOnReject","shouldCatchExceptions","_resetState","setPromise","PromiseClass","suppressUnhandledPromiseMessage","allSettled","race","isFulfilled","_setResolved","argForResolveFunction","_setRejected","isResolved","isRejected","set_attributes_1","default_attributes_1","assign_1","iframe","defaultAttributes","setAttributes","objs","frameBorder","allowtransparency","scrolling","deferred","once","promiseOrCallback","deferred_1","once_1","promise_or_callback_1","wrapPromise","wrapPrototype","ignoreMethods","includePrivateMethods","transformPrivateMethods","isNotPrivateMethod","isNonConstructorFunction","isNotAnIgnoredMethod","original","BraintreeError","analytics","convertMethodsToError","ApplePay","_instantiatedWithClient","useDeferredClient","_client","client","_createPromise","createPromise","_setMerchantIdentifier","_waitForClient","applePayConfig","getConfiguration","gatewayConfiguration","applePayWeb","merchantIdentifier","createPaymentRequest","paymentRequest","_createPaymentRequestSynchronously","applePay","currencyCode","merchantCapabilities","supportedNetworks","network","performValidation","validationURL","applePayWebSession","validationUrl","domainName","hostname","endpoint","_meta","sendEvent","APPLE_PAY_MERCHANT_VALIDATION_FAILED","details","originalError","APPLE_PAY_MERCHANT_VALIDATION_NETWORK","APPLE_PAY_VALIDATION_URL_REQUIRED","tokenize","applePaymentToken","paymentData","applePayCards","APPLE_PAY_TOKENIZATION","APPLE_PAY_PAYMENT_TOKEN_REQUIRED","teardown","APPLE_PAY_NOT_ENABLED","MERCHANT","NETWORK","basicComponentVerification","createAssetsUrl","createDeferredClient","VERSION","authorization","applePayInstance","assetsUrl","isIe","isIe9","BRAINTREE_VERSION","GraphQL","isVerifiedDomain","convertToBraintreeError","getGatewayConfiguration","createAuthorizationData","addMetadata","GRAPHQL_URLS","assets","FRAUDNET_FNCLS","FRAUDNET_SOURCE","FRAUDNET_URL","cachedClients","Client","configuration","configurationJSON","CLIENT_MISSING_GATEWAY_CONFIGURATION","CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN","_request","_configuration","_clientApiBaseUrl","clientApiUrl","graphQL","_graphQL","formatRequestError","requestError","CLIENT_REQUEST_TIMEOUT","CLIENT_AUTHORIZATION_INVALID","CLIENT_AUTHORIZATION_INSUFFICIENT","CLIENT_RATE_LIMITED","CLIENT_GATEWAY_NETWORK","CLIENT_REQUEST_ERROR","httpStatus","getAuthorizationHeadersForGraphQL","Authorization","authorizationFingerprint","initialize","clientInstance","authData","CLIENT_INVALID_AUTHORIZATION","isDebug","_findOrCreateFraudnetJSON","clientMetadataId","additionalData","rda_tenant","mid","merchantId","pieces","cid","fp","bu","requestPromise","optionName","requestOptions","shouldCollectData","creditCards","collectDeviceData","CLIENT_OPTION_REQUIRED","timeout","analyticsMetadata","CLIENT_OPTION_INVALID","environment","clientSdkMetadata","platform","integration","sessionId","headers","sendAnalyticsEvent","kind","resolvedData","CLIENT_GRAPHQL_REQUEST_ERROR","_httpStatus","INTERNAL","constants","isDateStringBeforeOrOn","configUrl","reqOptions","merchantAppId","PLATFORM","sdkVersion","SOURCE","INTEGRATION","integrationType","braintreeLibraryVersion","BRAINTREE_LIBRARY_VERSION","configVersion","tokenizationKey","errorTemplate","authorizationType","sharedErrors","INSTANTIATION_OPTION_REQUIRED","querystring","prepBody","parseBody","xhr","isXHRAvailable","isAvailable","GraphQLRequest","DefaultRequest","MAX_TCP_RETRYCOUNT","TCP_PRECONNECT_BUG_STATUS_CODE","requestShouldRetry","graphQLRequestShouldRetryWithClientApi","errorClass","extensions","_requestWithRetry","tcpRetryCount","resBody","ajaxRequest","parsedBody","req","getRequestObject","isGraphQLRequest","getUrl","getBody","getMethod","getHeaders","queryify","onreadystatechange","readyState","adaptResponseBody","determineStatus","onprogress","ontimeout","requestOpenError","headerKey","_method","_headers","errorResponseAdapter","cardTypeTransforms","creditCard","AMERICAN_EXPRESS","DISCOVER","INTERNATIONAL_MAESTRO","JCB","MASTERCARD","SOLO","UK_MAESTRO","UNION_PAY","VISA","ELO","visaCheckout","googlePay","masterpass","DINERS","configurationResponseAdapter","responseBody","adaptConfigurationResponseBody","clientConfiguration","analyticsUrl","venmo","supportedFeatures","feature","braintreeApi","mapCardTypes","supportedCardBrands","ideal","kount","kountMerchantId","challenges","challenge","supportedCardTypes","threeDSecureEnabled","threeDSecure","androidPay","googleAuthorizationFingerprint","googleAuthorization","paypalClientId","payWithVenmo","accessToken","paypal","paypalEnabled","currencyIsoCode","unionPay","merchantAccountId","apikey","apiKey","externalClientId","merchantCheckoutId","usBankAccount","routeId","plaid","publicKey","plaidPublicKey","cardTypes","cardTypeTransformMap","CARD_BRAND_MAP","BIN_DATA_MAP","YES","NO","UNKNOWN","AUTHENTICATION_INSIGHT_MAP","PSDTWO","creditCardTokenizationResponseAdapter","adaptTokenizeCreditCardResponseBody","regulationEnvironment","tokenizeCreditCard","lastTwo","last4","consumed","cardholderName","expirationMonth","expirationYear","cardType","brandCode","lastFour","threeDSecureInfo","authenticationInsight","customerAuthenticationRegulationEnvironment","userErrorResponseAdapter","errorWithClassResponseAdapter","fieldErrors","buildFieldErrors","getLegacyMessage","inputPath","addFieldError","errorDetail","fieldError","legacyCode","inputField","CONFIGURATION_QUERY","operationName","createMutation","hasAuthenticationInsight","mutation","createCreditCardTokenizationBody","cc","billingAddress","expDate","expirationDate","variables","cvv","authenticationInsightInput","addValidationRule","creditCardTokenization","browserDetection","tokenize_credit_cards","disallowedInputPaths","containsDisallowedlistedKeys","getGraphQLEndpoint","featureEnabled","getClientApiPath","_isGraphQLEnabled","clientApiPrefix","pathParts","creditCardTokenizationBodyGenerator","configurationBodyGenerator","generators","adapters","clientApiPath","_clientSdkMetadata","_sendAnalyticsEvent","_generator","_adapter","isGraphQLError","parsedResponse","snakeCaseToCamelCase","snakeString","formatBodyKeys","originalBody","camelCaseKey","formattedBody","generatedBody","ajaxIsAvaliable","JSONPDriver","AJAXDriver","getUserAgent","isHTTP","isAjaxAvailable","timeouts","_removeScript","_createScriptTag","callbackName","_cleanupGlobal","_setupTimeout","_setupGlobalCallback","getElementsByTagName","XDomainRequest","GOOGLE_PAYMENT_NOT_ENABLED","GOOGLE_PAYMENT_GATEWAY_ERROR","GOOGLE_PAYMENT_UNSUPPORTED_VERSION","generateGooglePayConfiguration","CREATE_PAYMENT_DATA_REQUEST_METHODS","GooglePayment","_useDeferredClient","_googlePayVersion","googlePayVersion","_googleMerchantId","googleMerchantId","_isUnsupportedGooglePayAPIVersion","applyDefaultsToPaymentMethodConfiguration","merchantSubmittedPaymentMethod","defaultPaymentMethod","parameter","_getDefaultConfig","_defaultConfig","_createV1PaymentDataRequest","paymentDataRequest","defaultConfig","overrideCardNetworks","cardRequirements","allowedCardNetworks","defaultConfigCardNetworks","_createV2PaymentDataRequest","allowedPaymentMethods","paymentMethod","createPaymentDataRequest","overrides","_createPaymentDataRequestSyncronously","createPaymentDataRequestMethod","parseResponse","rawResponse","apiVersion","paymentMethodData","tokenizationData","paymentMethodToken","paypalAccounts","androidPayCards","isNetworkTokenized","allowedAttributes","attributeValidationError","HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED","HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED","useMin","componentId","directions","navigationDirections","focusIntercept","findParentTags","userFocusableTagNames","unfocusedInputTypes","_isUserFocusableElement","hasSoftwareKeyboard","_createNavigationHelper","numberOfElementsInForm","BACK","checkIndexBounds","indexChange","FORWARD","_findFirstFocusableElement","elementsInForm","elementsIndex","removeExtraFocusElements","checkoutForm","onRemoveFocusIntercepts","matchFocusElement","createFocusChangeHandler","hostedFieldsId","navHelper","sourceElement","onTriggerInputFocus","allowedStyles","cssClass","computedStyles","Destructor","iFramer","Bus","composeUrl","getStylesFromClass","INTEGRATION_TIMEOUT_MS","injectFrame","allowedFields","shadow","findRootNode","getCardTypes","focusChange","destroyFocusIntercept","SAFARI_FOCUS_TIMEOUT","createInputEventHandler","eventData","merchantPayload","emittedBy","containerElement","performBlurFixForIos","externalClasses","FOCUSED","VALID","INVALID","isPotentiallyValid","_state","cards","hiddenInput","isVisibleEnough","boundingBox","verticalMidpoint","horizontalMidpoint","HostedFields","failureTimeout","clientConfig","hostedFieldsUrl","frameReadyPromiseResolveFunctions","frameReadyPromises","_merchantConfigurationOptions","_clientPromise","_injectedNodes","_destructor","_fields","_bus","channel","verifyDomain","registerFunctionForTeardown","externalContainer","internalContainer","frameReadyPromise","HOSTED_FIELDS_INVALID_FIELD_KEY","HOSTED_FIELDS_INVALID_FIELD_SELECTOR","fieldSelector","fieldContainer","fieldKey","HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME","isShadowElement","transformToSlot","maxlength","HOSTED_FIELDS_FIELD_PROPERTY_INVALID","minlength","defaultIFrameStyle","_setupLabelFocus","isEmpty","isIE","REMOVE_FOCUS_INTERCEPTS","TRIGGER_FOCUS_CHANGE","emit","targetType","READY_FOR_CLIENT","reply","CARD_FORM_ENTRY_HAS_BEGUN","BIN_AVAILABLE","formatMerchantConfigurationForIframes","_cleanUpFocusIntercepts","FRAME_READY","INPUT_EVENT","formattedConfig","_getAnyFieldContainer","iframeContainer","_attachInvalidFieldContainersToError","invalidFieldKeys","invalidFields","getChallenges","getSupportedCardTypes","TOKENIZATION_REQUEST","addClass","ADD_CLASS","HOSTED_FIELDS_FIELD_NOT_PRESENT","HOSTED_FIELDS_FIELD_INVALID","removeClass","REMOVE_CLASS","attributeErr","SET_ATTRIBUTE","setMonthOptions","errorMessage","merchantOptions","SET_MONTH_OPTIONS","setMessage","SET_MESSAGE","REMOVE_ATTRIBUTE","setPlaceholder","CLEAR_FIELD","fieldConfig","TRIGGER_INPUT_FOCUS","focusHandler","frameType","clearboth","fragment","createDocumentFragment","focusInterceptBefore","focusInterceptAfter","supportsInputFormatting","HOSTED_FIELDS_TIMEOUT","isChromeOS","isChromeIos","isIe10","isFirefox","enumerate","maxExpirationYearAge","externalEvents","FOCUS","BLUR","EMPTY","NOT_EMPTY","VALIDITY_CHANGE","CARD_TYPE_CHANGE","defaultMaxLengths","postalCode","tokenizationErrorCodes","HOSTED_FIELDS_TOKENIZATION_FAIL_ON_DUPLICATE","HOSTED_FIELDS_TOKENIZATION_CVV_VERIFICATION_FAILED","autocompleteMappings","HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR","CUSTOMER","HOSTED_FIELDS_FAILED_TOKENIZATION","HOSTED_FIELDS_FIELDS_EMPTY","HOSTED_FIELDS_FIELDS_INVALID","parents","focusInterceptStyles","idString","focusInputs","idComponents","hasBTPrefix","isAllowedType","isValidDirection","creditCardType","card","jsonClone","authAttrs","clientInstanceOrPromise","timestamp","timestampInPromise","ANALYTICS_PREFIX","isAsync","ANALYTICS_REQUEST_TIMEOUT_MS","assignNormalized","assignPolyfill","_assign","INCOMPATIBLE_VERSIONS","INVALID_USE_OF_INTERNAL_FUNCTION","remaining","findRootError","CLIENT_API_URLS","production","sandbox","ASSETS_URLS","BUS_CONFIGURATION_REQUEST_EVENT","METHOD_CALLED_AFTER_TEARDOWN","originalErr","btErrorObject","_isTokenizationKey","_parseTokenizationKey","parsedClientToken","parsedTokenizationKey","braintree","CLIENT_SCRIPT_FAILED_TO_LOAD","batchExecuteFunctions","_teardownRegistry","_isTearingDown","enumeration","PopupBridge","isHTTPS","REQUIRED_CONFIG_KEYS","_validateFrameConfiguration","FrameService","_serviceId","dispatchFrameUrl","openFrameUrl","_setBusEvents","dispatchFrameReadyHandler","DISPATCH_FRAME_READY","_writeDispatchFrame","frameName","DISPATCH_FRAME_NAME","frameSrc","_dispatchFrame","DISPATCH_FRAME_CLASS","DISPATCH_FRAME_REPORT","_onCompleteCallback","_getFrameForEnvironment","isFrameClosed","_cleanupFrame","FRAME_SERVICE_FRAME_OPEN_FAILED_IE_BUG","FRAME_SERVICE_FRAME_OPEN_FAILED","_pollForPopupClose","redirect","createHandler","beforeClose","beforeFocus","createNoopHandler","isClosed","_popupInterval","FRAME_SERVICE_FRAME_CLOSED","POPUP_POLL_INTERVAL","usePopup","supportsPopups","popupBridgeExists","popupBridge","initOptions","frameService","ELEMENT_STYLES","_closed","_container","iframerConfig","isIosWKWebview","_lockScrolling","_el","_unlockScrolling","redirectUrl","_savedBodyProperties","scrollTo","clientLeft","clientTop","onComplete","popupDismissed","calculatePosition","userDefinedPosition","DEFAULT_POPUP_HEIGHT","DEFAULT_POPUP_WIDTH","POPUP_BASE_OPTIONS","composeOptions","outerHeight","screenY","screenTop","outerWidth","screenX","screenLeft","windowMetric","popupMetric","POPUP_CLOSE_TIMEOUT","generateTokenizationParameters","basicTokenizationParameters","gateway","paypalPaymentMethod","androidPayConfiguration","apiVersionMinor","allowedAuthMethods","tokenizationSpecification","merchantInfo","purchase_context","purchase_units","payee","recurring_payment","paymentMethodTokenizationParameters","tokenizationType","convertDateStringToDate","dateString","splitDate","firstDate","secondDate","legalHosts","stripSubdomains","domain","mainDomain","PromisePolyfill","_notEmpty","hasQueryParams","toReturn","keyValue","getShadowHost","shadowHost","slotName","slot","slotProvider","atobNormalized","atobPolyfill","base64String","b2","b3","_atob","PAYPAL_NOT_ENABLED","PAYPAL_SANDBOX_ACCOUNT_NOT_LINKED","PAYPAL_ACCOUNT_TOKENIZATION_FAILED","PAYPAL_FLOW_FAILED","PAYPAL_FLOW_OPTION_REQUIRED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_PARAM_REQUIRED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_SETUP_FAILED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_POPUP_OPEN_FAILED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_CANCELED","PAYPAL_START_VAULT_INITIATED_CHECKOUT_IN_PROGRESS","PAYPAL_INVALID_PAYMENT_OPTION","PayPalCheckout","_initialize","isSupported","REQUIRED_PARAMS_FOR_START_VAULT_INITIATED_CHECKOUT","PAYPAL_SDK_PRELOAD_URL","_merchantAccountId","_autoSetDataUserIdToken","autoSetDataUserIdToken","_authorizationInformation","fingerprint","environmentNoNetwork","_setupError","_frameServicePromise","_setupFrameService","frameServicePromise","_assetsUrl","_isDebug","_loadingFrameUrl","service","_frameService","createPayment","FLOW_ENDPOINTS","flow","_createPaymentResource","paymentResource","agreementSetup","tokenId","intentFromCreatePayment","offerCredit","_formatPaymentResourceData","intent","startVaultInitiatedCheckout","missingRequiredParam","_vaultInitiatedCheckoutInProgress","_addModalBackdrop","_waitForVaultInitiatedCheckoutDependencies","frameCommunicationPromise","startVaultInitiatedCheckoutPromise","returnUrl","_constructVaultCheckutUrl","cancelUrl","_createFrameServiceCallback","_removeModalBackdrop","optOutOfModalBackdrop","_modalBackdrop","focusVaultInitiatedCheckoutWindow","closeVaultInitiatedCheckoutWindow","tokenizePayment","paymentToken","payerID","PayerID","paymentID","paymentId","tokenizationError","serviceId","tokenizeOptions","shouldVault","billingToken","ecToken","payerId","shippingOptionsId","vault","_formatTokenizeData","_formatTokenizePayload","creditFinancingOffered","getClientId","clientId","loadPayPalSDK","loadPromise","userIdToken","_paypalScript","components","currency","_attachPreloadPixel","firstElementChild","subdomain","preloadOptions","offerPaypalCredit","experienceProfile","brandName","noShipping","enableShippingAddress","addressOverride","shippingAddressEditable","landingPageType","shippingOptions","requestBillingAgreement","lineItems","vaultInitiatedCheckoutPaymentMethodToken","shippingAddressOverride","billingAgreementDetails","shippingAddress","billingAgreementDescription","isTokenizationKey","isVaultFlow","paypalAccount","correlationId","billingAgreementToken","unilateral","unvettedMerchant","account","payerInfo","shippingOptionId","cobrandedCardLabel","LANDING_FRAME_NAME","checkout","IFRAME_HEIGHT","IFRAME_WIDTH","BaseFramework","_createOptions","setUpEventListeners","THREEDS_FRAMEWORK_METHOD_NOT_IMPLEMENTED","verifyCard","privateOptions","formattedOptions","_checkForVerifyCardError","_verifyCardInProgress","_formatVerifyCardOptions","_formatLookupData","_performLookup","lookup","threeDSecureVersion","_onLookupComplete","initializeChallengeWithLookupResponse","_resetVerificationState","_checkForFrameworkSpecificVerifyCardErrors","_presentChallenge","prepareLookup","_verifyCardPromisePlus","lookupError","analyticsMessage","THREEDS_LOOKUP_TOKENIZED_CARD_NOT_FOUND_ERROR","THREEDS_LOOKUP_VALIDATION_ERROR","THREEDS_LOOKUP_ERROR","errorOption","THREEDS_AUTHENTICATION_IN_PROGRESS","THREEDS_MISSING_VERIFY_CARD_OPTION","lookupResponse","_lookupPaymentMethod","_handleLookupResponse","liabilityShifted","liabilityShiftPossible","challengeShouldBePresented","acsUrl","_formatAuthResponse","verificationDetails","_handleV1AuthResponse","authResponse","auth_response","cancelVerifyCard","THREEDS_NO_VERIFICATION_PAYLOAD","_setupV1Bus","parentURL","bus","authenticationCompleteBaseUrl","pareq","termUrl","parentUrl","AUTHENTICATION_COMPLETE","handleAuthResponse","_setupV1Iframe","showLoader","_v1Bus","_setupV1Elements","_v1Iframe","_teardownV1Elements","_onV1Keyup","SongbirdFramework","Bootstrap3ModalFramework","_createV1IframeModalElement","modal","_createCardinalConfigurationOptions","setupOptions","payment","framework","CardinalModalFramework","addCloseButton","cardinalSDKConfig","displayExitButton","LegacyFramework","InlineIframeFramework","legacy","AUTHENTICATION_IFRAME_AVAILABLE","_addV1IframeToPage","_v1Modal","_setupFrameworkSpecificListeners","setCardinalListener","_onInlineSetup","htmlTemplate","paymentType","THREEDS_INLINE_IFRAME_DETAILS_INCORRECT","transformV1CustomerBillingAddress","customer","line1","streetAddress","line2","extendedAddress","city","locality","countryCodeAlpha2","_createIframe","_handleAuthResponse","removeFrame","addFrame","modifiedOptions","CUSTOMER_CANCELED_SONGBIRD_MODAL","SONGBIRD_UI_EVENTS","_useV1Fallback","_clientMetadata","requestedThreeDSecureVersion","_getDfReferenceIdPromisePlus","setupSongbird","_cardinalEvents","extractAddressData","line3","LOOKUP_COMPLETE","CUSTOMER_CANCELED","getDfReferenceId","dfReferenceId","_triggerCardinalBinProcess","clientMetadata","initiateV1Fallback","errorType","_removeSongbirdListeners","_songbirdPromise","issuerStartTime","Cardinal","binResults","issuerDeviceDataCollectionTimeElapsed","issuerDeviceDataCollectionResult","Status","transformBillingAddress","additionalInformation","billingPhoneNumber","billingGivenName","givenName","billingSurname","surname","transformShippingAddress","_createV1IframeModal","backdrop","closeHandler","THREEDS_CARDINAL_SDK_CANCELED","_handleAuthResponseFromV1Fallback","_presentChallengeWithV1Fallback","startTime","_v2SetupFailureReason","_loadCardinalScript","_configureCardinalSdk","setupStartTime","THREEDS_CARDINAL_SDK_SETUP_FAILED","_songbirdSetupTimeoutReference","threeDSConfig","versionTwo","jwt","cardinalAuthenticationJWT","cardinalConfiguration","_createPaymentsSetupCompleteCallback","configure","setup","cardinalDeviceDataCollectionTimeElapsed","_createPaymentsValidatedCallback","paymentSettings","logging","loggingEnabled","displayLoading","scriptSource","CARDINAL_SCRIPT_SOURCE","isProduction","THREEDS_CARDINAL_SDK_SCRIPT_LOAD_FAILED","_performJWTValidation","rawCardinalSDKVerificationData","cancelCode","Payment","ExtendedData","ChallengeCancel","paymentMethodNonce","formattedResponse","THREEDS_JWT_AUTHENTICATION_FAILED","validatedJwt","formattedError","ActionCode","ErrorNumber","THREEDS_CARDINAL_SDK_SETUP_TIMEDOUT","THREEDS_CARDINAL_SDK_RESPONSE_TIMEDOUT","THREEDS_CARDINAL_SDK_BAD_CONFIG","THREEDS_CARDINAL_SDK_BAD_JWT","THREEDS_CARDINAL_SDK_ERROR","ErrorDescription","onLookupComplete","ignoreOnLookupCompleteRequirement","mobilePhoneNumber","requiresUserAuthentication","transactionId","continue","AcsUrl","Payload","OrderDetails","TransactionId","additionalInfo","accountType","challengeRequested","dataOnlyRequested","exemptionRequested","cardAdd","cardAddChallengeRequested","verifyCardError","THREEDS_VERIFY_CARD_CANCELED_BY_MERCHANT","FRAMEWORKS","ThreeDSecure","Framework","_framework","getFramework","gwConfig","THREEDS_NOT_ENABLED","THREEDS_CAN_NOT_USE_TOKENIZATION_KEY","THREEDS_HTTPS_REQUIRED","THREEDS_NOT_ENABLED_FOR_V2","THREEDS_UNRECOGNIZED_VERSION","THREEDS_TERM_URL_REQUIRES_BRAINTREE_DOMAIN","VAULT_MANAGER_DELETE_PAYMENT_METHOD_NONCE_REQUIRES_CLIENT_TOKEN","VAULT_MANAGER_PAYMENT_METHOD_NONCE_NOT_FOUND","VAULT_MANAGER_DELETE_PAYMENT_METHOD_UNKNOWN_ERROR","VaultManager","DELETE_PAYMENT_METHOD_MUTATION","formatPaymentMethodPayload","formattedPaymentMethod","hasSubscription","fetchPaymentMethods","defaultFirst","paymentMethodsPayload","paymentMethods","deletePaymentMethod","singleUseTokenId","venmo_desktop_1","VENMO_PAYMENT_CONTEXT_STATUS_QUERY","LEGACY_VENMO_PAYMENT_CONTEXT_STATUS_QUERY","UPDATE_PAYMENT_CONTEXT_QUERY","LEGACY_UPDATE_PAYMENT_CONTEXT_QUERY","CREATE_PAYMENT_CONTEXT_QUERY","LEGACY_CREATE_PAYMENT_CONTEXT_QUERY","framebus_1","iframer_1","uuid_1","events_1","queries_1","VENMO_DESKTOP_POLLING_INTERVAL","VISUAL_DELAY_BEFORE_SIGNALLING_COMPLETION","VenmoDesktop","env","profileId","paymentMethodUsage","shouldUseLegacyQRCodeMutation","frameUrl","apiRequest","alertBox","VENMO_DESKTOP_IFRAME_READY","VENMO_DESKTOP_REQUEST_NEW_QR_CODE","startPolling","launchDesktopFlow","launchDesktopPromiseRejectFunction","removeListeners","VENMO_DESKTOP_CUSTOMER_CANCELED","customerCancelledHandler","VENMO_DESKTOP_AUTHORIZATION_COMPLETED","completedHandler","VENMO_DESKTOP_UNKNOWN_ERROR","unknownErrorHandler","allowUIToHandleError","reason","updateVenmoDesktopPaymentContext","setAlert","venmoContextId","triggerCompleted","triggerRejected","hideDesktopFlow","VENMO_DESKTOP_CLOSED_FROM_PARENT","displayError","VENMO_DESKTOP_DISPLAY_ERROR","displayQRCode","VENMO_DESKTOP_DISPLAY_QR_CODE","authorize","VENMO_DESKTOP_AUTHORIZE","authorizing","VENMO_DESKTOP_AUTHORIZING","createVenmoDesktopPaymentContext","expiresIn","expiresAt","createdAt","expiredTime","pollForStatusChange","username","userName","paymentMethodId","lookupVenmoDesktopPaymentContext","newStatus","createPaymentContextFromGraphqlLegacyQRCodeMutation","createVenmoQRCodePaymentContext","venmoQRCodePaymentContext","createPaymentContextFromGraphQL","customerClient","merchantProfileId","createVenmoPaymentContext","venmoPaymentContext","additionalOptions","Venmo","supportsVenmo","VENMO_INVALID_PROFILE_ID","deepLinkReturnUrl","VENMO_INVALID_DEEP_LINK_RETURN_URL","VENMO_NOT_ENABLED","isBrowserSupported","isIosSafari","doesNotSupportWindowOpenInIos","DOCUMENT_VISIBILITY_CHANGE_EVENT_DELAY","DEFAULT_PROCESS_RESULTS_DELAY","VENMO_OPEN_URL","VENMO_TOKENIZATION_REQUEST_ACTIVE","VENMO_TOKENIZATION_REQUEST_NOT_ACTIVE","VENMO_APP_FAILED","VENMO_APP_CANCELED","VENMO_CANCELED","VENMO_DESKTOP_CANCELED","VENMO_TOKENIZATION_CANCELED_BY_MERCHANT","VENMO_MOBILE_PAYMENT_CONTEXT_SETUP_FAILED","VENMO_MOBILE_POLLING_TOKENIZATION_NETWORK_ERROR","VENMO_MOBILE_POLLING_TOKENIZATION_EXPIRED","VENMO_MOBILE_POLLING_TOKENIZATION_CANCELED","VENMO_MOBILE_POLLING_TOKENIZATION_TIMEOUT","VENMO_MOBILE_POLLING_TOKENIZATION_FAILED","VENMO_DESKTOP_AUTHORIZATION_TIMED_OUT","merchantAllowsReturningToNewBrowserTab","merchantAllowsDesktopBrowsers","isMobileDevice","isAndroidChrome","isMobileDeviceThatSupportsReturnToSameTab","allowDesktop","allowNewBrowserTab","allowWebviews","inIframe","createVenmoDesktop","graphqlQueries","DEFAULT_MOBILE_POLLING_INTERVAL","DEFAULT_MOBILE_EXPIRING_THRESHOLD","_allowNewBrowserTab","_allowWebviews","_allowDesktop","_requireManualReturn","requireManualReturn","_useRedirectForIOS","useRedirectForIOS","_profileId","_displayName","_deepLinkReturnUrl","_ignoreHistoryChanges","ignoreHistoryChanges","_paymentMethodUsage","_shouldUseLegacyFlow","_useDesktopFlow","_isDesktop","_cannotHaveReturnUrls","_shouldCreateVenmoPaymentContext","hasTokenizationResult","venmoDesktopInstance","_venmoDesktopInstance","_mobilePollingInterval","_mobilePollingExpiresThreshold","analyticsCategory","_mobilePollingContextEnvironment","_createVenmoPaymentContext","getFragmentParameters","formatTokenizePayload","documentVisibilityChangeEventName","visibilityChange","msHidden","webkitHidden","isIosWebviewInDeepLinkReturnUrlFlow","cancelIfTokenizationInProgress","refreshIn","_refreshPaymentContextTimeout","_tokenizationInProgress","_venmoPaymentContextStatus","_venmoPaymentContextId","appSwitch","_shouldUseRedirectStrategy","currentUrl","venmoConfiguration","braintreeData","resource_id","_shouldIncludeReturnUrls","braintree_merchant_id","braintree_access_token","braintree_environment","braintree_sdk_data","_hasTokenizationResult","venmoSuccess","venmoError","venmoCancel","_tokenizeForDesktop","_tokenizeForMobileWithManualReturn","_tokenizeForMobileWithHashChangeListeners","cancelTokenization","_removeVisibilityEventListener","_tokenizePromise","_cancelMobilePaymentContext","_cancelVenmoDesktopContext","_queryPaymentContextStatus","_pollForStatusChange","_mobilePollingContextExpiresIn","networkError","resultProcessingInProgress","visibilityChangeListenerTimeout","processResultsFromHash","completeFlow","_previousHash","_onHashChangeListener","newURL","_visibilityChangeListener","processResultsDelay","_updateVenmoDesktopPaymentContext","errorCode","_clearFragmentParameters","add_matching_cards_to_results_1","is_valid_input_type_1","find_best_match_1","clone_1","customCards","cardNames","DINERS_CLUB","UNIONPAY","MAESTRO","MIR","HIPER","HIPERCARD","ORIGINAL_TEST_ORDER","testOrder","findType","getAllCardTypes","getCardPosition","ignoreErrorForNotExisting","cardNumber","isValidInputType","cardConfiguration","addMatchingCardsToResults","bestMatch","findBestMatch","getTypeInfo","removeCard","addCard","existingCardPosition","updateCard","updates","originalObject","clonedCard","changeOrder","currentPosition","resetModifications","matches_1","patternLength","clonedCardConfiguration","matchStrength","visa","niceType","gaps","lengths","mastercard","discover","jcb","unionpay","maestro","elo","mir","hiper","hipercard","hasEnoughResultsToDetermineBestMatch","numberOfResultsWithMaxStrengthProperty","matchesRange","maxLengthToCheck","integerRepresentationOfCardNumber","matchesPattern","Framebus","is_not_string_1","subscription_args_invalid_1","broadcast_1","package_payload_1","constants_1","DefaultPromise","isDestroyed","include","childWindow","Window","childWindows","namespaceEvent","isntString","packagePayload","broadcast","emitAsPromise","originalHandler","subscriptionArgsInvalid","checkOrigin","subscriberList","postMessageOrigin","merchantHost","attach_1","attach","detach","message_1","isAttached","onmessage","broadcastToChildWindows","has_opener_1","frameToBroadcastTo","hasOpener","unpack_payload_1","dispatch_1","broadcast_to_child_windows_1","unpackPayload","subscribe_replier_1","packaged","subscribeReplier","replier","replyOriginHandler","replyOrigin_1","replySource_1","replyEvent_1","replyData","replyPayload","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","runClearTimeout","marker","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","nextTick","browser","argv","versions","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","finallyConstructor","setTimeoutFunc","thisArg","_handled","_value","_deferreds","doResolve","_immediateFn","onFulfilled","onRejected","finale","_unhandledRejectionFn","Handler","prom","isIE9","isKitKatWebview","UA","isChromeOs","KITKAT_WEBVIEW_REGEX","device_1","immediateIds","nextImmediateId","Timeout","clearFn","_clearFn","unref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","paymentOptionIDs","paypalCredit","paymentMethodTypes","analyticsKinds","CreditCard","PayPalAccount","ApplePayCard","VenmoAccount","AndroidPayCard","paymentMethodCardTypes","Visa","MasterCard","Discover","UnionPay","Maestro","configurationCardTypes","dependencySetupStates","DONE","FAILED","INITIALIZING","NOT_ENABLED","NO_PAYMENT_METHOD_ERROR","DEVELOPER_MISCONFIGURATION_MESSAGE","CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT","CHECKOUT_JS_SOURCE","GOOGLE_PAYMENT_SOURCE","PAYPAL_CHECKOUT_SCRIPT_ID","GOOGLE_PAYMENT_SCRIPT_ID","DATA_COLLECTOR_SCRIPT_ID","STYLESHEET_ID","DropinError","isGuestCheckout","paymentSheetViews","vaultManager","paymentOptionsViewID","ID","VAULTED_PAYMENT_METHOD_TYPES_THAT_SHOULD_BE_HIDDEN","DEFAULT_PAYMENT_OPTION_PRIORITY","NON_PAYMENT_OPTION_DEPENDENCIES","ASYNC_DEPENDENCIES","DEPENDENCY_READY_CHECK_INTERVAL","DropinModel","componentID","merchantConfiguration","dependencyStates","dependencyKey","_shouldIncludeDependency","failedDependencies","_setupComplete","isInShadowDom","getPaymentOption","paymentOption","isPaymentOptionEnabled","SheetView","isEnabled","canShowVaultedPaymentMethodType","paymentMethodType","dependencyReadyInterval","vaultManagerInstance","_vaultManager","_getSupportedPaymentOptions","paymentOptions","supportedPaymentOptions","getVaultedPaymentMethods","_paymentMethods","_paymentMethodIsRequestable","confirmDropinReady","isPaymentMethodRequestable","addPaymentMethod","changeActivePaymentMethod","removePaymentMethod","paymentMethodLocation","refreshPaymentMethods","_activePaymentMethod","changeActiveView","paymentViewID","previousViewId","_activePaymentViewId","newViewId","removeActivePaymentMethod","setPaymentMethodRequestable","isRequestable","selectPaymentOption","enableEditMode","_isInEditMode","disableEditMode","isInEditMode","confirmPaymentMethodDeletion","_paymentMethodWaitingToBeDeleted","paymentOptionPriority","_shouldEmitRequestableEvent","requestableStateHasNotChanged","nonceHasNotChanged","selectedPaymentMethod","_paymentMethodRequestableNonce","shouldEmitEvent","paymentMethodRequestableResponse","paymentMethodIsSelected","getPaymentMethods","getActivePaymentMethod","hasPaymentMethods","getInitialViewId","getActivePaymentViewId","reportAppSwitchPayload","appSwitchPayload","reportAppSwitchError","sheetId","appSwitchError","hasAtLeastOneAvailablePaymentOption","asyncDependencyReady","asyncDependencyFailed","view","cancelInitialization","reportError","clearError","preventUserAction","allowUserAction","deleteVaultedPaymentMethod","cancelDeleteVaultedPaymentMethod","showDefaultPaymentMethodFirst","_getSupportedPaymentMethods","vaulted","supportedPaymentMethods","promises","MainView","paymentMethodsViewID","translations","isUtf8","sanitizeHtml","DataCollector","mainHTML","svgHTML","PASS_THROUGH_EVENTS","UPDATABLE_CONFIGURATION_OPTIONS","UPDATABLE_CONFIGURATION_OPTIONS_THAT_REQUIRE_UNVAULTED_PAYMENT_METHODS_TO_BE_REMOVED","HAS_RAW_PAYMENT_DATA","Dropin","_componentID","_dropinWrapper","_merchantConfiguration","rawPaymentData","deviceData","localizedStrings","localizedHTML","_strings","endingIn","stringKey","stringValue","_model","_injectStylesheet","_disableErroredPaymentMethods","_handleAppSwitch","_setUpDependenciesAndViews","updateConfiguration","_mainView","getView","_removeUnvaultedPaymentMethods","_navigateToInitialView","_threeDSecure","getAvailablePaymentOptions","clearSelectedPaymentMethod","showLoadingIndicator","hideLoadingIndicator","_setUpDataCollector","dataCollector","_dataCollector","braintreeWebError","_setUpThreeDSecure","strings","primaryView","setPrimaryView","_supportsPaymentOption","paymentMethodOptionsElements","getOptionsElements","clickHandler","errorMessageDiv","_sendVaultedPaymentMethodAppearAnalyticsEvents","typesThatSentAnEvent","requestPaymentMethod","_shouldPerformThreeDSecureVerification","newPayload","getDeviceData","_removeStylesheet","loadStylesheetOptions","teardownError","_removeDropinWrapper","createFromScriptTag","setAnalyticsIntegration","dropinVersion","addSelectionEventHandler","braintreeClientVersion","_millisToSeconds","analyticsRequest","kebabCaseToCamelCase","WHITELISTED_DATA_ATTRIBUTES","injectHiddenInput","addCompositeKeyValuePairToObject","decomposedKeys","topLevelKey","deserialize","createFunction","scriptTag","createOptions","findParentForm","compositeKey","requestPaymentError","braintreeWebVersion","_instance","isBraintreeWebError","_braintreeWebError","characterSet","kebab","capitalizedParts","cssText","DEFAULT_ACS_WINDOW_SIZE","PASSTHROUGH_EVENTS","merchantProvidedData","verifyOptions","acsWindowSize","transitionEventListener","payingWith","chooseAnotherWayToPay","chooseAWayToPay","otherWaysToPay","doneEditing","editPaymentMethods","CreditCardDeleteConfirmationMessage","PayPalAccountDeleteConfirmationMessage","VenmoAccountDeleteConfirmationMessage","genericDeleteConfirmationMessage","deleteCancelButton","deleteConfirmationButton","fieldEmptyForCvv","fieldEmptyForExpirationDate","fieldEmptyForCardholderName","fieldEmptyForNumber","fieldEmptyForPostalCode","fieldInvalidForCardholderName","fieldInvalidForCvv","fieldInvalidForExpirationDate","fieldInvalidForNumber","fieldInvalidForPostalCode","fieldTooLongForCardholderName","genericError","hostedFieldsTokenizationFailOnDuplicateError","hostedFieldsFailedTokenizationError","hostedFieldsTokenizationCvvVerificationFailedError","hostedFieldsTokenizationNetworkErrorError","hostedFieldsFieldsInvalidError","paypalButtonMustBeUsed","paypalAccountTokenizationFailedError","paypalFlowFailedError","paypalTokenizationRequestActiveError","applePayTokenizationError","applePayActiveCardError","vaultManagerPaymentMethodDeletionError","venmoCanceledError","venmoAppFailedError","unsupportedCardTypeError","cardholderNameLabel","cardNumberLabel","cvvLabel","cvvThreeDigitLabelSubheading","cvvFourDigitLabelSubheading","expirationDateLabel","expirationDateLabelSubheading","cardholderNamePlaceholder","expirationDatePlaceholder","postalCodeLabel","saveCardLabel","payWithCard","Card","PayPal","fiveCharacterLocales","ar_EG","cs_CZ","da_DK","de_DE","el_GR","en_AU","en_GB","en_IN","en_US","es_ES","es_XC","fi_FI","fr_CA","fr_FR","fr_XC","he_IL","hu_HU","id_ID","it_IT","ja_JP","ko_KR","nl_NL","no_NO","pl_PL","pt_BR","pt_PT","ru_RU","sk_SK","sv_SE","th_TH","zh_CN","zh_HK","zh_TW","zh_XC","twoCharacterLocaleAliases","da","de","es","fi","fr","it","nl","no","pt","sv","zh","BaseView","getPaymentMethod","activeMethodView","onSelection","DeleteConfirmationView","_yesButton","_noButton","_messageBox","applyPaymentMethod","identifier","secondaryIdentifier","innerText","sheetViews","PaymentMethodsView","PaymentOptionsView","supportsFlexbox","dependenciesInitializing","prefixShowClass","paymentOptionsView","_hasMultiplePaymentOptions","_views","sheetContainer","sheetErrorText","disableWrapper","lowerContainer","loadingContainer","dropinContainer","showSheetError","hideSheetError","paymentSheetViewIDs","sheetViewKey","PaymentSheetView","paymentSheetView","mainView","addView","paymentMethodsViews","deleteConfirmationView","toggleAdditionalOptions","_onChangeActiveView","activePaymentView","openConfirmPaymentMethodDeletionDialog","cancelVaultedPaymentMethodDeletion","startVaultedPaymentMethodDeletion","finishVaultedPaymentMethodDeletion","_sendToDefaultView","secondaryViewId","showToggle","hideToggle","sheetViewID","isPaymentSheetView","genericErrorMessage","teardownPromises","preselectVaultedPaymentMethod","paymentMethodHTML","PaymentMethodView","endingInText","html","_selectDelete","_choosePaymentMethod","checkMark","setActive","PAYMENT_METHOD_TYPE_TO_TRANSLATION_STRING","views","_headingLabel","_editButton","_addPaymentMethod","_changeActivePaymentMethodView","_removePaymentMethod","_getPaymentMethodString","paymentMethodTypeString","paymentMethodView","previousActiveMethodView","paymentMethodOptionHTML","paymentOptionID","_addPaymentOption","paymentSource","_generateOptionLabel","paymentSourceString","btApplePay","DEFAULT_APPLE_PAY_SESSION_VERSION","ApplePayView","applePayConfiguration","applePaySessionVersion","buttonDiv","onclick","_showPaymentSheet","session","_sessionInProgress","ApplePaySession","onvalidatemerchant","validationData","completeMerchantValidation","validationErr","abort","onpaymentauthorized","completePayment","STATUS_SUCCESS","tokenizeErr","STATUS_FAILURE","oncancel","begin","applePayEnabled","supportsVersion","canMakePayments","paypalScriptLoadInProgressPromise","btPaypal","ASYNC_DEPENDENCY_TIMEOUT","READ_ONLY_CONFIGURATION_OPTIONS","DEFAULT_CHECKOUTJS_LOG_LEVEL","BasePayPalView","asyncDependencyTimeoutHandler","isCredit","_isPayPalCredit","setupComplete","paypalType","paypalConfiguration","dropinWrapperId","paypalInstance","checkoutJSConfiguration","buttonSelector","commit","onAuthorize","shouldNotVault","vaultPayPal","tokenizePayload","funding","disallowed","FUNDING","CREDIT","merchantPayPalConfig","viewID","logLevel","hostedFields","transitionHelper","cardIconHTML","CardView","isCardViewElement","activeId","HTMLIFrameElement","camelCaseToKebabCase","capitalize","normalizeStyles","transformedKeyName","addBullets","bulletCharacter","generateCardNumberPlaceholder","cvvFieldGroup","postalCodeFieldGroup","hfOptions","cardholderNameGroup","cardIcons","hasCardholderName","cardholderNameRequired","_generateHostedFieldsOptions","_hideUnsupportedCardIcons","hasCVV","saveCardInput","cardNumberIcon","cardNumberIconSvg","cvvIcon","cvvIconSvg","cvvLabelDescriptor","allowVaultCardOverride","vaultCard","hostedFieldsInstance","_onBlurEvent","_onCardTypeChangeEvent","_onFocusEvent","_onNotEmptyEvent","_onValidityChangeEvent","_sendRequestableEvent","_isTokenizing","_validateForm","hasCVVChallenge","hasPostalCodeChallenge","_getFieldContainer","_hasCustomCVVPlaceholder","showFieldErrors","showFieldError","transitionCallback","_shouldVault","fieldsToTokenize","clearFieldsAfterTokenization","fieldGroup","hideFieldError","_shouldApplyFieldEmptyError","_isCardTypeSupported","cardNumberHrefLink","cvvHrefLink","cvvDescriptor","cvvPlaceholder","numberFieldGroup","paymentMethodCardType","cardIcon","configurationCardType","disabledByMerchant","btGooglePay","GooglePayView","createPaymentsClient","google","payments","PaymentsClient","buttonOptions","googlePayConfiguration","buttonType","button","googlePayInstance","paymentsClient","createButton","loadPaymentData","reportedError","statusCode","isReadyToPay","PayPalCreditView","PayPalView","btVenmo","VenmoView","venmoInstance","_isIgnorableError","Identity","over","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","devToolsEnhancer","__REDUX_DEVTOOLS_EXTENSION__","MAX_SIGNED_31_BIT_INT","commonjsGlobal","createEventEmitter","handlers","changedBits","calculateChangedBits","_Provider$childContex","_Consumer$contextType","contextProp","getUniqueId","emitter","_proto","getChildContext","componentWillReceiveProps","_Component2","observedBits","_proto2","withSlots","slotType","isSlot","createFactory","DefaultComponent","defaultProp","componentProps","userProps","userSlotOptions","defaultStyles","flattenedUserProps","slotProps","transformedProps","_translateShorthand","finalProps","allProps","_constructFinalProps","UserComponent","defaultFactory","getSlots","slots","mixedProps","_renderSlot","_defaultStyles","ComponentType","slotOptions","addElementAtIndex","itemToAdd","arraysEqual","shallowCompare","filteredAssign","isAllowed","sourceObject","requiredProps","conditionalPropName","linkText","formatRegExp","convertFieldsError","isNativeStringType","asyncSerialArray","AsyncValidationError","asyncMap","objArr","flattenArr","flattenObjArr","firstFields","objArrKeys","objArrLength","asyncParallelArray","complementError","oe","fullField","deepMerge","util","ruleType","custom","_pattern","dateObject","any","newMessages","cloned","Schema","oc","series","deep","doIt","fieldsSchema","fieldSchema","addFullfield","schema","errs","finalErrors","validators","getValidationMethod","messageIndex","INTERNAL_PROPS_MARK","initializeIcons","speak","GlobalNavButton","ChevronDown","ChevronUp","Edit","Add","Cancel","More","Settings","Mail","Filter","Search","Share","BlockedSite","FavoriteStar","FavoriteStarFill","CheckMark","Delete","ChevronLeft","ChevronRight","Megaphone","Undo","Flag","Page","Pinned","View","Clear","Download","Folder","Sort","AlignRight","AlignLeft","AddFriend","Info","SortLines","CircleRing","Heart","HeartFill","Tiles","Embed","Glimmer","Ascending","Descending","SortUp","SortDown","SyncToPC","LargeGrid","SkypeCheck","SkypeClock","SkypeMinus","ClearFilter","Flow","StatusCircleCheckmark","MoreVertical","Filler","onInnerResize","innerStyle","_isNativeReflectConstruct","getPageY","touches","ScrollBar","moveRaf","scrollbarRef","thumbRef","visibleTimeout","dragging","startTop","delayHidden","onScrollbarTouchStart","onContainerMouseDown","patchEvents","removeEvents","onStartMove","getTop","onScroll","newTop","enableScrollRange","getEnableScrollRange","enableHeightRange","getEnableHeightRange","ptg","newScrollTop","onStopMove","getSpinHeight","baseHeight","showScroll","_this$state2","spinHeight","canScroll","refFunc","CacheMap","maps","_iterableToArrayLimit","useDiffItem","onDiff","prevData","setPrevData","diffItem","setDiffItem","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","diffIndex","shortKey","findListDiffIndex","isFF","isScrollAtTop","isScrollAtBottom","lockRef","lockTimeoutRef","lockScroll","scrollPingRef","deltaY","smoothOffset","originScroll","EMPTY_DATA","ScrollStyle","overflowAnchor","RawList","itemHeight","_props$fullHeight","fullHeight","useVirtual","inVirtual","setScrollTop","scrollMoving","setScrollMoving","fillerInnerRef","scrollBarRef","sharedConfig","syncScrollTop","alignedTop","maxScrollHeightRef","keepInRange","rangeRef","diffItemRef","_useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","heightsRef","heightUpdateIdRef","collectHeight","htmlElement","useHeights","_useHeights2","setInstanceRef","heights","heightUpdatedMark","_fillerInnerRef$curre","startIndex","startOffset","endIndex","itemTop","dataLen","cacheHeight","currentItemBottom","maxScrollHeight","useOriginScroll","_useFrameWheel","onWheelDelta","offsetRef","wheelValueRef","isMouseScrollRef","patchMultiple","useFrameWheel","offsetY","_useFrameWheel2","onRawWheel","onFireFoxScroll","listRef","cleanUpEvents","touchedRef","touchYRef","intervalRef","onTouchMove","currentY","onTouchEnd","useMobileTouchMove","onMozMousePixelScroll","triggerFlash","scrollRef","_arg$offset","syncScroll","targetAlign","needCollectHeight","newTargetAlign","mergedAlign","stackTop","itemBottom","maxLen","useScrollTo","_scrollBarRef$current","renderList","listChildren","renderFunc","useChildren","componentStyle","_inputNode2","_inputNode2$props","inputElement","editable","accessibilityIndex","_onCompositionStart","_onCompositionEnd","inputNode","_inputNode","_inputNode$props","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","RefInput","effect","deps","onPreventMouseDown","SelectSelector","showSearch","removeIcon","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onToggleOpen","onInputChange","onInputPaste","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","measureRef","inputWidth","setInputWidth","setFocused","selectionPrefixCls","inputValue","inputEditable","defaultRenderSelector","itemDisabled","selectionNode","displayLabel","strLabel","customizeRenderSelector","SingleSelector","activeValue","inputChanged","setInputChanged","hasTextInput","useLock","doLock","Selector","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","triggerOnSearch","sharedProps","replacedText","clipboardData","getData","selectNode","MultipleSelector","msTouchAction","inputMouseDown","ForwardSelector","SelectTrigger","popupElement","dropdownStyle","dropdownClassName","_props$direction","_props$dropdownMatchS","dropdownRender","dropdownAlign","dropdownPrefixCls","builtInPlacements","getBuiltInPlacements","mergedTransitionName","getPopupElement","RefSelectTrigger","DEFAULT_OMIT_PROPS","generateSelector","OptionList","optionList","convertChildrenToData","warningProps","omitDOMProps","Select","defaultOpen","filterSort","_props$optionFilterPr","_props$autoClearSearc","autoClearSearchValue","clearIcon","showArrow","menuItemSelectedIcon","defaultActiveFirstOption","_props$notFoundConten","notFoundContent","backfill","getInputElement","getRawInputElement","_props$listHeight","listHeight","_props$listItemHeight","listItemHeight","_props$showAction","tokenSeparators","onPopupScroll","onDropdownVisibleChange","onClear","_props$internalProps","internalProps","useInternalProps","domProps","selectorRef","tokenSeparator","_useDelayReset","setBool","delayRef","cancelLatest","delaySetBool","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","innerId","setInnerId","mergedOptionLabelProp","mergedLabelInValue","isMultiple","mergedShowSearch","setMobile","selectorDomRef","_selectorRef$current","_selectorRef$current2","_listRef$current","setMergedValue","_useMemo2","mergedRawValue","mergedValueMap","setActiveValue","_useState7","_useState8","innerSearchValue","setInnerSearchValue","mergedSearchValue","mergedOptions","newOptions","mergedFlattenOptions","getValueOption","prevOptionMapRef","vals","useCacheOptions","displayOptions","displayFlattenOptions","displayValues","tmpValues","valueOptions","displayValue","prevValuesRef","valueLabels","resultValues","cacheLabel","useCacheDisplayValue","triggerSelect","isSelect","newValueOption","outOption","skipTriggerSelect","selectValue","onRawSelect","onRawDeselect","_useState9","_useState10","setPrevValueOptions","triggerChange","newRawValues","skipTriggerChange","newRawValuesOptions","outValues","outValue","outOptions","onInternalSelect","newRawValue","customizeInputElement","customizeRawInputElement","innerOpen","setInnerOpen","emptyListContent","onTriggerVisibleChange","triggerOpen","newOpen","propsRef","onGlobalMouseDown","shadowRoot","composed","composedPath","useSelectTriggerControl","_triggerRef$current","triggerSearch","searchText","fromTyping","isCompositing","newSearchText","patchLabels","patchRawValues","getClearLock","setClearLock","focusRef","activeTimeoutIds","_useState11","_useState12","setAccessibilityIndex","mergedDefaultActiveFirstOption","_useState13","_useState14","_useState15","newWidth","clearNode","childrenAsData","onActiveValue","_ref3$source","arrowNode","mergedShowArrow","selectorNode","_triggerRef$current2","_selectorRef$current3","_len3","restArgs","_key3","_listRef$current2","clearLock","removeInfo","_listRef$current3","consoleLogger","Logger","concreteLogger","logger","forward","_len4","_key4","lvl","debugOnly","moduleName","baseLogger","_cloned","defer","rej","makeString","getLastOfPath","cleanKey","canNotTraverseDeeper","setPath","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","_entityMap","isIE10","ResourceStore","_EventEmitter","defaultNS","keySeparator","lng","silent","addNamespaces","resources","addResource","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","translator","processor","checkedLoadedFor","Translator","services","interpolation","resolved","nsSeparator","interpolator","nestingRegexp","lastKey","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","defaultVariables","interpolate","nest","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","_this4","extracted","fallbackNS","needsContextHandling","codes","hasLoadedNamespace","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","returnNull","resourceStore","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","cleanCode","isSupportedCode","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","createRules","numbers","plurals","PluralResolver","getRule","noAbs","simplifyPluralSuffix","returnSuffix","compatibilityJSON","Interpolator","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","missingInterpolationHandler","safeValue","todo","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","formatters","doReduce","Connector","backend","languages","toLoad","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","addResourceBundle","_getLastOfPath2","pushPath","what","fcName","tried","queueLoad","loadOne","prepareLoading","_this5","isUpdate","initImmediate","nonExplicitWhitelist","preload","pluralSeparator","partialBundledLanguages","tDescription","transformOptions","I18n","modules","external","isInitialized","isClone","createClassOnDemand","ClassOrObject","lu","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","changeLanguage","usedCallback","append","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","detect","fixedT","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","precheck","preResult","_this7","preloaded","newLngs","_this8","membersToCopy","i18next","hasOrAdd","shouldAdd","prevSize","_items","_nativeSet","bIdx","_Set","appliedItem","_identity","baseButtonStyles","actionButtonStyles","ActionButton","customizable","RCNotification","getRcNotificationInstance","mergeCss","styleArgs","nowrap","variant","variantObject","mozOsxFontSmoothing","webkitFontSmoothing","arrayWithoutHoles","nonIterableSpread","_canUseDom","aa","ba","ca","ea","fa","ha","ia","acceptsBooleans","attributeNamespace","mustUseProperty","sanitizeURL","removeEmptyString","oa","qa","ma","la","setAttributeNS","xlinkHref","ra","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","sa","ta","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","Oa","Pa","prepareStackTrace","Qa","_render","Ra","$$typeof","_payload","_init","Sa","Ta","Va","_valueTracker","stopTracking","Ua","Wa","Xa","Ya","_wrapperState","initialChecked","Za","controlled","$a","ab","bb","eb","db","fb","defaultSelected","gb","dangerouslySetInnerHTML","hb","ib","jb","kb","lb","mb","ob","namespaceURI","MSApp","execUnsafeLocalFunction","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flexPositive","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeOpacity","rb","sb","tb","setProperty","ub","menuitem","area","col","embed","img","keygen","track","wbr","vb","wb","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","$b","memoizedState","dehydrated","ac","bc","dc","ec","gc","hc","ic","jc","kc","lc","mc","nc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","targetContainers","sc","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","hydrate","containerInfo","xc","yc","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationiteration","animationstart","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","nd","od","charCode","pd","qd","rd","_reactName","_targetInst","isDefaultPrevented","returnValue","isPropagationStopped","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","isTrusted","td","ud","vd","Ad","getModifierState","zd","buttons","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","elapsedTime","pseudoElement","Id","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","isPrimary","Vd","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","ee","fe","ge","ie","le","password","tel","me","ne","pe","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","Ee","Fe","Je","nextSibling","compareDocumentPosition","contentEditable","Pe","Qe","Se","anchorNode","anchorOffset","focusNode","focusOffset","We","Xe","Ye","Ze","Yb","$e","af","bf","cf","df","passive","Nb","ef","ff","gf","hf","ke","jf","kf","lf","mf","nf","__html","of","pf","qf","rf","sf","previousSibling","tf","vf","wf","yf","zf","Af","Bf","Cf","Df","Ef","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","Gf","Hf","If","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","cg","dg","eg","fg","hg","ig","jg","kg","ReactCurrentBatchConfig","mg","ng","og","pg","qg","rg","_currentValue","sg","childLanes","tg","firstContext","lanes","ug","vg","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","yg","zg","eventTime","lane","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","enqueueSetState","Hg","Ig","Jg","enqueueReplaceState","enqueueForceUpdate","Lg","shouldComponentUpdate","isPureReactComponent","Mg","Ng","UNSAFE_componentWillReceiveProps","Og","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Pg","Qg","_owner","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","uh","_workInProgressVersionPrimary","vh","ReactCurrentDispatcher","wh","xh","yh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","Ih","Jh","Kh","lastRenderedReducer","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","getSnapshot","setSnapshot","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","ReactCurrentOwner","gi","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","ri","pendingContext","Bi","Di","Ei","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","tail","tailMode","Ai","Fi","Gi","wasMultiple","createElementNS","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","aj","bj","onCommitFiberUnmount","cj","dj","ej","fj","gj","hj","_reactRootContainer","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","ck","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","createRange","setStart","removeAllRanges","addRange","setEnd","onCommitFiberRoot","gk","ik","isReactComponent","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hk","_calculateChangedBits","unstable_observedBits","unmount","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","isDisabled","supportsFiber","inject","flushSync","unstable_createPortal","unstable_renderSubtreeIntoContainer","StrictMode","Profiler","Suspense","__self","__source","_status","_result","IsSomeRendererActing","_currentValue2","_threadCount","createRef","lazy","performance","MessageChannel","unstable_forceFrameRate","port2","port1","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","secret","getShim","ReactPropTypes","arrayOf","instanceOf","objectOf","oneOf","oneOfType","checkPropTypes","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isForwardRef","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","jsx","jsxs","allowArrayLike","normalCompletion","didErr","_e2","singleMatcher","multiMatcher","decodeComponents","encodedURI","replaceMap","customDecodeURIComponent","separatorIndex","predicate","isArr","baseIsEqualDeep","isObjectLike","Stack","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","stackClear","stackDelete","stackGet","stackHas","stackSet","assocIndexOf","pairs","LARGE_ARRAY_SIZE","isMasked","toSource","reIsHostCtor","funcProto","objectProto","reIsNative","nativeObjectToString","isOwn","unmasked","coreJsData","maskSrcKey","uid","IE_PROTO","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","getMapData","setCacheAdd","setCacheHas","mapToArray","setToArray","symbolProto","symbolValueOf","byteOffset","stacked","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","baseGetAllKeys","getSymbols","arrayPush","keysFunc","symbolsFunc","arrayFilter","stubArray","nativeGetSymbols","resIndex","arrayLikeKeys","baseKeys","isArrayLike","baseTimes","isArguments","isIndex","inherited","isArg","isBuff","isType","skipIndexes","iteratee","baseIsArguments","reIsUint","isLength","typedArrayTags","freeProcess","isPrototype","nativeKeys","overArg","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ctorString","_devWarning","assertThisInitialized","_renderEmpty","_empty","_simple","_AntdIcon","_reactDom","_regenerator","_CloseOutlined","_CheckCircleOutlined","_CloseCircleOutlined","_ExclamationCircleOutlined","_InfoCircleOutlined","__awaiter","fulfilled","_omit","_util","_scrollIntoViewIfNeeded","adjust","_idx","_list","concatStyleSetsWithProps","allStyles","mergeStyleSets","mergeCssSets","classNameSet","concatenatedStyleSet","registrations","styleSetArea","_onMount","_onUpdate","_onUnmount","_setComponentRef","useAsync","WarningFilled","WarningFilledSvg","NoFound","strokeLinejoin","ServerError","Unauthorized","IconMap","ExceptionMap","noFound","serverError","unauthorized","ExceptionStatus","Result","customizeClassName","subTitle","_ref3$status","SVGComponent","renderIcon","renderExtra","PRESENTED_IMAGE_403","PRESENTED_IMAGE_404","PRESENTED_IMAGE_500","ariaLive","labelPosition","statusMessage","styleSize","circle","DelayedRender","spinAnimation","Spinner","borderTopColor","_console","alreadyWarned","warnOnce","loadNamespaces","i18n","initialized","useTranslation","i18nFromProps","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","ready","i18nOptions","keyPrefix","addUsedNamespaces","initializedStoreOnce","getT","getFixedT","nsMode","setT","boundReset","isInitial","getFirstFocusable","includeElementsInFocusZones","getNextElement","getLastFocusable","getPreviousElement","getFirstTabbable","checkNode","getLastTabbable","focusFirstChild","focusAsync","suppressParentTraversal","traverseChildren","allowFocusRoot","tabbable","isCurrentElementVisible","isElementVisible","isElementFocusZone","isElementFocusSubZone","childMatch","lastElementChild","isElementTabbable","childMatchSiblingMatch","previousElementSibling","childMatchParent","childMatchParentMatch","siblingMatch","suppressChildTraversal","visibilityAttribute","checkTabIndex","tabIndexAttributeValue","isFocusableAttribute","isTabIndexSet","doesElementContainFocus","currentActiveElement","elementContains","shouldWrapFocus","noWrapDataAttribute","elementMatch","testElement","elementContainsAttribute","targetToFocusOnNextRepaint","getFocusableByIndexPath","nextChild","getElementIndexPath","mergedCallback","memoFlattenOptions","onListMouseDown","getEnabledActiveIndex","_memoFlattenOptions$c","activeIndex","setActiveIndex","fromKeyboard","onSelectValue","nextActiveIndex","itemData","mergedLabel","itemIndex","optionPrefixCls","optionClassName","iconVisible","optionTitle","RefOptionList","Option","isSelectOption","OptGroup","isSelectOptGroup","convertNodeToOption","_node$props","nodes","optionOnly","_node$props2","hasNumberValue","invalidateChildType","toNodeArray","subNode","RefSelect","SelectOptionList","convertSelectChildrenToData","getSelectLabeledValue","selectDefaultFilterOptions","isSelectValueDisabled","findSelectValueOption","selectRef","SECRET_COMBOBOX_MODE_DO_NOT_USE","InternalSelect","mergedNotFound","_a$listHeight","_a$listItemHeight","_getIcons","suffixIcon","mergedClearIcon","mergedSuffixIcon","iconCls","getIcons","selectProps","rcSelectRtlDropDownClassName","mergedSize","RcSelect","compact","customizeInputPrefixCls","inputPrefixCls","_props$enterButton","enterButton","customOnSearch","customOnChange","searchIcon","btnClassName","enterButtonAsElement","isAntdButton","EyeInvisibleOutlined","EyeInvisibleOutlinedSvg","ActionMap","hover","Password","renderPassword","visibilityToggle","_iconProps","_props$iconRender","iconRender","iconTrigger","inputClassName","omittedProps","RadioGroupContext","RadioGroupContextProvider","InternalRadio","mergedRef","radioProps","wrapperClassString","RcCheckbox","Radio","RadioGroup","lastValue","optionType","_props$buttonStyle","childrenToRender","optionsPrefixCls","renderGroup","RadioButton","radioGroupContext","firstLevel","antdMenuTheme","parentPath","titleIsSpan","RcSubMenu","tooltipTitle","tooltipProps","childrenLength","renderItemChildren","_this$context2","wrapNode","InternalMenu","renderMenu","getInlineCollapsed","menuClassName","RcMenu","_React$Component2","_super2","DropdownButton","_props$icon","buttonsRender","dropdownProps","_buttonsRender","_buttonsRender2","leftButtonToRender","rightButtonToRender","dropdownTrigger","overlayClassNameCustomized","triggerActions","RcDropdown","overlayNode","_overlayProps$selecta","overlayNodeExpandIcon","renderOverlay","getPlacement","keytips","persistedKeytips","sequenceMapping","inKeytipMode","shouldEnterKeytipMode","delayUpdatingKeytipChange","persisted","addParentOverflow","keySequences","uniqueKeytip","_getUniqueKtp","uniqueID","keytip","newKeytipProps","oldKeyTip","keytipToRemove","enterKeytipMode","exitKeytipMode","getKeytips","fullSequence","parentKeytip","overflowSetSequence","menuExecute","overflowButtonSequences","keytipSequences","KeytipManager","_createPositionData","targetEdge","alignmentEdge","isAuto","DirectionalDictionary","_isRectangleWithinBounds","boundingRect","_getOutOfBoundsEdges","outOfBounds","_getEdgeValue","edge","_setEdgeValue","_getCenterValue","edges","_getFlankingEdges","positiveEdge","negativeEdge","_getRelativeEdgeValue","_getRelativeRectEdgeValue","_getRelativeEdgeDifference","hostRect","_moveEdge","difference","_alignEdges","gap","_isEdgeInBounds","bounds","_adjustFitWithinBounds","bounding","positionData","directionalHintFixed","coverTarget","alignTargetEdge","elementEstimate","elementRectangle","currentEstimate","currentEdge","currentAlignment","_estimatePosition","_flipToFit","flippedElementEstimate","oppositeEdge","_flipAlignmentEdge","_alignOutOfBoundsEdges","outOfBoundsEdges","_centerEdgeToPoint","elementToPosition","estimatedElementPosition","elementEdge","adjustedGap","_alignOppositeEdges","_finalizeReturnEdge","returnEdge","_calculateActualBeakWidthInPixels","beakWidth","_getPositionData","directionalHintForRTL","previousPositions","positionInformation","getClosestEdge","targetCenter","boundingCenter","_positionElementWithinBounds","_finalizeBeakPosition","elementPosition","positionedBeak","Rectangle","closestEdge","_positionBeak","targetRectangle","beakTargetPoint","elementBounds","beakPosition","_getRectangleFromElement","clientRect","_getRectangleFromIRect","_getMaxHeightFromTargetRectangle","gapSpace","_positionElementRelative","targetRect","rectOrPoint","_getTargetRect","_getAlignmentData","positionedElement","_finalizePositionData","hostElement","doNotFinalizeReturnEdge","finalizedElement","elementEdgeString","_finalizeElementPosition","_positionCallout","callout","isBeakVisible","positionProps","finalizedBeakPosition","positionCard","_positionCard","ANIMATIONS","BEAK_ORIGIN_POSITION","OFF_SCREEN_STYLE","ARIA_ROLE_ATTRIBUTES","DEFAULT_PROPS","preventDismissOnLostFocus","preventDismissOnScroll","preventDismissOnResize","minPagePadding","disableCaching","useMaxHeight","targetRef","getBounds","setMaxHeight","mouseTarget","elementTarget","rectOrPointTarget","boundingRectangle","getMaxHeight","usePositions","calloutElement","setPositions","positionAttempts","previousTarget","finalHeight","onPositioned","prevElementPositions","newElementPosition","expectsTarget","currentProps","newPositions","positionCallout","comparePositions","CalloutContentBase","propsWithoutDefaults","getPropsWithDefaults","calloutWidth","calloutMaxWidth","calloutMinWidth","hideOverflow","calloutMaxHeight","shouldRestoreFocus","onLayerMounted","rootRef","useTarget","targetWindow","cachedBounds","currentBounds","segments","getWindowSegments","_getBoundsFromTargetWindow","getBoundsFromTargetWindow","useBounds","heightOffset","setHeightOffset","setHeightOffsetTimer","setHeightOffsetEveryFrame","calloutMainElem","scrollDiff","currentHeightOffset","useHeightOffset","dismissOnTargetClick","shouldDismissOnWindowFocus","preventDismissOnEvent","isMouseDownOnPopup","mouseDownHandlers","positionsExists","dismissOnScroll","dismissOnClickOrScroll","dismissOnResize","dismissOnLostFocus","isEventTargetOutsideCallout","dismissOnTargetWindowBlur","hasFocus","disposablesPromise","useDismissHandlers","mouseDownOnPopup","mouseUpOnPopup","setInitialFocus","hasPositions","useAutoFocus","contentMaxHeight","overflowYHidden","beakVisible","visibilityStyle","beak","getBeakPosition","beakCurtain","calloutMain","onRestoreFocus","previousProps","shouldUpdateWhenHidden","beakPositionStyle","newElementPositions","oldPositionEdge","newPositionEdge","getBeakStyle","CalloutContent","borderWidth","borderStyle","Callout","layerProps","memoizeWith","mFn","DefaultFields","baseStyles","getProps","Wrapped","customizedStyles","additionalProps","__cachedInputs__","concatenatedStyles","__noStyleOverride__","pureComponent","_memoizedClassNames","styleCalcCount","getClassNamesCount","currentMemoizedClassNames","useStaticStyles","_traverseMap","enableClassNameCacheFullWarning","trace","_traverseEdge","_normalizeValue","inputs","ResultComponent","_getCustomizations","stateReducer","_resolveTokens","_resolveStyles","viewProps","statics","allTokens","currentTokens","createResolver","resolver","newRefs","isContained","nextParent","raiseClick","createNewEvent","_scrollbarWidth","_bodyScrollDisabledCount","DisabledScrollClassName","DATA_IS_SCROLLABLE_ATTRIBUTE","allowScrollOnElement","_previousClientY","_element","scrollableParent","findScrollableParent","allowOverscrollOnElement","_disableIosBodyScroll","disableBodyScroll","enableBodyScroll","getScrollbarWidth","scrollDiv","startingElement","componentAsMemoizer","Outer","Inner","innerMemoizer","innerProps","outerProps","composeComponentAs","usePrevious","useResponsiveMode","overrideResponsiveMode","lastResponsiveMode","setLastResponsiveMode","newResponsiveMode","isMacResult","isMac","isIOS","defaultFocusRestorer","originalElement","containsFocus","mergedRootRef","isModalOrPanel","targetDocument","useHideSiblingNodes","originalFocusedElement","documentContainsFocus","useRestoreFocus","needsVerticalScrollBar","needsVerticalScrollBarState","setNeedsVerticalScrollBar","rootHeight","firstChildHeight","useScrollbarAsync","mergeAriaAttributeValues","mergedAttribute","ariaAttributes","concatStyles","_styleCache","_onSettingChanged","mergedStyles","memoizer","composeRenderFunction","isRendered","_timeoutId","_props$type","_props$orientation","orientation","dashed","plain","orientationPrefix","hasChildren","useId","providedId","useControllableValue","controlledValue","defaultUncontrolledValue","isControlled","valueRef","onChangeRef","setValueOrCallOnChange","CommandButton","InternalLayout","CommunicationColors","NeutralColors","SharedColors","shade30","shade20","shade10","tint10","tint20","tint30","tint40","gray220","gray210","gray200","gray190","gray180","gray170","gray160","gray150","gray140","gray130","gray120","gray110","gray100","gray90","gray80","gray70","gray60","gray50","gray40","gray30","gray20","gray10","pinkRed10","red20","red10","redOrange20","redOrange10","orange30","orange20","orange10","yellow10","orangeYellow20","orangeYellow10","yellowGreen10","green20","green10","greenCyan10","cyan40","cyan30","cyan20","cyan10","cyanBlue20","cyanBlue10","blue10","blueMagenta40","blueMagenta30","blueMagenta20","blueMagenta10","magenta20","magenta10","magentaPink20","magentaPink10","nativeElementMap","audio","video","ol","textarea","table","colGroup","getNativeElementProps","getIsChecked","canCheck","isChecked","hasSubmenu","subMenuProps","isItemDisabled","getMenuItemAriaRole","renderItemIcon","onCheckmarkClick","isItemChecked","checkmarkIcon","submenuIconProps","subMenuIcon","openSubMenu","getSubmenuTarget","submenuTarget","dismissSubMenu","dismissAll","renderContent","onRenderContent","_renderLayout","linkContentMenu","linkContent","renderCheckMarkIcon","renderItemName","renderSecondaryText","renderSubMenuIcon","defaultRenders","wrapper","CONTEXTUAL_MENU_ITEM_HEIGHT","MediumScreenSelector","getItemHighContrastStyles","getMenuItemStyles","ContextualMenuItemBackgroundHoverColor","ContextualMenuItemTextHoverColor","ContextualMenuItemBackgroundSelectedColor","ContextualMenuItemDividerColor","menuItemStyles","anchorLink","textRendering","letterSpacing","wordSpacing","textTransform","textIndent","textShadow","iconColor","CONTEXTUAL_SPLIT_MENU_MINWIDTH","getSplitButtonVerticalDividerClassNames","splitMenu","isAnchorLink","knownIcon","itemClassName","dividerClassName","subMenuClassName","splitPrimary","flexBasis","splitContainer","getItemStyles","ContextualMenuItem","_onItemMouseEnter","onItemMouseEnter","_onItemClick","onItemClickBase","_onItemMouseLeave","onItemMouseLeave","_onItemKeyDown","onItemKeyDown","_onItemMouseMove","onItemMouseMove","_getSubmenuTarget","newProps","_anchor","_renderAriaDescription","focusableElementIndex","totalItemCount","hasCheckmarks","hasIcons","contextualMenuItemAs","ChildrenRenderer","expandedMenuItemKey","anchorRel","rel","itemHasSubmenu","itemProps","ariaDescribedByIds","additionalItemProperties","_btn","onItemMouseDown","defaultRole","buttonNativeProperties","itemRole","itemButtonProperties","VerticalDividerBase","deprecatedGetClassNames","VerticalDivider","_executeItemClick","_splitButton","_onItemMouseEnterPrimary","_onItemMouseEnterIcon","_onItemMouseMovePrimary","_onItemMouseMoveIcon","_onIconItemClick","executeItemClick","splitButton","_renderSplitPrimaryButton","_renderSplitDivider","_renderSplitIconButton","itemComponentProps","getDividerClassNames","onTap","getContextualMenuItemClassNames","getSubmenuItems","_getMenuItemStylesFunction","ContextualMenuBase","setExpandedMenuItemKey","setSubmenuTarget","expandedByMouseClick","setExpandedByMouseClick","closeSubMenu","openedByMouseClick","submenuItemKey","useSubMenuState","delayUpdateFocusOnHover","shouldUpdateFocusOnMouseEvent","gotMouseMove","onMenuFocusCapture","useShouldUpdateFocusOnMouseMove","onMenuDismissed","onMenuOpened","previousHidden","onMenuOpenedRef","onMenuClosedRef","useVisibility","_mounted","dismiss","_tryFocusPreviousActiveElement","_previousActiveElement","_onRenderMenuList","menuListProps","indexCorrection","menuItem","_renderMenuItem","itemType","indexIncrease","customOnRenderListLength","itemClassNames","renderedItems","getItemClassNames","subMenuIconClassName","itemStyleProps","_renderSeparator","headerItem","_renderHeaderMenuItem","_renderListItem","Section","_renderSectionItem","_renderNormalItem","_defaultMenuItemRenderer","_lastKeyDownWasAltOrMeta","_isAltOrMeta","dismissAllMenus","_keyHandler","_shouldHandleKeyDown","_shouldCloseSubMenu","_shouldHandleKeyUp","keyPressIsAltOrMetaAlone","shouldHandleKey","handled","submenuCloseKey","_adjustedFocusZoneProps","checkForNoWrap","hasModifier","elementToFocus","_onScroll","_isScrollIdle","_scrollIdleTimeoutId","_onItemMouseEnterBase","_shouldIgnoreMouseEvent","_updateFocusOnMouseEvent","_onItemMouseMoveBase","_enterTimerId","_onMouseItemLeave","_onItemMouseDown","_onItemClickBase","_cancelSubMenuTimer","_onAnchorClick","openKey","_onSubMenuDismiss","_onPointerAndTouchEvent","getMenuClassNames","contextualMenuItems","subMenuId","_isHidden","_onMenuClosed","useTargetWidth","useTargetAsMinWidth","calloutProps","onRenderSubMenu","_onRenderSubMenu","onRenderMenuList","focusZoneProps","itemsHaveIcons","sectionProps","isCircularNavigation","handleTabKey","_getFocusZoneDirection","contextMenuStyle","submenuItem","canAnyMenuItemsCheck","submenuProps","_getSubmenuProps","targetAsHtmlElement","itemCount","menuContext","_renderFocusZone","defaultMenuItemRenderer","FocusZone","sectionItem","menuClassNames","groupProps","headerContextualMenuItem","ariaLabellledby","topDivider","contextualMenuItem","itemsIndex","bottomDivider","fromSection","onRender","_renderAnchorMenuItem","_renderSplitButton","_renderButtonItem","divHtmlProperties","subMenuHoverDelay","timeoutDuration","_findItemByKey","_findItemByKeyFromItems","isopen","LocalContextualMenu","listStyleType","UNWANTED_ENCLOSURES_REGEX","UNWANTED_CHARS_REGEX","PHONENUMBER_REGEX","MULTIPLE_WHITESPACES_REGEX","UNSUPPORTED_TEXT_REGEX","getInitials","allowPhoneInitials","cleanupDisplayName","initials","splits","getInitialsLatin","personaSize","personaPresenceSize","size8","size40","size48","size56","size72","size100","size120","size6","isSize8","isSize10","isSize16","isSize24","extraExtraSmall","isSize28","extraSmall","isSize32","isSize40","isSize48","isSize56","isSize72","isSize100","extraLarge","isSize120","sizeToPixels","presence","online","isAway","away","blocked","isBusy","busy","isDoNotDisturb","dnd","isOffline","offline","PersonaPresenceBase","coinSize","isOutOfOffice","presenceTitle","presenceColors","presenceHeightWidth","presenceMaxSize","coinSizeWithPresenceIconStyle","presenceFontMaxSize","coinSizeWithPresenceStyle","presenceIcon","determineIcon","oofIcon","makeOpenCircleIconStyle","makeBeforeBorderStyle","makeSizeStyle","presenceColorAvailable","available","presenceColorAway","presenceColorBusy","presenceColorDnd","presenceColorOffline","presenceColorOof","oof","presenceColorBackground","isOpenCirclePresence","backgroundClip","COLOR_SWATCHES_LOOKUP","lightBlue","darkBlue","darkGreen","lightPink","lightRed","darkRed","burgundy","warmGray","rust","coolGray","COLOR_SWATCHES_NUM_ENTRIES","getPersonaInitialsColor","primaryText","initialsColor","personaInitialsColor","lightGreen","transparent","personaInitialsColorToHexCode","hashCode","iLen","getInitialsColorFromName","getInitialsStyles","initialsTextColor","showUnknownPersonaCoin","imageAlt","PersonaCoinBase","onPhotoLoadingStateChange","imageUrl","imageLoadState","setImageLoadstate","useImageLoadState","renderCoin","coinProps","onRenderCoin","onRenderPersonaCoin","onRenderInitials","showInitialsUntilImageLoads","divCoinProps","coinSizeStyle","hideImage","personaPresenceProps","shouldRenderInitials","coin","imageArea","size10WithoutPresenceIcon","imageShouldFadeIn","imageShouldStartVisible","dimension","imageInitials","PersonaCoin","perspective","showOverflowTooltip","PersonaBase","getText","renderElement","elementClassNames","renderFunction","defaultRenderFunction","tooltip","TooltipHost","overflowMode","Parent","onInternalRenderPrimaryText","onInternalRenderSecondaryText","onInternalRenderTertiaryText","tertiaryText","onInternalRenderOptionalText","optionalText","hidePersonaDetails","onRenderOptionalText","onRenderPrimaryText","onRenderSecondaryText","onRenderTertiaryText","providedCoinProps","showSecondaryText","personaCoinProps","personaDetails","doNotDisturb","Persona","showSecondaryTextDefaultHeight","sharedTextStyles","supportBigInt","BigInt","numStr","negative","trimStr","splitNumber","integerStr","decimalStr","negativeStr","fullStr","isE","getNumberPrecision","precision","decimalMatch","validateNumber","num2str","NumberDecimal","toNumber","isInvalidate","maxPrecision","safe","BigIntDecimal","trimRet","decimal","decimalLen","nan","padStart","decimalLength","getMark","getIntegerStr","getDecimalStr","padEnd","maxDecimalLength","_trimNumber","alignDecimal","hydrateValueStr","getMiniDecimal","separatorStr","_trimNumber2","precisionDecimalStr","numberWithoutDecimal","advancedNum","StepHandler","upNode","downNode","upDisabled","downDisabled","onStep","stepTimeoutRef","onStepRef","onStepMouseDown","loopStep","onStopStep","handlerClassName","upClassName","downClassName","sharedHandlerProps","useUpdateEffect","getDecimalValue","stringMode","decimalValue","getDecimalIfValidate","InputNumber","_props$step","upHandler","downHandler","decimalSeparator","onInput","inputProps","setFocus","userTypingRef","compositionRef","setDecimalValue","getPrecision","userTyping","mergedParser","parsedStr","mergedFormatter","mergedPrecision","initValue","setInternalInputValue","setInputValue","maxDecimal","minDecimal","lessEquals","_useCursor","selectionRef","beforeTxt","afterTxt","_selectionRef$current","startPos","endsWith","beforeLastChar","newIndex","useCursor","_useCursor2","recordCursor","restoreCursor","getRangeValue","isInRange","triggerValueUpdate","newDecimal","isRangeValidate","collectInputValue","inputStr","finalDecimal","onInternalStep","_inputRef$current","stepDecimal","updatedValue","flushInputValue","parsedValue","formatValue","UpOutlined","UpOutlinedSvg","_props$bordered","upIcon","downIcon","mergeSize","inputNumberClass","RcInputNumber","mergeSettings","oldSettings","newSettings","mergeSettingsWith","_isSettingsFunction","_settingsMergeWith","mergeScopedSettings","scopedSettingsFromProps","oldScopedSettings","newScopedSettings","_scopedSettingsMergeWith","_onCustomizationChange","contextTransform","newContext","mergeCustomizations","getFabricTheme","FabricBase","applyTheme","applyThemeToBody","bodyThemed","useApplyThemeToBody","useFocusRects","Root","contextDir","pageDir","componentDir","rootDir","needsTheme","renderedContent","useRenderedContent","inheritFont","Fabric","_defaultHostSelector","_layersByHostId","filteredEventProps","LayerBase","layerRef","needRaiseLayerMount","setNeedRaiseLayerMount","eventBubblingEnabled","hostId","onLayerDidMount","onLayerWillUnmount","insertFirst","isNotHost","getHost","defaultHostSelector","removeLayerElement","createLayerElement","virtualChild","virtualParent","oldParent","setVirtualParent","registerLayer","unregisterLayer","getFilteredEvents","onFilterEvent","BUBBLING_PHASE","rootNoHost","QuestionCircleOutlined","QuestionCircleOutlinedSvg","FormItemLabel","htmlFor","_useLocaleReceiver","formLocale","contextLabelAlign","contextLabelCol","contextColon","mergedLabelCol","mergedLabelAlign","labelClsBasic","labelColClassName","labelChildren","computedColon","toTooltipProps","_tooltipProps$icon","restTooltipProps","tooltipNode","labelClassName","ErrorList","_ref$errors","help","onDomErrorVisibleChange","_useCacheErrors","changeTrigger","directly","prevErrors","prevErr","useCacheErrors","_useCacheErrors2","cacheErrors","memoErrors","innerStatus","setInnerStatus","iconMap","FormItemInput","hasFeedback","formItemRender","_internalItemRender","validateStatus","mergedWrapperCol","IconNode","subFormContext","inputDom","errorListDom","extraDom","dom","NAME_SPLIT","MemoInput","FormItem","noStyle","_useContext2","domErrorVisible","innerSetDomErrorVisible","_useFrameState","frameRef","batchRef","useFrameState","_useFrameState2","inlineErrors","setInlineErrors","contextValidateTrigger","setDomErrorVisible","hasValidName","nameRef","updateChildItemErrors","subName","subErrors","originSubName","prevInlineErrors","getItemRef","childrenRef","nameStr","useItemRef","renderLayout","baseChildren","_itemClassName","mergedErrors","subErrorList","mergedValidateStatus","isRenderProps","mergedName","originErrorName","fieldKeys","ruleEntity","mergedControl","_a2","_c2","FormList","handleCancel","onCancel","handleOk","onOk","renderFooter","okType","confirmLoading","cancelButtonProps","okButtonProps","centered","defaultFooter","wrapClassNameExtended","clickedRef","$this","actionFn","closeModal","returnValueOfOnOk","handlePromiseOnOk","ConfirmDialog","contentPrefixCls","okCancel","autoFocusButton","cancelButton","triggerCancel","destroyFns","defaultRootPrefixCls","unmountResult","configUpdate","withWarn","withInfo","withSuccess","withError","withConfirm","HookModal","innerConfig","setInnerConfig","newConfig","originConfig","modalLocale","ElementsHolder","_usePatchElement","usePatchElement","_usePatchElement2","patchElement","modalWarn","OriginModal","useModal","holderRef","actionQueue","setActionQueue","getConfirmFunc","withFunc","closeFunc","modalRef","destroyAction","updateAction","destroyAll","TooltipDelay","subText","tooltipGapSpace","devicePixelRatio","wordWrap","overflowWrap","_tooltipHost","_defaultTooltipId","show","_toggleTooltip","_hideTooltip","_getTargetElement","Self","_onTooltipFocus","_ignoreNextFocusEvent","_onTooltipMouseEnter","_onTooltipBlur","TooltipHostBase","_currentVisibleTooltip","overflowElement","hasHorizontalOverflow","hasVerticalOverflow","_clearDismissTimer","_clearOpenTimer","isAriaPlaceholderRendered","delayTime","_getDelayTime","_openTimerId","_onTooltipMouseLeave","closeDelay","_dismissTimerId","_onTooltipKeyDown","isTooltipVisible","onTooltipToggle","long","setAriaDescribedBy","tooltipId","isContentPresent","showTooltip","onBlurCapture","ariaPlaceholder","_seed","mergeStylesRenderer","renderStyles","styleSet","renderFontFace","renderKeyframes","useThemeProviderStyles","styleOrFunction","graph","contextualTheme","useTheme","isStyleFunction","graphNode","graphGet","graphSet","makeStyles","useThemeProviderClasses","applyTo","classesToApply","applyToBody","classToApply","useApplyClassToBody","customizerContext","themeToIdMap","draftState","userTheme","parentTheme","themes","ThemeProvider","useRefEffect","initial","refCallback","createRefCallback","onOverflowItemsChanged","pinnedIndex","updateOverflowRef","containerWidthRef","cleanupObserver","menuButtonRef","menuButton","minContainerWidth","extraWidth","itemOffsetEnd","offsetLeft","setOverflowIndex","prevOverflowIndex","overflowIndex","isOverflowing","pivotId","links","keyToIndexMapping","keyToTabIdMapping","pivotItemProps","headerText","getTabId","PivotItem","PivotBase","focusZoneRef","overflowMenuButtonComponentRef","selectedKey","defaultSelectedKey","setSelectedKey","linkSize","linkFormat","overflowBehavior","linkCollection","renderLinkContent","renderPivotLink","renderLinkCollection","renderPivotLinkSelectedKey","headerButtonProps","onRenderItemLink","tabId","contentString","linkIsSelected","onLinkClick","updateSelectedItem","selectedIndex","renderedSelectedKey","getSelectedKey","renderedSelectedIndex","overflowMenuProps","overflowMenuButtonRef","dataset","overflowMenuButton","alwaysRender","headersOnly","selectedTabId","itemContainer","renderPivotItem","globalClassNames","rootIsLarge","rootIsTabs","linkInMenu","isLinkInOverflowMenu","durationValue2","easeFunction2","outlineOffset","Pivot","_clone","refFrom","refTo","copiedValue","XReduceBy","valueFn","valueAcc","keyFn","_xreduceBy","reduceBy","elt","groupBy","LinkBase","underline","mergedRootRefs","isButton","isUnderlined","rootType","linkColor","linkInteractedColor","linkDisabledColor","focusBorderColor","intersection","list1","list2","lookupList","filteredList","_filter","_pipe","pipe","assoc","assocPath","nextObj","lensPath","_getThemedSpacing","_getValueUnitGap","numericalPart","numericalValue","numericalString","parsePadding","paddingValues","padding1","padding2","nameMap","StackStatics","stackChildren","defaultItemProps","reversed","horizontalAlign","childrenGap","columnGap","splitGap","calculatedGap","parseGap","horizontalMargin","verticalMargin","childStyles","commonSelectors","mergeWithKey","mergeDeepWithKey","lObj","rObj","lVal","rVal","mergeDeepRight","_urlResolver","compositeLink","chevronButton","chevronIcon","navItem","navItems","groupContent","buttonStyles","_focusZone","_onRenderLink","_renderGroup","groupIndex","onRenderGroupHeader","_renderGroupHeader","_isGroupExpanded","isGroup","onHeaderClick","isCollapsing","_onGroupHeaderClicked","_renderLinks","expandButtonAriaLabel","collapseAriaLabel","expandAriaLabel","isGroupCollapsed","isLinkExpandStateChanged","initialSelectedKey","isOnTop","groupElements","forceIntoFirstElement","_renderNavLink","linkIndex","nestingLevel","isLinkWithIcon","isSelectedLink","_isLinkSelected","isButtonEntry","forceAnchor","leftPadding","LinkAs","linkAs","onRenderLink","_onNavButtonLinkClicked","_onNavAnchorLinkClicked","_renderCompositeLink","isLink","finalExpandBtnAriaLabel","_onLinkExpandClicked","_renderLink","linkElements","_toggleCollapsed","onLinkExpandClick","_preventBounce","collapseByDefault","newGroupCollapsed","navHeight","leftPaddingExpanded","rightPadding","WebkitOverflowScrolling","sequencesToID","keySequence","useKeytipData","keytipManager","prevOptions","nativeKeytipProps","keytipId","describedByPrepend","describedby","getAriaDescribedBy","overflowKeySequences","overflowSequenceLen","overflowSequence","newKeySequences","mergeOverflows","getKeytipData","getLanguage","persistenceType","savedLanguage","defaultTo","pathOr","DirectionalKeyCodes","mountCounters","setMountCounters","currValue","disableFocusRects","FocusRects","_makeSafe","_makeAllSafe","BaseComponent","_updateComponentRef","__disposables","_disposables","disposable","__className","__async","__events","_resolveRef","refName","__resolves","_warnDeprecations","_warnMutuallyExclusive","mutuallyExclusiveMap","_warnConditionallyRequiredProps","_skipComponentRefResolution","classMethod","prototypeMethod","nullRender","cond","pair","iconButtonStyles","IconButton","focusZoneStyles","IS_FOCUSABLE_ATTRIBUTE","FOCUSZONE_ID_ATTRIBUTE","TABINDEX","NO_VERTICAL_WRAP","NO_HORIZONTAL_WRAP","LARGE_DISTANCE_FROM_CENTER","LARGE_NEGATIVE_DISTANCE_FROM_CENTER","_allInstances","_outerZones","ALLOWED_INPUT_TYPES","ALLOW_VIRTUAL_ELEMENTS","_root","_onFocus","_portalContainsElement","newActiveElement","onActiveElementChanged","doNotAllowFocusEventToPropagate","stopFocusPropagation","onFocusNotification","shouldFocusInnerElementWhenReceivedFocus","defaultTabbableElement","isImmediateDescendant","_isImmediateDescendantOfZone","maybeElementToFocus","_activeElement","initialElementFocused","_setFocusAlignment","_updateTabIndexes","_onBlur","_setParkedFocus","_setActiveElement","isInnerZoneKeystroke","pagingSupportDisabled","shouldEnterInnerZone","_getDocument","_isInnerZone","innerZone","_getFirstInnerZone","focusElement","_tryInvokeClickForFocusable","_preventDefaultWhenHandled","_moveFocusLeft","_moveFocusRight","_moveFocusUp","_moveFocusDown","_moveFocusPaging","allowTabKey","_isElementInput","focusChanged","_processingTabKey","_shouldWrapFocus","shouldResetActiveElementWhenTabFromZone","_isContentEditableElement","_shouldInputLoseFocus","_getHorizontalDistanceFromCenter","isForward","activeRect","leftAlignment","_focusAlignment","targetRectTop","activeRectBottom","targetRectBottom","activeRectTop","getOuterZones","_onKeyDownCapture","_windowElement","defaultActiveElement","_lastIndexPath","preventFocusRestoration","_defaultFocusElement","_evaluateFocusBeforeRender","ownerZoneElement","_getOwnerZone","ownerZone","focusLast","forceAlignment","onBeforeFocus","shouldReceiveFocus","setFocusAlignment","focusedElement","isParked","_isParked","_parkedTabIndex","previousActiveElement","preventDefaultWhenHandled","shouldRaiseClicks","_moveFocus","getDistanceFromCenter","useDefaultWrap","candidateDistance","candidateElement","changedFocus","isBidirectional","bidirectional","elementDistance","distance","shouldWrap","pagesize","isHorizontal","isVertical","childIndex","isRangeSelected","isReadonly","shouldInputLoseFocusOnArrowKey","previousTargetProp","currentDoc"],"mappings":";wIAGEA,EAAOC,QAAUC,EAAQ,M,6BCAzBF,EAAOC,QAAUC,EAAQ,M,8BCHZ,SAASC,IAetB,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGFH,EAASY,MAAMC,KAAMR,WAf9B,mC,6BCAA,6CAEA,SAASS,EAAQC,EAAQC,GACvB,IAAIC,EAAOhB,OAAOgB,KAAKF,GAEvB,GAAId,OAAOiB,sBAAuB,CAChC,IAAIC,EAAUlB,OAAOiB,sBAAsBH,GAEvCC,IACFG,EAAUA,EAAQC,QAAO,SAAUC,GACjC,OAAOpB,OAAOqB,yBAAyBP,EAAQM,GAAKE,eAIxDN,EAAKO,KAAKZ,MAAMK,EAAME,GAGxB,OAAOF,EAGM,SAASQ,EAAetB,GACrC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAE/CA,EAAI,EACNU,EAAQb,OAAOM,IAAS,GAAMmB,SAAQ,SAAUlB,GAC9C,YAAeL,EAAQK,EAAKD,EAAOC,OAE5BP,OAAO0B,0BAChB1B,OAAO2B,iBAAiBzB,EAAQF,OAAO0B,0BAA0BpB,IAEjEO,EAAQb,OAAOM,IAASmB,SAAQ,SAAUlB,GACxCP,OAAO4B,eAAe1B,EAAQK,EAAKP,OAAOqB,yBAAyBf,EAAQC,OAKjF,OAAOL,I,6BCrCM,SAAS2B,EAAgBC,EAAKvB,EAAKwB,GAYhD,OAXIxB,KAAOuB,EACT9B,OAAO4B,eAAeE,EAAKvB,EAAK,CAC9BwB,MAAOA,EACPT,YAAY,EACZU,cAAc,EACdC,UAAU,IAGZH,EAAIvB,GAAOwB,EAGND,EAZT,mC,8BCAA,0KAgBA,IAAII,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBlC,OAAOqC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAII,KAAKJ,EAAOpC,OAAOQ,UAAUC,eAAeC,KAAK0B,EAAGI,KAAIL,EAAEK,GAAKJ,EAAEI,KACzFN,EAAcC,EAAGC,IAGrB,SAASK,EAAUN,EAAGC,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIM,UAAU,uBAAyBC,OAAOP,GAAK,iCAE7D,SAASQ,IAAOhC,KAAKiC,YAAcV,EADnCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAapC,OAAO8C,OAAOV,IAAMQ,EAAGpC,UAAY4B,EAAE5B,UAAW,IAAIoC,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAW/C,OAAOC,QAAU,SAAkB+C,GAC1C,IAAK,IAAIC,EAAG9C,EAAI,EAAG+C,EAAI9C,UAAUC,OAAQF,EAAI+C,EAAG/C,IAE5C,IAAK,IAAIqC,KADTS,EAAI7C,UAAUD,GACOH,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,KAAIQ,EAAER,GAAKS,EAAET,IAE9E,OAAOQ,GAEJD,EAASpC,MAAMC,KAAMR,YAGzB,SAAS+C,EAAOF,EAAGG,GACtB,IAAIJ,EAAI,GACR,IAAK,IAAIR,KAAKS,EAAOjD,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,IAAMY,EAAEC,QAAQb,GAAK,IAC9EQ,EAAER,GAAKS,EAAET,IACb,GAAS,MAALS,GAAqD,oBAAjCjD,OAAOiB,sBACtB,KAAId,EAAI,EAAb,IAAgBqC,EAAIxC,OAAOiB,sBAAsBgC,GAAI9C,EAAIqC,EAAEnC,OAAQF,IAC3DiD,EAAEC,QAAQb,EAAErC,IAAM,GAAKH,OAAOQ,UAAU8C,qBAAqB5C,KAAKuC,EAAGT,EAAErC,MACvE6C,EAAER,EAAErC,IAAM8C,EAAET,EAAErC,KAE1B,OAAO6C,EAGJ,SAASO,EAAWC,EAAYtD,EAAQK,EAAKkD,GAChD,IAA2HtB,EAAvHuB,EAAItD,UAAUC,OAAQsD,EAAID,EAAI,EAAIxD,EAAkB,OAATuD,EAAgBA,EAAOzD,OAAOqB,yBAAyBnB,EAAQK,GAAOkD,EACrH,GAAuB,kBAAZG,SAAoD,oBAArBA,QAAQC,SAAyBF,EAAIC,QAAQC,SAASL,EAAYtD,EAAQK,EAAKkD,QACpH,IAAK,IAAItD,EAAIqD,EAAWnD,OAAS,EAAGF,GAAK,EAAGA,KAASgC,EAAIqB,EAAWrD,MAAIwD,GAAKD,EAAI,EAAIvB,EAAEwB,GAAKD,EAAI,EAAIvB,EAAEjC,EAAQK,EAAKoD,GAAKxB,EAAEjC,EAAQK,KAASoD,GAChJ,OAAOD,EAAI,GAAKC,GAAK3D,OAAO4B,eAAe1B,EAAQK,EAAKoD,GAAIA,EAiDnC3D,OAAO8C,OAiD7B,SAASgB,IACZ,IAAK,IAAIb,EAAI,EAAG9C,EAAI,EAAG4D,EAAK3D,UAAUC,OAAQF,EAAI4D,EAAI5D,IAAK8C,GAAK7C,UAAUD,GAAGE,OACxE,IAAIsD,EAAIpB,MAAMU,GAAIe,EAAI,EAA3B,IAA8B7D,EAAI,EAAGA,EAAI4D,EAAI5D,IACzC,IAAK,IAAI8D,EAAI7D,UAAUD,GAAI+D,EAAI,EAAGC,EAAKF,EAAE5D,OAAQ6D,EAAIC,EAAID,IAAKF,IAC1DL,EAAEK,GAAKC,EAAEC,GACjB,OAAOP,EAgDc3D,OAAO8C,Q,gBCjNhC,OAOC,WACA,aAEA,IAAIsB,EAAS,GAAG3D,eAEhB,SAAS4D,IAGR,IAFA,IAAIC,EAAU,GAELnE,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAC1C,IAAIoE,EAAMnE,UAAUD,GACpB,GAAKoE,EAAL,CAEA,IAAIC,SAAiBD,EAErB,GAAgB,WAAZC,GAAoC,WAAZA,EAC3BF,EAAQ/C,KAAKgD,QACP,GAAIhC,MAAMkC,QAAQF,IACxB,GAAIA,EAAIlE,OAAQ,CACf,IAAIqE,EAAQL,EAAW1D,MAAM,KAAM4D,GAC/BG,GACHJ,EAAQ/C,KAAKmD,SAGT,GAAgB,WAAZF,EACV,GAAID,EAAII,WAAa3E,OAAOQ,UAAUmE,SACrC,IAAK,IAAIpE,KAAOgE,EACXH,EAAO1D,KAAK6D,EAAKhE,IAAQgE,EAAIhE,IAChC+D,EAAQ/C,KAAKhB,QAIf+D,EAAQ/C,KAAKgD,EAAII,aAKpB,OAAOL,EAAQM,KAAK,KAGgBhF,EAAOC,SAC3CwE,EAAWQ,QAAUR,EACrBzE,EAAOC,QAAUwE,QAGX,kBACL,OAAOA,GADF,QAAe,OAAf,aA5CP,I,kGCHc,SAASS,EAAeC,EAAK5E,GAC1C,OAAO,OAAA6E,EAAA,GAAeD,ICLT,SAA+BA,EAAK5E,GACjD,IAAI8E,EAAY,MAAPF,EAAc,KAAyB,qBAAXG,QAA0BH,EAAIG,OAAOC,WAAaJ,EAAI,cAE3F,GAAU,MAANE,EAAJ,CACA,IAIIG,EAAIC,EAJJC,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAKP,EAAKA,EAAGvE,KAAKqE,KAAQQ,GAAMH,EAAKH,EAAGQ,QAAQC,QAC9CJ,EAAK/D,KAAK6D,EAAGrD,QAET5B,GAAKmF,EAAKjF,SAAWF,GAH4BoF,GAAK,IAK5D,MAAOI,GACPH,GAAK,EACLH,EAAKM,EACL,QACA,IACOJ,GAAsB,MAAhBN,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIO,EAAI,MAAMH,GAIlB,OAAOC,GDtBuB,CAAqBP,EAAK5E,IAAM,OAAAyF,EAAA,GAA2Bb,EAAK5E,IAAM,OAAA0F,EAAA,O,6BELtG,+CAEA,SAAShF,EAAQC,EAAQC,GACvB,IAAIC,EAAOhB,OAAOgB,KAAKF,GAEvB,GAAId,OAAOiB,sBAAuB,CAChC,IAAIC,EAAUlB,OAAOiB,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQC,QAAO,SAAUC,GACrD,OAAOpB,OAAOqB,yBAAyBP,EAAQM,GAAKE,eAEtDN,EAAKO,KAAKZ,MAAMK,EAAME,GAGxB,OAAOF,EAGM,SAASQ,EAAetB,GACrC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAAyB,MAAhBF,UAAUD,GAAaC,UAAUD,GAAK,GAE/CA,EAAI,EACNU,EAAQb,OAAOM,IAAS,GAAMmB,SAAQ,SAAUlB,GAC9C,YAAeL,EAAQK,EAAKD,EAAOC,OAE5BP,OAAO0B,0BAChB1B,OAAO2B,iBAAiBzB,EAAQF,OAAO0B,0BAA0BpB,IAEjEO,EAAQb,OAAOM,IAASmB,SAAQ,SAAUlB,GACxCP,OAAO4B,eAAe1B,EAAQK,EAAKP,OAAOqB,yBAAyBf,EAAQC,OAKjF,OAAOL,I,8BCsVT,IAAY4F,EA8GAC,EAaAC,EA9HZ,sGAGA,SAAYF,GAKV,mBAMA,yCAMA,+BAMA,qBAMA,yBAMA,qBAMA,+BAKA,sBAMA,uBAMA,uBAKA,wBAMA,uBAKA,wBAKA,wBAKA,wBAKA,wBAKA,wBAKA,0BAKA,0BAxGF,CAAYA,MAAW,KA8GvB,SAAYC,GACV,mBACA,yBACA,uBACA,mBACA,iBACA,yBACA,mBAPF,CAAYA,MAAe,KAa3B,SAAYC,GACV,6BACA,mBACA,2BACA,mBACA,+BACA,qBACA,6BACA,6BACA,mBACA,yBACA,wBAKA,sBACA,wBAKA,kBACA,0BAKA,kCACA,wBACA,4BACA,oBACA,4BACA,4BACA,4BAKA,oBACA,oBACA,oBAzCF,CAAYA,MAAoB,M,gBCje9BpG,EAAOC,QAAUC,EAAQ,IAARA,I,kGCbJ,SAASmG,EAAmBlB,GACzC,OCJa,SAA4BA,GACzC,GAAIxC,MAAMkC,QAAQM,GAAM,OAAO,OAAAmB,EAAA,GAAiBnB,GDGzC,CAAkBA,IAAQ,OAAAoB,EAAA,GAAgBpB,IAAQ,OAAAa,EAAA,GAA2Bb,IELvE,WACb,MAAM,IAAIrC,UAAU,wIFIwE,K,uJGJnF0D,G,MAAiCC,IAAMC,cAAc,OCIhE,IAAIC,EAJJ,SAA0BC,GACxBA,KCEF,SAASC,IACP,IAAIF,EDOGA,ECNHG,EAAQ,KACRC,EAAO,KACX,MAAO,CACLC,MAAO,WACLF,EAAQ,KACRC,EAAO,MAETE,OAAQ,WACNN,GAAM,WAGJ,IAFA,IAAIO,EAAWJ,EAERI,GACLA,EAASN,WACTM,EAAWA,EAASrB,SAI1BsB,IAAK,WAIH,IAHA,IAAIC,EAAY,GACZF,EAAWJ,EAERI,GACLE,EAAUzF,KAAKuF,GACfA,EAAWA,EAASrB,KAGtB,OAAOuB,GAETC,UAAW,SAAmBT,GAC5B,IAAIU,GAAe,EACfJ,EAAWH,EAAO,CACpBH,SAAUA,EACVf,KAAM,KACN0B,KAAMR,GASR,OANIG,EAASK,KACXL,EAASK,KAAK1B,KAAOqB,EAErBJ,EAAQI,EAGH,WACAI,GAA0B,OAAVR,IACrBQ,GAAe,EAEXJ,EAASrB,KACXqB,EAASrB,KAAK0B,KAAOL,EAASK,KAE9BR,EAAOG,EAASK,KAGdL,EAASK,KACXL,EAASK,KAAK1B,KAAOqB,EAASrB,KAE9BiB,EAAQI,EAASrB,SAO3B,IAAI2B,EAAgB,CAClBP,OAAQ,aACRE,IAAK,WACH,MAAO,KAGJ,SAASM,EAAmBC,EAAOC,GACxC,IAAIC,EACAR,EAAYI,EAWhB,SAASK,IACHC,EAAaC,eACfD,EAAaC,gBAQjB,SAASC,IACFJ,IACHA,EAAcD,EAAYA,EAAUM,aAAaJ,GAAuBH,EAAML,UAAUQ,GACxFT,EAAYP,KAahB,IAAIiB,EAAe,CACjBG,aApCF,SAAsBf,GAEpB,OADAc,IACOZ,EAAUC,UAAUH,IAmC3BgB,iBAhCF,WACEd,EAAUH,UAgCVY,oBAAqBA,EACrBP,aAxBF,WACE,OAAOa,QAAQP,IAwBfI,aAAcA,EACdI,eAfF,WACMR,IACFA,IACAA,OAAcS,EACdjB,EAAUJ,QACVI,EAAYI,IAWdc,aAAc,WACZ,OAAOlB,IAGX,OAAOU,ECnHF,IAAIS,EAA8C,qBAAXC,QAAqD,qBAApBA,OAAOC,UAAqE,qBAAlCD,OAAOC,SAASC,cAAgCC,kBAAkBC,YC2C5KC,MA9Cf,SAAkBC,GAChB,IAAIpB,EAAQoB,EAAKpB,MACbqB,EAAUD,EAAKC,QACfC,EAAWF,EAAKE,SAChBC,EAAeC,mBAAQ,WACzB,IAAIpB,EAAeL,EAAmBC,GAEtC,OADAI,EAAaC,cAAgBD,EAAaI,iBACnC,CACLR,MAAOA,EACPI,aAAcA,KAEf,CAACJ,IACAyB,EAAgBD,mBAAQ,WAC1B,OAAOxB,EAAM0B,aACZ,CAAC1B,IACJa,GAA0B,WACxB,IAAIT,EAAemB,EAAanB,aAOhC,OANAA,EAAaE,eAETmB,IAAkBzB,EAAM0B,YAC1BtB,EAAaI,mBAGR,WACLJ,EAAaM,iBACbN,EAAaC,cAAgB,QAE9B,CAACkB,EAAcE,IAClB,IAAIE,EAAUN,GAAWvC,EACzB,OAAoBC,IAAMiC,cAAcW,EAAQR,SAAU,CACxD1G,MAAO8G,GACND,I,yBClBE,SAASM,IAOd,OANmBC,qBAAW/C,GCVzB,SAASgD,EAAgBT,QACd,IAAZA,IACFA,EAAUvC,GAGZ,IAAI8C,EAAkBP,IAAYvC,EAAoBiD,EAAyB,WAC7E,OAAOF,qBAAWR,IAEpB,OAAO,WAIL,OAHuBO,IACM5B,OAqB1B,IAAIgC,EAAwBF,IChC5B,SAASG,EAAmBZ,QACjB,IAAZA,IACFA,EAAUvC,GAGZ,IAAIkD,EAAWX,IAAYvC,EAAoBoD,EAAkBJ,EAAgBT,GACjF,OAAO,WAEL,OADYW,IACCG,UAyBV,IAAIC,EAA2BH,ICpClCI,EAAc,SAAqB1F,EAAG7B,GACxC,OAAO6B,IAAM7B,GA0FR,SAASwH,EAAmBjB,QACjB,IAAZA,IACFA,EAAUvC,GAGZ,IAAI8C,EAAkBP,IAAYvC,EAAoBiD,EAAyB,WAC7E,OAAOF,qBAAWR,IAEpB,OAAO,SAAqBkB,EAAUC,QACjB,IAAfA,IACFA,EAAaH,GAiBf,IAAII,EAAmBb,IAInBc,EAtHR,SAA6CH,EAAUC,EAAYxC,EAAO2C,GACxE,IAaID,EAVAE,EAHcC,sBAAW,SAAUlH,GACrC,OAAOA,EAAI,IACV,GAC2B,GAE1ByE,EAAeoB,mBAAQ,WACzB,OAAOzB,EAAmBC,EAAO2C,KAChC,CAAC3C,EAAO2C,IACPG,EAAkCC,mBAClCC,EAAiBD,mBACjBE,EAAmBF,mBACnBG,EAAsBH,mBACtBI,EAAanD,EAAM0B,WAGvB,IACE,GAAIa,IAAaS,EAAeI,SAAWD,IAAeF,EAAiBG,SAAWN,EAAgCM,QAAS,CAC7H,IAAIC,EAAmBd,EAASY,GAK9BT,OAHkC/B,IAAhCuC,EAAoBE,SAA0BZ,EAAWa,EAAkBH,EAAoBE,SAGjFF,EAAoBE,QAFpBC,OAKlBX,EAAgBQ,EAAoBE,QAEtC,MAAO/E,GAKP,MAJIyE,EAAgCM,UAClC/E,EAAIiF,SAAW,4DAA8DR,EAAgCM,QAAQG,MAAQ,QAGzHlF,EA4CR,OAzCAwC,GAA0B,WACxBmC,EAAeI,QAAUb,EACzBU,EAAiBG,QAAUD,EAC3BD,EAAoBE,QAAUV,EAC9BI,EAAgCM,aAAUzC,KAE5CE,GAA0B,WACxB,SAAS2C,IACP,IACE,IAAIC,EAAgBzD,EAAM0B,WAE1B,GAAI+B,IAAkBR,EAAiBG,QACrC,OAGF,IAAIM,EAAoBV,EAAeI,QAAQK,GAE/C,GAAIjB,EAAWkB,EAAmBR,EAAoBE,SACpD,OAGFF,EAAoBE,QAAUM,EAC9BT,EAAiBG,QAAUK,EAC3B,MAAOpF,GAKPyE,EAAgCM,QAAU/E,EAG5CuE,IAMF,OAHAxC,EAAaC,cAAgBmD,EAC7BpD,EAAaE,eACbkD,IACO,WACL,OAAOpD,EAAaM,oBAErB,CAACV,EAAOI,IACJsC,EAyCeiB,CAAoCpB,EAAUC,EAHtDC,EAAiBzC,MACZyC,EAAiBrC,cAIlC,OADAwD,wBAAclB,GACPA,GA2BJ,IPtJiCmB,EOsJ7BC,EAA2BxB,I,QPtJEuB,EQF/B5E,0BRGAA,EAAQ4E,G,kGSJF,SAASrG,EAAeC,EAAK5E,GAC1C,OAAO,OAAA6E,EAAA,GAAeD,ICLT,SAA+BA,EAAK5E,GACjD,GAAsB,qBAAX+E,QAA4BA,OAAOC,YAAYnF,OAAO+E,GAAjE,CACA,IAAIO,EAAO,GACPC,GAAK,EACLC,GAAK,EACLH,OAAK4C,EAET,IACE,IAAK,IAAiC7C,EAA7BH,EAAKF,EAAIG,OAAOC,cAAmBI,GAAMH,EAAKH,EAAGQ,QAAQC,QAChEJ,EAAK/D,KAAK6D,EAAGrD,QAET5B,GAAKmF,EAAKjF,SAAWF,GAH8CoF,GAAK,IAK9E,MAAOI,GACPH,GAAK,EACLH,EAAKM,EACL,QACA,IACOJ,GAAsB,MAAhBN,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIO,EAAI,MAAMH,GAIlB,OAAOC,GDnBuB,CAAqBP,EAAK5E,IAAM,OAAAyF,EAAA,GAA2Bb,EAAK5E,IAAM,OAAA0F,EAAA,O,+BELvF,SAASwF,EAAgBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAI7I,UAAU,qCAFxB,mC,mGCIe,SAASuD,EAAmBlB,GACzC,OCJa,SAA4BA,GACzC,GAAIxC,MAAMkC,QAAQM,GAAM,OAAO,OAAAmB,EAAA,GAAiBnB,GDGzC,CAAkBA,IAAQ,OAAAoB,EAAA,GAAgBpB,IAAQ,OAAAa,EAAA,GAA2Bb,IELvE,WACb,MAAM,IAAIrC,UAAU,wIFIwE,K,6BGL9F,8CACe,SAAS8I,EAAyBlL,EAAQmL,GACvD,GAAc,MAAVnL,EAAgB,MAAO,GAC3B,IACIC,EAAKJ,EADLD,EAAS,YAA6BI,EAAQmL,GAGlD,GAAIzL,OAAOiB,sBAAuB,CAChC,IAAIyK,EAAmB1L,OAAOiB,sBAAsBX,GAEpD,IAAKH,EAAI,EAAGA,EAAIuL,EAAiBrL,OAAQF,IACvCI,EAAMmL,EAAiBvL,GACnBsL,EAASpI,QAAQ9C,IAAQ,GACxBP,OAAOQ,UAAU8C,qBAAqB5C,KAAKJ,EAAQC,KACxDL,EAAOK,GAAOD,EAAOC,IAIzB,OAAOL,I,6BCjBM,SAASyL,EAAQ7J,GAa9B,OATE6J,EADoB,oBAAXzG,QAAoD,kBAApBA,OAAOC,SACtC,SAAiBrD,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,oBAAXoD,QAAyBpD,EAAIe,cAAgBqC,QAAUpD,IAAQoD,OAAO1E,UAAY,gBAAkBsB,GAItH6J,EAAQ7J,GAbjB,mC,6BCAA,SAAS8J,EAAkB1L,EAAQ2L,GACjC,IAAK,IAAI1L,EAAI,EAAGA,EAAI0L,EAAMxL,OAAQF,IAAK,CACrC,IAAI2L,EAAaD,EAAM1L,GACvB2L,EAAWxK,WAAawK,EAAWxK,aAAc,EACjDwK,EAAW9J,cAAe,EACtB,UAAW8J,IAAYA,EAAW7J,UAAW,GACjDjC,OAAO4B,eAAe1B,EAAQ4L,EAAWvL,IAAKuL,IAInC,SAASC,EAAaR,EAAaS,EAAYC,GAG5D,OAFID,GAAYJ,EAAkBL,EAAY/K,UAAWwL,GACrDC,GAAaL,EAAkBL,EAAaU,GACzCV,EAbT,mC,g5CCMM,EAAoB,2BACpB,EAAoB,8BACpB,EAAa,SACb,EAAa,SACb,EAAa,SACb,EAAa,SAEb,EAAkB,YAAU,CAChC,KAAM,CAAE,QAAS,GACjB,GAAI,CAAE,QAAS,KAGX,EAAmB,YAAU,CACjC,KAAM,CAAE,QAAS,GACjB,GAAI,CAAE,QAAS,EAAG,WAAY,YAG1B,EAA2BW,GAAiB,IAC5C,EAA2BA,GAAiB,IAC5CC,EAA2B,GAAiB,IAC5C,EAA4B,GAAiB,KAC7C,EAA0BD,EAAgB,IAC1C,EAA0BA,EAAgB,IAC1CE,EAA0B,EAAgB,IAC1C,EAA2B,EAAgB,KAC3C,EAAwBC,EAAgB,IACxC,EAAwB,EAAgB,IACxC,EAA0BA,GAAiB,IAC3C,EAA0B,GAAiB,IAE3C,EAA4BC,EAAiB,IAC7C,EAA4BA,EAAiB,IAC7CC,EAA4B,EAAiB,IAC7C,EAA6B,EAAiB,KAC9C,EAA2BD,GAAkB,IAC7C,EAA2BA,GAAkB,IAC7CE,EAA2B,GAAkB,IAC7C,EAA4B,GAAkB,KAC9C,EAAyBC,GAAkB,IAC3C,EAAyB,GAAkB,IAC3C,EAA2BA,EAAiB,IAC5C,EAA2B,EAAiB,IAE5C,EAAsB,YAAU,CACpC,KAAM,CAAE,UAAW,sBACnB,GAAI,CAAE,UAAW,oBAGb,EAAuB,YAAU,CACrC,KAAM,CAAE,UAAW,kBACnB,GAAI,CAAE,UAAW,wBAGb,EAAwB,YAAU,CACtC,KAAM,CAAE,UAAW,wBACnB,GAAI,CAAE,UAAW,oBAGb,EAAsB,YAAU,CACpC,KAAM,CAAE,UAAW,kBACnB,GAAI,CAAE,UAAW,0BAGb,EAAmB,YAAU,CACjC,KAAM,CAAE,UAAW,iBACnB,GAAI,CAAE,UAAW,oBAGb,EAAqB,YAAU,CACnC,KAAM,CAAE,UAAW,iBACnB,GAAI,CAAE,UAAW,qBAMN,EAA0C,CACrD,cAAe,EACf,cAAe,EACf,eAAgB,EAChB,eAAgB,EAChB,eAAgB,EAChB,eAAgB,GAOL,EAAoC,CAC/C,eAAgBC,EAAoBC,EAAO,IAAI,EAAoBC,EAAYC,GAC/E,eAAgBH,EAAoBC,EAAO,IAAI,EAAoBC,EAAYC,GAC/EC,eAAgB,EAAoB,EAAO,IAAI,EAAoB,EAAY,GAC/E,gBAAiB,EAAoB,EAAO,IAAI,EAAqB,EAAY,GACjF,cAAeJ,EAAoBC,EAAO,IAAI,EAAmBC,EAAYC,GAC7E,cAAeH,EAAoBC,EAAO,IAAI,EAAmBC,EAAYC,GAC7EE,cAAe,EAAoB,EAAO,IAAI,EAAmB,EAAY,GAC7E,eAAgB,EAAoB,EAAO,IAAI,EAAoB,EAAY,GAC/E,YAAaL,EAAoBC,EAAO,IAAI,EAAiBC,EAAYC,GACzE,YAAa,EAAoB,EAAO,IAAI,EAAiB,EAAY,GACzE,cAAeH,EAAoBC,EAAO,IAAI,EAAmBC,EAAYC,GAC7E,cAAe,EAAoB,EAAO,IAAI,EAAmB,EAAY,GAE7E,gBAAiBH,EAAoBM,EAAQ,IAAI,EAAqBJ,EAAYC,GAClF,gBAAiBH,EAAoBM,EAAQ,IAAI,EAAqBJ,EAAYC,GAClFI,gBAAiB,EAAoB,EAAQ,IAAI,EAAqB,EAAY,GAClF,iBAAkB,EAAoB,EAAQ,IAAI,EAAsB,EAAY,GACpF,eAAgBP,EAAoBM,EAAQ,IAAI,EAAoBJ,EAAYC,GAChF,eAAgBH,EAAoBM,EAAQ,IAAI,EAAoBJ,EAAYC,GAChFK,eAAgB,EAAoB,EAAQ,IAAI,EAAoB,EAAY,GAChF,gBAAiB,EAAoB,EAAQ,IAAI,EAAqB,EAAY,GAClF,aAAcR,EAAoBM,EAAQ,IAAI,EAAkBJ,EAAYC,GAC5E,aAAc,EAAoB,EAAQ,IAAI,EAAkB,EAAY,GAC5E,eAAgBH,EAAoBM,EAAQ,IAAI,EAAoBJ,EAAYC,GAChF,eAAgB,EAAoB,EAAQ,IAAI,EAAoB,EAAY,GAEhF,aAAc,EAAoB,EAAO,IAAI,EAAe,EAAY,GACxE,eAAgB,EAAoB,EAAO,IAAI,EAAiB,EAAY,GAC5E,cAAe,EAAoB,EAAQ,IAAI,EAAe,EAAY,GAC1E,eAAgB,EAAoB,EAAQ,IAAI,EAAgB,EAAY,GAE5E,UAAWH,EAAiBC,EAAS,EAAYQ,GACjD,UAAWT,EAAiBC,EAAS,EAAYQ,GACjD,UAAWT,EAAiBC,EAAS,EAAYQ,GACjD,UAAW,EAAiB,EAAS,EAAY,GAEjD,WAAYT,EAAiBM,EAAU,EAAYG,GACnD,WAAYT,EAAiBM,EAAU,EAAYG,GACnD,WAAYT,EAAiBM,EAAU,EAAYG,GACnD,WAAY,EAAiB,EAAU,EAAY,GAEnD,YAAa,EAAiB,EAAU,OAAQ,GAChD,aAAc,EAAiB,EAAY,OAAQ,IAKrD,SAAS,EACP,EACA,EACA,GAEE,MAAK,CACL,cAAa,EACb,kBAAiB,EACjB,wBAAuB,EACvB,kBAAmB,QAIvB,SAAS,EAAgB,GACrB,OAAK,YAAU,CACf,KAAM,CAAE,UAAW,eAAe,EAAK,UAAW,cAAe,QACjE,GAAI,CAAE,UAAW,qBAAsB,cAAe,UAI1D,SAAS,EAAgB,GACrB,OAAK,YAAU,CACf,KAAM,CAAE,UAAW,iBAAiB,EAAK,QAAS,cAAe,QACjE,GAAI,CAAE,UAAW,qBAAsB,cAAe,UAI1D,SAAS,EAAiB,GACtB,OAAK,YAAU,CACf,KAAM,CAAE,UAAW,sBACnB,GAAI,CAAE,UAAW,eAAe,EAAG,aAIvC,SAAS,EAAiB,GACtB,OAAK,YAAU,CACf,KAAM,CAAE,UAAW,sBACnB,GAAI,CAAE,UAAW,iBAAiB,EAAG,WC7KlC,ICPUC,EDOJC,EECP,SAA0CC,GAC9C,IAAIhJ,EAAyC,G,WAEpCiJ,GAEL,IAAI,EADFD,EAAO7M,eAAe8M,IAGxBvN,OAAO4B,eAAe0C,EAASiJ,EAAW,CACxCxG,IAAK,WAKH,YAJkBkB,IAAd,IAEF,EAAY,OAAAuF,EAAA,GAAYF,EAAOC,IAAmB5I,YAE7C,GAETrD,YAAY,EACZU,cAAc,KAbpB,IAAK,IAAIuL,KAAaD,E,EAAbC,GAkBT,OAAOjJ,EFtBwEmJ,CAAcC,GGHlFC,EAA2B,CACtCC,YAAa,UACbC,UAAW,UACXC,aAAc,UACdC,aAAc,UACdC,eAAgB,UAChBC,cAAe,UACfC,WAAY,UACZC,aAAc,UACdC,gBAAiB,UACjBC,MAAO,UACPC,mBAAoB,iBACpBC,YAAa,UACbC,eAAgB,UAChBC,kBAAmB,UACnBC,iBAAkB,UAClBC,oBAAqB,UACrBC,gBAAiB,UACjBC,mBAAoB,UACpBC,kBAAmB,UACnBC,qBAAsB,UACtBC,aAAc,UACdC,eAAgB,UAChBC,kBAAmB,UACnBC,OAAQ,UACRC,MAAO,UACPC,mBAAoB,uBACpBC,WAAY,UACZC,OAAQ,UACRC,YAAa,UACbC,OAAQ,UACRC,YAAa,UACbC,cAAe,UACfC,QAAS,UACTC,IAAK,UACLC,YAAa,UACbC,QAAS,UACTC,aAAc,UACdC,WAAY,UACZC,OAAQ,UACRC,YAAa,UACbC,SAAU,UACVC,QAAS,UACTC,KAAM,UACNC,UAAW,UACXC,SAAU,UACVC,KAAM,UACNC,UAAW,UACXC,UAAW,UACXC,MAAO,UACPC,WAAY,YFtDd,SAAiBzD,GACF,EAAA0D,OAAS,sBACT,EAAAC,OAAS,6EACT,EAAAC,OAAS,6EACT,EAAAC,QAAU,8EACV,EAAAC,QAAU,8EALzB,CAAiB9D,MAAM,KGGhB,ICAU+D,EAeAC,GAoBAC,GA8BAC,GASAC,GD1EJC,GAA2B,CACtCC,WAAYrE,EAAO2D,OACnBW,WAAYtE,EAAO4D,OACnBW,YAAavE,EAAO6D,QACpBW,YAAaxE,EAAO8D,QAEpBW,eAAgB,MAChBC,eAAgB,MAChBC,eAAgB,QCRlB,SAAiBZ,GACF,EAAAa,OAAS,wBACT,EAAAC,SAAW,0BACX,EAAAC,aAAe,+BACf,EAAAC,MAAQ,uBACR,EAAAC,OAAS,wBACT,EAAAC,KAAO,oBACP,EAAAC,WAAa,4BACb,EAAAC,aAAe,+BACf,EAAAC,QAAU,cACV,EAAAC,SAAW,0BACX,EAAAC,SAAW,0BAX1B,CAAiBvB,MAAkB,KAenC,SAAiBC,GACF,EAAAY,OAAS,IAAIb,EAAmBa,OAAM,IACtC,EAAAW,kBAAoB,wCACpB,EAAAC,mBAAqB,oCACrB,EAAAX,SAAW,IAAId,EAAmBc,SAAQ,IAC1C,EAAAC,aAAe,IAAIf,EAAmBe,aAAY,IAClD,EAAAC,MAAQ,IAAIhB,EAAmBgB,MAAK,IACpC,EAAAC,OAAS,IAAIjB,EAAmBiB,OAAM,IACtC,EAAAS,MAAQ,eACR,EAAAC,SAAW,2DACX,EAAAC,OAAS,yBACT,EAAAP,QAAU,IAAIrB,EAAmBqB,QAAO,IACxC,EAAAH,KAAO,iCACP,EAAAC,WAAa,IAAInB,EAAmBmB,WAAU,IAC9C,EAAAC,aAAe,IAAIpB,EAAmBoB,aAAY,IAClD,EAAAE,SAAW,IAAItB,EAAmBsB,SAAQ,IAC1C,EAAAC,SAAW,IAAIvB,EAAmBuB,SAAQ,IAhBzD,CAAiBtB,QAAqB,KAoBtC,SAAiBC,GACF,EAAA2B,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OAET,EAAAC,KAAe,OACf,EAAAC,OAAiB,OACjB,EAAAC,MAAgB,OAChB,EAAAC,UAAoB,OACpB,EAAAC,OAAiB,OACjB,EAAAC,WAAqB,OACrB,EAAAC,KAAe,OACf,EAAAC,MAAgB,OAChB,EAAAC,OAAiB,OACjB,EAAAC,WAAqB,OACrB,EAAAC,QAAkB,OAClB,EAAAC,YAAsB,OACtB,EAAAC,WAAqB,OACrB,EAAAC,KAAe,OA1B9B,CAAiBnD,QAAS,KA8B1B,SAAiBC,GACF,EAAAmD,MAAqB,IACrB,EAAAC,UAAyB,IACzB,EAAAC,QAAuB,IACvB,EAAAC,SAAwB,IACxB,EAAAC,KAAoB,IALnC,CAAiBvD,QAAW,KAS5B,SAAiBC,GACF,EAAAqC,OAAiB,OACjB,EAAAC,MAAgB,OAChB,EAAAE,OAAiB,OACjB,EAAAG,MAAgB,OAJ/B,CAAiB3C,QAAa,KC3EvB,IAAMuD,GAAuB,yEACvBC,GACX,yFACWC,GACX,yFAGWC,GAAsB,IACtBC,GAAuB,IACvBC,GAAsB,IACtBC,GAAuB,KACvBC,GAAwB,KAExBC,GAAsBJ,GAAuB,EAC7CK,GAAuBJ,GAAsB,EAK7CK,GAA0B,IAEjC,SAAUC,GAAkBC,EAAyBC,GAGzD,MAAO,sBAF4B,kBAARD,EAAmB,oBAAoBA,EAAG,MAAQ,KAC1C,kBAARC,EAAmB,oBAAoBA,EAAG,MAAQ,IAOzE,SAAUC,KACd,MAAO,CACLC,kBAAmB,OACnBC,qBAAsB,Q,ICnCTC,G,UCqCX,SAAUC,GACdC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,OAUSC,GAAuBP,EAVF,kBAAnBC,GAAgCA,EAUJA,EATA,CACnCO,MAAOP,EACPC,SAAQ,EACRC,kBAAiB,EACjBC,YAAW,EACXC,aAAY,EACZC,cAAa,IAOnB,SAASC,GAAuBP,EAAeS,G,aAAA,IAAAA,MAAA,IAE3C,MAOEA,EAPO,MAATD,OAAK,IAAG,IAAC,EACT,EAMEC,EANO,MAATC,OAAK,IAAG,IAAC,EACT,EAKED,EALmB,SAArBP,OAAQ,IAAG,aAAU,EACrBC,EAIEM,EAJe,kBACjB,EAGEA,EAH+B,YAAjCL,OAAW,IAAG,EAAAJ,EAAMW,QAAQxH,MAAK,EACjC,EAEEsH,EAF2C,aAA7CJ,OAAY,IAAG,EAAAL,EAAMW,QAAQlI,iBAAgB,EAC7C,EACEgI,EADkB,cAApBH,OAAa,IAAG,GAAI,EAGtB,MAAO,CAELM,QAAS,cAETV,SAAQ,EAERW,WAAS,GAGP,qBAAsB,CACpBC,OAAQ,MAKV,EAAC,IAAI,KAAuB,MAAKR,EAAgB,SAAW,IAAE,UAAW,CACvES,QAAS,KACTb,SAAU,WACVc,KAAMR,EAAQ,EACdS,IAAKT,EAAQ,EACbU,OAAQV,EAAQ,EAChBW,MAAOX,EAAQ,EACfM,OAAWJ,EAAK,YAAYN,EAC5BQ,QAAYF,EAAK,YAAYL,EAC7Be,OAAQtB,GAASuB,WACjBR,WAAS,KACP,EAAChC,IAAuBsB,EACzB,IAEJ,IAOC,SAAUmB,KACd,MAAO,CACLT,UAAW,CACT,sBAAuB,CAErBC,OAAQ,GAEV,IAAK,CAEHF,QAAS,kBDpHjB,SAAiBd,GACF,EAAAyB,IAAc,EAId,EAAAC,eAAyB,EACzB,EAAAH,WAAqB,EACrB,EAAAI,UAAoB,IACpB,EAAAC,MAAgB,IAChB,EAAAC,YAAsB,QATrC,CAAiB7B,QAAQ,KCwJlB,IAAM,GAAqB,SAChCM,EACAwB,EACAC,EACAC,G,eADA,IAAAD,MAAA,eACA,IAAAC,OAA0B,GAE1B,IAAMC,EAAgC,iBAAfF,EAEvB,MAAO,CACLzB,YAAW,EACXS,UAAW,CACT,UAAQ,GACNmB,cAAe,OACfjB,QAAS,KACTb,SAAU,WACVc,KAAMe,EAAiB,EAAID,EAC3Bb,IAAKa,EACLZ,OAAQY,EACRX,MAAOY,EAAiB,EAAID,GAC5B,EAACD,GAAa,aAAazB,EAC3B,EAAAwB,aAAY,EACZ,EAAAlB,MAAsB,iBAAfmB,EAAgC,YAAS7P,EAChD,EAAA6O,WAAS,KACP,EAAChC,KAAoB,KACnB,EAAgB,WAAfgD,EAA0B,cAAgB,qBAAsB,YAClE,GACF,GACF,MCjLMI,GAAgC,CAC3C/B,SAAU,WACVQ,MAAO,EACPwB,OAAQ,EACRC,QAAS,EACTC,QAAS,EACTtB,OAAQ,EACRuB,SAAU,SACV,WAAY,U,kBCARC,GAAuB,OAAAC,GAAA,IAC3B,SAAInU,EAAiCoU,GACnC,IAAMC,EAAaC,GAAA,EAAWC,cAE9B,OAAIH,EAEMzY,OAAOgB,KAAKqD,GAA4BwU,QAAO,SAACC,EAAKC,GAE3D,OADAD,EAAIC,GAAaL,EAAWM,aAAa3U,EAAW0U,IAC7CD,IACN,IAIEzU,KAaL,SAAU4U,GACd5U,EACA4R,EACAwC,GAEA,OAAOF,GACLlU,OAC4B4D,IAA5BwQ,EAAwCA,EAA0BxC,EAAMwC,yBCZrE,IAAI1V,GAAW,WAQlB,OAPAA,GAAW/C,OAAOC,QAAU,SAAkB+C,GAC1C,IAAK,IAAIC,EAAG9C,EAAI,EAAG+C,EAAI9C,UAAUC,OAAQF,EAAI+C,EAAG/C,IAE5C,IAAK,IAAIqC,KADTS,EAAI7C,UAAUD,GACOH,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,KAAIQ,EAAER,GAAKS,EAAET,IAE9E,OAAOQ,GAEJD,GAASpC,MAAMC,KAAMR,YAoEHJ,OAAO8C,OAsGX9C,OAAO8C,O,0CCxM1BoW,GAAoB,gBAAgB/H,EAAmBoB,aAAY,IAGnE4G,GAAoB,CACxBC,GAAIhI,GAAsBY,OAC1BqH,GAAIjI,GAAsBa,SAC1BqH,GAAIlI,GAAsBc,aAC1BqH,GAAInI,GAAsBe,MAC1BqH,GAAIpI,GAAsBc,aAC1BuH,GAAIrI,GAAsBgB,OAC1BsH,GAAItI,GAAsByB,MAC1B8G,GAAIvI,GAAsBc,aAC1B0H,GAAIxI,GAAsBc,aAC1B2H,GAAIzI,GAAsB0B,SAC1BgH,GAAI1I,GAAsBc,aAC1B6H,GAAI3I,GAAsB2B,OAC1BiH,GAAI5I,GAAsBc,aAC1B+H,GAAI7I,GAAsBc,aAC1BgI,GAAI9I,GAAsBc,aAC1BiI,GAAI/I,GAAsBa,SAC1BmI,GAAIhJ,GAAsBc,aAC1B,UAAWd,GAAsBc,aACjCmI,GAAIjJ,GAAsBiB,KAC1BiI,GAAIlJ,GAAsBc,aAC1BqI,GAAInJ,GAAsBa,SAC1BuI,GAAIpJ,GAAsBkB,WAC1B,UAAWlB,GAAsBuB,kBACjC,UAAWvB,GAAsBwB,mBACjC6H,GAAIrJ,GAAsBqB,SAC1BiI,GAAItJ,GAAsBsB,UAsB5B,SAASiI,GAAYC,EAAcC,EAAqBC,GACtD,MAAO,CACLA,WAAYA,EACZC,oBAAqB,YACrBC,oBAAqB,cACrBC,SAAUL,EACVM,WAAYL,G,cCtDHM,GD0DP,SAA2BC,GAC/B,IAAMC,EAtBR,SAAiCC,GAC/B,IAAK,IAAMC,KAAQpC,GACjB,GAAIA,GAAkB1Y,eAAe8a,IAASD,GAAuC,IAA3BC,EAAKlY,QAAQiY,GAErE,OAAQnC,GAA0BoC,GAItC,OAAOrC,GAcesC,CAAwBJ,GACxCK,EAAkDJ,EA9B9CP,0FAgDV,MAhBmB,CACjBY,KAAMf,GAAYtJ,GAAUsC,KAAMrC,GAAYqD,QAAS8G,GACvD7H,OAAQ+G,GAAYtJ,GAAUuC,OAAQtC,GAAYqD,QAAS8G,GAC3D5H,MAAO8G,GAAYtJ,GAAUwC,MAAOvC,GAAYqD,QAAS8G,GACzD3H,UAAW6G,GAAYtJ,GAAUyC,UAAWxC,GAAYqD,QAAS8G,GACjE1H,OAAQ4G,GAAYtJ,GAAU0C,OAAQzC,GAAYqD,QAAS8G,GAC3DzH,WAAY2G,GAAYtJ,GAAU2C,WAAY1C,GAAYqD,QAAS8G,GACnEvH,MAAOyG,GAAYtJ,GAAU6C,MAAO5C,GAAYqD,QAAS8G,GACzDtH,OAAQwG,GAAYtJ,GAAU8C,OAAQ7C,GAAYsD,SAAU6G,GAC5DrH,WAAYuG,GAAYtJ,GAAU+C,WAAY9C,GAAYsD,SAAU6G,GACpEpH,QAASsG,GAAYtJ,GAAUgD,QAAS/C,GAAYsD,SAAU6G,GAC9DnH,YAAaqG,GAAYtJ,GAAUiD,YAAahD,GAAYsD,SAAU6G,GACtElH,WAAYoG,GAAYtJ,GAAUkD,WAAYjD,GAAYsD,SAAU6G,GACpEjH,KAAMmG,GAAYtJ,GAAUmD,KAAMlD,GAAYsD,SAAU6G,IC3EdE,CAAiB,gBAE/D,SAASC,GAAkBd,EAAoBe,EAAaX,EAA0BY,GACpFhB,EAAa,IAAIA,EAAU,IAE3B,IAAMiB,OAAiC9T,IAAlB6T,EAA8B,UAAUA,EAAa,MAAQ,GAElF,OAAAE,GAAA,GAAS,CACPlB,WAAU,EACVmB,IAAKF,EAAe,QAAQF,EAAvBE,iCAAgEF,EAAG,yBACxEX,WAAU,EACVgB,UAAW,SACXC,YAAa,SAIjB,SAASC,GACPC,EACAvB,EACAwB,EACAC,EACAT,QADA,IAAAS,MAAA,WAGA,IAAMC,EAAaH,EAAO,IAAIC,EAAS,IAAIC,EAE3CX,GAAkBd,EAAY0B,EAAU,SAAUlL,GAAYmD,MAAOqH,GAAiBA,EAAgB,UACtGF,GACEd,EACA0B,EAAU,aACVlL,GAAYoD,UACZoH,GAAiBA,EAAgB,cAEnCF,GAAkBd,EAAY0B,EAAU,WAAYlL,GAAYqD,QAASmH,GACzEF,GACEd,EACA0B,EAAU,YACVlL,GAAYsD,SACZkH,GAAiBA,EAAgB,aAEnCF,GAAkBd,EAAY0B,EAAU,QAASlL,GAAYuD,KAAMiH,GAAiBA,EAAgB,UAGhG,SAAmCO,GACvC,GAAIA,EAAS,CACX,IAAMI,EAAaJ,EAAO,SAG1BD,GAAqBK,EAAStL,EAAmBkB,KAAM,oBAAqB,gBAC5E+J,GAAqBK,EAAStL,EAAmBa,OAAQ,kBACzDoK,GAAqBK,EAAStL,EAAmBc,SAAU,oBAC3DmK,GAAqBK,EAAStL,EAAmBe,aAAc,wBAC/DkK,GAAqBK,EAAStL,EAAmBgB,MAAO,iBACxDiK,GAAqBK,EAAStL,EAAmBiB,OAAQ,kBACzDgK,GAAqBK,EAAStL,EAAmBmB,WAAY,sBAC7D8J,GAAqBK,EAAStL,EAAmBoB,aAAc,uBAAwB,UAAW,YAClG6J,GAAqBK,EAASrL,GAAsBoB,QAAS,UAAW,WACxE4J,GAAqBK,EAAStL,EAAmBsB,SAAU,oBAC3D2J,GAAqBK,EAAStL,EAAmBuB,SAAU,oBAI3DkJ,GAAkB,oBAAwBa,EAAO,4CAA6CnL,GAAYmD,OAI1GmH,GAAkB,oBAAwBa,EAAO,uCAAwCnL,GAAYsD,WAiBzG8H,CAVA,W,QAEQC,EAA8D,QAAlD,EAA+B,OAAAC,GAAA,YAAmB,eAAEC,aAEtE,OAAgC,QAAhC,EAAmB,OAAZF,QAAY,IAAZA,OAAY,EAAZA,EAAcG,mBAAW,QA/EX,2DAqFEC,I,cCxFnB,SAAUC,GACdxa,EACAY,EACAH,EACAga,EACAC,GAiCA,YAjCA,IAAAA,OAAA,GAmNF,SAA6Bja,EAAoBia,GAE/C,IAAIC,EAAM,IACU,IAAhBD,IACFC,EAAM,sBAUR,OANAla,EAAEma,cAAgBna,EAAEoa,SAAWF,EAC/Bla,EAAEqa,2BAA6BH,EAC/Bla,EAAEsa,kBAAoBJ,EACtBla,EAAEua,YAAcva,EAAEwa,YAAcN,EAChCla,EAAEya,aAAeP,EAEVla,EAhMA0a,CADoBC,GAAmCpb,EAAGY,EA9B7C,IAClBya,oBAAqB,cAErBC,UAAYb,EAAyB,UAAZ,UAEzBQ,YAAcR,EAAyB,UAAZ,UAC3Bc,YAAcd,EAAyB,UAAZ,UAC3Be,mBAAqBf,EAAyB,UAAZ,UAElCgB,SAAWhB,EAAyB,UAAZ,UACxBiB,UAAYjB,EAAyB,UAAZ,UACzBkB,aAAelB,EAAyB,UAAZ,UAC5BmB,YAAcnB,EAAyB,UAAZ,UAC3BoB,kBAAoBpB,EAAyB,UAAZ,UACjCqB,YAAcrB,EAAyB,UAAZ,UAE3BsB,eAAiBtB,EAAyB,UAAZ,UAC9BuB,gBAAkBvB,EAAyB,UAAZ,UAC/BwB,mBAAqBxB,EAAyB,UAAZ,UAClCyB,kBAAoBzB,EAAyB,UAAZ,UACjC0B,wBAA0B1B,EAAyB,UAAZ,UACvC2B,kBAAoB3B,EAAyB,UAAZ,UAGjCM,iBAAmBN,EAAyB,UAAZ,UAChCS,YAAcT,EAAyB,UAAZ,WAExBha,GAG+Ega,GACrCC,GAM3C,SAAUU,GACdpb,EACAY,EACAH,EACAga,EACAC,QAAA,IAAAA,OAAA,GAEA,IAAI2B,EAAmC,GAGjC,EAoBFrc,GAAK,GAnBP4M,EAAK,QACLf,EAAK,QACLN,EAAY,eACZF,EAAS,YACTD,EAAW,cACXE,EAAY,eACZK,EAAY,eACZa,EAAY,eACZC,EAAc,iBACdV,EAAW,cACXO,EAAiB,oBACjBC,EAAoB,uBACpBP,EAAc,iBACdE,EAAgB,mBAChBC,EAAmB,sBACnBC,EAAe,kBACfC,EAAkB,qBAClBK,EAAiB,oBACjBC,EAAM,SA4IR,OAzIIC,IACFyP,EAAOC,eAAiB1P,EACxByP,EAAOE,oBAAsB3P,EAC7ByP,EAAOG,iBAAmB5P,EAC1ByP,EAAOI,iBAAmB7P,EAC1ByP,EAAOK,kBAAoB9P,EAC3ByP,EAAOM,yBAA2B/P,EAClCyP,EAAOO,yBAA2BhQ,EAClCyP,EAAOQ,gBAAkBjQ,EACzByP,EAAOS,uBAAyBlQ,EAChCyP,EAAOU,eAAiBnQ,EACxByP,EAAOW,eAAiBpQ,EACxByP,EAAOY,uBAAyBrQ,GAE9Bf,IACFwQ,EAAOa,gBAAkBrR,EACzBwQ,EAAOc,yBAA2BtR,GAEhCN,IACF8Q,EAAOe,KAAO7R,EACd8Q,EAAOgB,wBAA0B9R,EACjC8Q,EAAOiB,uBAAyB/R,EAChC8Q,EAAOkB,UAAYhS,EACnB8Q,EAAOmB,oBAAsBjS,EAC7B8Q,EAAOoB,SAAWlS,EAClB8Q,EAAOqB,WAAanS,EACpB8Q,EAAOsB,uBAAyBpS,GAE9BF,IACFgR,EAAOuB,+BAAiCvS,EACxCgR,EAAOwB,8BAAgCxS,EACvCgR,EAAOyB,iBAAmBzS,GAExBD,IACFiR,EAAO0B,YAAc3S,GAEnBE,IACF+Q,EAAO2B,+BAAiC1S,GAEtCK,IACF0Q,EAAO4B,kCAAoCtS,GAEzCa,IACF6P,EAAO6B,sBAAwB1R,EAC/B6P,EAAO8B,iBAAmB3R,EAC1B6P,EAAO+B,YAAc5R,EACrB6P,EAAOgC,cAAgB7R,EACvB6P,EAAOiC,+BAAiC9R,EACxC6P,EAAOkC,wBAA0B/R,EACjC6P,EAAOmC,0BAA4BhS,EACnC6P,EAAOoC,4BAA8BjS,EACrC6P,EAAOqC,0BAA4BlS,EAEnC6P,EAAOvB,0BAA4BtO,GAEjCC,IACF4P,EAAOsC,sBAAwBlS,EAC/B4P,EAAOuC,wBAA0BnS,EACjC4P,EAAOwC,yBAA2BpS,EAClC4P,EAAOyC,qBAAuBrS,EAC9B4P,EAAO0C,gCAAkCtS,EACzC4P,EAAO2C,mBAAqBvS,EAC5B4P,EAAO4C,0BAA4BxS,EACnC4P,EAAO6C,4BAA8BzS,EACrC4P,EAAO8C,0BAA4B1S,GAEjCH,IACF+P,EAAO+C,0BAA4B9S,EACnC+P,EAAOgD,gBAAkB/S,GAEvBC,IACF8P,EAAOiD,iCAAmC/S,GAExCH,IACFiQ,EAAOkD,iBAAmBnT,EAC1BiQ,EAAOmD,sBAAwB,OAAD/e,QAAC,IAADA,OAAC,EAADA,EAAG+e,uBAAwBpT,EACzDiQ,EAAOoD,mBAAqBrT,EAC5BiQ,EAAOqD,kBAAoBtT,EAC3BiQ,EAAOsD,aAAevT,GAEpBJ,IACFqQ,EAAOuD,SAAW5T,EAClBqQ,EAAOwD,WAAa7T,EACpBqQ,EAAOyD,WAAa9T,EACpBqQ,EAAO0D,mBAAqB/T,EAC5BqQ,EAAO2D,UAAYhU,EACnBqQ,EAAOxB,SAAW7O,EAClBqQ,EAAO4D,aAAejU,GAEpBU,IACF2P,EAAO6D,uBAAyBxT,EAChC2P,EAAO8D,uBAAyBzT,GAE9BX,IACFsQ,EAAO+D,kBAAoBrU,EAC3BsQ,EAAOgE,kBAAoBtU,EAC3BsQ,EAAOiE,kBAAoBvU,EAC3BsQ,EAAOkE,kBAAoBxU,EAC3BsQ,EAAOmE,iBAAmBzU,EAC1BsQ,EAAOoE,oBAAsB1U,GAE3BG,IACFmQ,EAAOqE,YAAcxU,EACrBmQ,EAAOsE,YAAczU,EACrBmQ,EAAOuE,YAAc1U,EACrBmQ,EAAOwE,iBAAmB3U,EAC1BmQ,EAAOyE,qBAAuB5U,GAE5BC,IACFkQ,EAAO0E,aAAe5U,GAEpBE,IACFgQ,EAAO2E,oBAAsB3U,EAC7BgQ,EAAO4E,eAAiB5U,EACxBgQ,EAAO6E,wBAA0B7U,EACjCgQ,EAAO8E,YAAc9U,GAEnBM,IACF0P,EAAOsB,uBAAyBhR,IAI7B,OAAD/L,QAAC,IAADA,OAAC,EAADA,EAAGqO,cACLoN,EAAO+E,WAAaxgB,EAAEqO,aAEnBwL,IAAe,OAAD7Z,QAAC,IAADA,OAAC,EAADA,EAAGsO,YACpBmN,EAAOgF,kBAAoBzgB,EAAEsO,WACpBmN,EAAOmD,uBAChBnD,EAAOgF,kBAAoB,WAAahF,EAAOmD,sBAGjDnD,EAAS,GAAH,MACDA,GAEA5b,GCtNA,IAAM6gB,GAA2B,CACtCC,GAAI,MACJC,GAAI,MACJC,EAAG,OACHC,GAAI,OACJC,GAAI,QCMA,SAAUC,GAAYnO,EAA0BiH,QAA1B,IAAAjH,MAAA,SAA0B,IAAAiH,OAAA,GACpD,IAAMD,IAAehH,EAAMgH,WAY3B,OCnBI,SAAsBhH,EAAcoO,G,eAAA,IAAAA,MAAA,IACxC,IAAMC,EAAc,OAAAC,GAAA,GAA4B,GAAItO,EAAOoO,EAAc,CACvEG,eAAgB5G,GACdyG,EAAazN,QACbyN,EAAaI,QACbJ,EAAaG,oBACevc,IAA5Boc,EAAapH,WAA2BhH,EAAMgH,WAAaoH,EAAapH,cAQ5E,IAJwB,QAApB,EAAAoH,EAAazN,eAAO,eAAE7I,iBAAqC,QAArB,EAACsW,EAAazN,eAAO,eAAEzH,UAC/DmV,EAAY1N,QAAQzH,OAASkV,EAAazN,QAAQ7I,cAGhDsW,EAAaK,iBACf,IAAwB,UAAA1kB,OAAOgB,KAAKsjB,EAAYK,OAAxB,eAAyD,CAA5E,IAAMzI,EAAS,KAClBoI,EAAYK,MAAMzI,GAAa,OAAAqI,GAAA,GAC7BD,EAAYK,MAAMzI,GAClBmI,EAAaK,iBACM,QADU,EACjB,OAAZL,QAAY,IAAZA,OAAY,EAAZA,EAAcM,aAAK,eAAGzI,IAK5B,OAAOoI,EDLAM,CAXkB,CACvBhO,QAASjJ,EACT8W,QAASjT,GACTmT,MAAOxJ,GACP0J,QAASf,GACT7G,WAAU,EACVxE,yBAAyB,EACzB+L,eAAgBxH,GAAmBrP,EAAgB6D,QAAgBvJ,EAAWgV,EAAYC,GAC1F4H,SAAK7c,GAGuBgO,GElBhC,IAAI8O,GAAiBX,GAAY,IAGpBY,GAAmB,QAE1B,SAAUC,K,QACd,IAAKC,GAAA,EAAeC,YAAY,CAACH,KAAmB/O,MAAO,CAEzD,IAAMmP,EAAW,OAAAxI,GAAA,MAEI,QAArB,EAAO,OAAHwI,QAAG,IAAHA,OAAG,EAAHA,EAAKvI,oBAAY,eAAE5G,SACrB8O,GAASX,GAAYgB,EAAIvI,aAAa5G,QAIxCiP,GAAA,EAAeG,gBAAa,MAAG,MAAoBN,GAAM,KAUvD,SAAUO,GAASpI,GAIvB,YAJuB,IAAAA,OAAA,IACH,IAAhBA,IACF6H,GAASX,GAAY,GAAIlH,IAEpB6H,GAVTE,KCxBO,IAAMM,GAAuB,CAClCC,UAAW,OACXpN,OAAQ,EACRC,QAAS,EACToN,UAAW,cAGAC,GAAoB,CAC/BpN,SAAU,SACVqN,aAAc,WACdC,WAAY,UCNR,SAAUC,GAAqBvY,GACnC,MAAO,CACLwJ,UAAW,CACT,gBAAiBxJ,EACjB,yBAA0BA,EAC1B,0BAA2BA,I,wBC+C3BwY,GAAgBC,GAAA,EAAeC,SAFX,QAEqD,CAC7EC,UAAW,CACTC,iBAAiB,EACjBC,oBAAoB,GAEtBC,WAAY,KAIRC,GAAa1N,GAAA,EAAWC,cAE1ByN,IAAcA,GAAWC,SAC3BD,GAAWC,SAAQ,WACjB,IAAK,IAAM,KAAQR,GACbA,GAAcrlB,eAAe,IAAYqlB,GAAc,GAAsBS,SAC9ET,GAAc,GAAsBS,OAAOxN,eAAY9Q,MAahE,IAAMue,GAAoB,SAACC,GAAyB,OAAAA,EAAA,eAO9C,SAAUC,GAAcC,EAAyBjQ,GACrD,IAAI6P,EAAS,GAAH,MACLI,GAAU,CACbC,cAAc,EACd7N,eAAW9Q,IAEP4e,EAAUF,EAAL,MAKX,IAAK,IAAMG,KAFXpQ,EAAUA,EAAS,SAAMoP,GAAcG,WAAcvP,GAAYoP,GAAcG,UAExDY,EACrB,GAAIA,EAAMpmB,eAAeqmB,GAAW,CAClC,IAAMC,EAAOF,EAAMC,GACbE,EAAqBR,GAAkBM,GAEzChB,GAAckB,GAChBC,GAAmBH,GAEnBhB,GAAckB,GAAsB,CAClCD,KAAI,EACJR,OAAM,IAsDV,SAAUW,GAAQT,GACtB,IAAIxS,OAAgChM,EAC9ByO,EAAUoP,GAAcG,UAK9B,GAHAQ,EAAOA,EAAOD,GAAkBC,GAAQ,GACxCA,EAAOX,GAAcM,WAAWK,IAASA,EAKvC,GAFAxS,EAAO6R,GAAcW,GAEX,CACF,IAAAF,EAAWtS,EAAL,OACRsS,GAAUA,EAAOvK,WACduK,EAAOK,eACV,OAAA5K,GAAA,GAASuK,EAAOvK,UAChBuK,EAAOK,cAAe,GAGnBL,EAAOxN,YACVwN,EAAOxN,UAAY,OAAAvL,EAAA,GAAY+Y,EAAOY,MAAO,CAC3CrM,WAAYyL,EAAOvK,SAASlB,WAC5BI,WAAYqL,EAAOvK,SAASd,YAAc,SAC1CgB,UAAWqK,EAAOvK,SAASE,WAAa,kBAMzCxF,EAAQwP,iBAAmBxP,EAAQyP,oBACtC,OAAAiB,GAAA,GACE,aAAaX,EAAI,mHAMzB,OAAOxS,EAeT,IAAIoT,GAA0B,GAC1BC,QAAyCrf,EAE7C,SAASgf,GAAmBH,GAC1B,IAAMpQ,EAAUoP,GAAcG,UAIzBvP,EAAQwP,kBACXmB,GAAc9lB,KAAKulB,QACQ7e,IAAvBqf,KACFA,GAAqBC,YAAW,WAC9B,OAAAH,GAAA,GACE,0LAGEC,GAAcG,MAAM,EAVJ,IAU0B5iB,KAAK,OAC9CyiB,GAAchnB,OAXC,GAW4B,QAAOgnB,GAAchnB,OAXjD,IAW2E,SAAW,KAE1GinB,QAAqBrf,EACrBof,GAAgB,KAfD,O,4CC9NvB,aAAW,4BAA6B,SCOxC,M,6BCVA,sDAWe,SAASI,EAAQC,GAC9B,OAAO,SAASC,EAAG1jB,EAAG7B,GACpB,OAAQhC,UAAUC,QAChB,KAAK,EACH,OAAOsnB,EAET,KAAK,EACH,OAAOC,YAAe3jB,GAAK0jB,EAAKE,aAAQ,SAAUC,GAChD,OAAOJ,EAAGzjB,EAAG6jB,MAGjB,QACE,OAAOF,YAAe3jB,IAAM2jB,YAAexlB,GAAKulB,EAAKC,YAAe3jB,GAAK4jB,aAAQ,SAAUE,GACzF,OAAOL,EAAGK,EAAI3lB,MACXwlB,YAAexlB,GAAKylB,aAAQ,SAAUC,GACzC,OAAOJ,EAAGzjB,EAAG6jB,MACVJ,EAAGzjB,EAAG7B,O,gBC3BnBxC,EAAOC,QAAU,EAAQ,M,6BCGzB,IAAYmoB,EAOAC,EAPZ,6EAAYD,GACV,iBACA,wBACA,mBACA,sBAJF,CAAYA,MAAa,KAOzB,SAAYC,GACV,iBACA,uBACA,qBACA,iBAJF,CAAYA,MAAQ,M,6BCVpB,+CACe,SAASC,EAAUC,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAI1lB,UAAU,sDAGtBylB,EAAS3nB,UAAYR,OAAO8C,OAAOslB,GAAcA,EAAW5nB,UAAW,CACrEqC,YAAa,CACXd,MAAOomB,EACPlmB,UAAU,EACVD,cAAc,KAGdomB,GAAY,YAAeD,EAAUC,K,6BCb3C,oEACA,IAAIC,EAAS,GACN,SAASC,EAAQC,EAAO3d,GAEzB4d,EAIC,SAASC,EAAKF,EAAO3d,GAEtB4d,EAOC,SAAS9nB,EAAKgoB,EAAQH,EAAO3d,GAC7B2d,GAAUF,EAAOzd,KACpB8d,GAAO,EAAO9d,GACdyd,EAAOzd,IAAW,GAMf,SAAS+d,EAASJ,EAAO3d,GAC9BlK,EAAK+nB,EAAMF,EAAO3d,GAELge,IANR,SAAqBL,EAAO3d,GACjClK,EAAK4nB,EAASC,EAAO3d,K,o3BCdjB,SAAUie,EAAUC,GACxB,IAAMzC,EAAa1N,EAAA,EAAWC,cACxB6N,EAAOJ,EAAWrN,eAElB+P,EAAuB,GAE7B,IAAK,IAAMC,KAAQF,EACbA,EAASroB,eAAeuoB,IAC1BD,EAAWxnB,KAAKynB,EAAM,IAAK,YAAqB,cAAmBF,EAASE,IAAQ,KAGxF,IAAMC,EAAQF,EAAWnkB,KAAK,IAM9B,OAJAyhB,EAAW6C,WAAW,cAAczC,EAAI,IAAIwC,EAAK,KAAK,GAEtD5C,EAAW8C,eAAe1C,EAAMwC,EAAO,GAAI,CAAC,YAAaA,IAElDxC,E9BtBT,IAAM5Z,EAAoB,2BACpBM,EAAoB,8BACpBic,EAAa,SACbC,EAAa,SACbzc,EAAa,SACb0c,EAAa,SAEb3c,EAAkBkc,EAAU,CAChCU,KAAM,CAAEC,QAAS,GACjBC,GAAI,CAAED,QAAS,KAGXxc,EAAmB6b,EAAU,CACjCU,KAAM,CAAEC,QAAS,GACjBC,GAAI,CAAED,QAAS,EAAGE,WAAY,YAG1BC,EAA2Bzd,GAAiB,IAC5C0d,EAA2B1d,GAAiB,IAC5CC,EAA2BD,GAAiB,IAC5C2d,EAA4B3d,GAAiB,KAC7C4d,EAA0B5d,EAAgB,IAC1C6d,EAA0B7d,EAAgB,IAC1CE,EAA0BF,EAAgB,IAC1C8d,EAA2B9d,EAAgB,KAC3C+d,EAAwB5d,EAAgB,IACxC6d,EAAwB7d,EAAgB,IACxC8d,EAA0B9d,GAAiB,IAC3C+d,EAA0B/d,GAAiB,IAE3Cge,EAA4B/d,EAAiB,IAC7Cge,EAA4Bhe,EAAiB,IAC7CC,EAA4BD,EAAiB,IAC7Cie,EAA6Bje,EAAiB,KAC9Cke,EAA2Ble,GAAkB,IAC7Cme,EAA2Bne,GAAkB,IAC7CE,EAA2BF,GAAkB,IAC7Coe,EAA4Bpe,GAAkB,KAC9Cqe,EAAyBle,GAAkB,IAC3Cme,EAAyBne,GAAkB,IAC3Coe,EAA2Bpe,EAAiB,IAC5Cqe,EAA2Bre,EAAiB,IAE5Cse,EAAsBlC,EAAU,CACpCU,KAAM,CAAEyB,UAAW,sBACnBvB,GAAI,CAAEuB,UAAW,oBAGbC,EAAuBpC,EAAU,CACrCU,KAAM,CAAEyB,UAAW,kBACnBvB,GAAI,CAAEuB,UAAW,wBAGbE,EAAwBrC,EAAU,CACtCU,KAAM,CAAEyB,UAAW,wBACnBvB,GAAI,CAAEuB,UAAW,oBAGbG,EAAsBtC,EAAU,CACpCU,KAAM,CAAEyB,UAAW,kBACnBvB,GAAI,CAAEuB,UAAW,0BAGbI,EAAmBvC,EAAU,CACjCU,KAAM,CAAEyB,UAAW,iBACnBvB,GAAI,CAAEuB,UAAW,oBAGbK,EAAqBxC,EAAU,CACnCU,KAAM,CAAEyB,UAAW,iBACnBvB,GAAI,CAAEuB,UAAW,qBAmEnB,SAASte,EACP4e,EACAC,EACAC,GAEA,MAAO,CACLF,cAAa,EACbC,kBAAiB,EACjBC,wBAAuB,EACvBC,kBAAmB,QAIvB,SAASvf,EAAgBwf,GACvB,OAAO7C,EAAU,CACfU,KAAM,CAAEyB,UAAW,eAAeU,EAAK,UAAWzT,cAAe,QACjEwR,GAAI,CAAEuB,UAAW,qBAAsB/S,cAAe,UAI1D,SAAS5L,EAAgBsf,GACvB,OAAO9C,EAAU,CACfU,KAAM,CAAEyB,UAAW,iBAAiBW,EAAK,QAAS1T,cAAe,QACjEwR,GAAI,CAAEuB,UAAW,qBAAsB/S,cAAe,UAI1D,SAAS3L,EAAiBsf,GACxB,OAAO/C,EAAU,CACfU,KAAM,CAAEyB,UAAW,sBACnBvB,GAAI,CAAEuB,UAAW,eAAeY,EAAG,aAIvC,SAASnf,EAAiBof,GACxB,OAAOhD,EAAU,CACfU,KAAM,CAAEyB,UAAW,sBACnBvB,GAAI,CAAEuB,UAAW,iBAAiBa,EAAG,WC5KlC,IKJU1a,EAeAC,EAoBAC,EA8BAC,GASAC,GLtEJlE,GECP,SAA0CC,GAC9C,IAAIhJ,EAAyC,G,WAEpCiJ,GAEL,IAAI,EADFD,EAAO7M,eAAe8M,IAGxBvN,OAAO4B,eAAe0C,EAASiJ,EAAW,CACxCxG,IAAK,WAKH,YAJkBkB,IAAd,IAEF,EAAY,OAAAuF,EAAA,GAAYF,EAAOC,IAAmB5I,YAE7C,GAETrD,YAAY,EACZU,cAAc,KAbpB,IAAK,IAAIuL,KAAaD,E,EAAbC,GAkBT,OAAOjJ,EFtBwEmJ,CDuFhC,CAC/Cqe,eAAgBpf,EAAoBC,EAAO,IAAIgd,EAAoB/c,EAAYC,GAC/Ekf,eAAgBrf,EAAoBC,EAAO,IAAIid,EAAoBhd,EAAYC,GAC/EC,eAAgBJ,EAAoBC,EAAO,IAAIR,EAAoBS,EAAYC,GAC/Emf,gBAAiBtf,EAAoBC,EAAO,IAAIkd,EAAqBjd,EAAYC,GACjFof,cAAevf,EAAoBC,EAAO,IAAImd,EAAmBld,EAAYC,GAC7Eqf,cAAexf,EAAoBC,EAAO,IAAIod,EAAmBnd,EAAYC,GAC7EE,cAAeL,EAAoBC,EAAO,IAAIP,EAAmBQ,EAAYC,GAC7Esf,eAAgBzf,EAAoBC,EAAO,IAAIqd,EAAoBpd,EAAYC,GAC/Euf,YAAa1f,EAAoBC,EAAO,IAAIsd,EAAiBrd,EAAYC,GACzEwf,YAAa3f,EAAoBC,EAAO,IAAIud,EAAiBtd,EAAYC,GACzEyf,cAAe5f,EAAoBC,EAAO,IAAIwd,EAAmBvd,EAAYC,GAC7E0f,cAAe7f,EAAoBC,EAAO,IAAIyd,EAAmBxd,EAAYC,GAE7E2f,gBAAiB9f,EAAoBM,EAAQ,IAAIqd,EAAqBzd,EAAYC,GAClF4f,gBAAiB/f,EAAoBM,EAAQ,IAAIsd,EAAqB1d,EAAYC,GAClFI,gBAAiBP,EAAoBM,EAAQ,IAAIT,EAAqBK,EAAYC,GAClF6f,iBAAkBhgB,EAAoBM,EAAQ,IAAIud,EAAsB3d,EAAYC,GACpF8f,eAAgBjgB,EAAoBM,EAAQ,IAAIwd,EAAoB5d,EAAYC,GAChF+f,eAAgBlgB,EAAoBM,EAAQ,IAAIyd,EAAoB7d,EAAYC,GAChFK,eAAgBR,EAAoBM,EAAQ,IAAIR,EAAoBI,EAAYC,GAChFggB,gBAAiBngB,EAAoBM,EAAQ,IAAI0d,EAAqB9d,EAAYC,GAClFigB,aAAcpgB,EAAoBM,EAAQ,IAAI2d,EAAkB/d,EAAYC,GAC5EkgB,aAAcrgB,EAAoBM,EAAQ,IAAI4d,EAAkBhe,EAAYC,GAC5EmgB,eAAgBtgB,EAAoBM,EAAQ,IAAI6d,EAAoBje,EAAYC,GAChFogB,eAAgBvgB,EAAoBM,EAAQ,IAAI8d,EAAoBle,EAAYC,GAEhFqgB,aAAcxgB,EAAoBC,EAAO,IAAIoe,EAAene,EAAYC,GACxEsgB,eAAgBzgB,EAAoBC,EAAO,IAAIue,EAAiBte,EAAYC,GAC5EugB,cAAe1gB,EAAoBM,EAAQ,IAAIme,EAAe/B,EAAYjc,GAC1EkgB,eAAgB3gB,EAAoBM,EAAQ,IAAIie,EAAgB7B,EAAYjc,GAE5EmgB,UAAW5gB,EAAiBC,EAASyc,EAAYjc,GACjDogB,UAAW7gB,EAAiBC,EAAS0c,EAAYlc,GACjDqgB,UAAW9gB,EAAiBC,EAASC,EAAYO,GACjDsgB,UAAW/gB,EAAiBC,EAAS2c,EAAYnc,GAEjDugB,WAAYhhB,EAAiBM,EAAUoc,EAAYjc,GACnDwgB,WAAYjhB,EAAiBM,EAAUqc,EAAYlc,GACnDygB,WAAYlhB,EAAiBM,EAAUJ,EAAYO,GACnD0gB,WAAYnhB,EAAiBM,EAAUsc,EAAYnc,GAEnD2gB,YAAaphB,EAAiB0e,EAAU,OAAQje,GAChD4gB,aAAcrhB,EAAiB2e,EAAY,OAAQle,MMtIrD,SAAiBgE,GACF,EAAAa,OAAS,wBACT,EAAAC,SAAW,0BACX,EAAAC,aAAe,+BACf,EAAAC,MAAQ,uBACR,EAAAC,OAAS,wBACT,EAAAC,KAAO,oBACP,EAAAC,WAAa,4BACb,EAAAC,aAAe,+BACf,EAAAC,QAAU,cACV,EAAAC,SAAW,0BACX,EAAAC,SAAW,0BAX1B,CAAiBvB,MAAkB,KAenC,SAAiBC,GACF,EAAAY,OAAS,IAAIb,EAAmBa,OAAM,IACtC,EAAAW,kBAAoB,wCACpB,EAAAC,mBAAqB,oCACrB,EAAAX,SAAW,IAAId,EAAmBc,SAAQ,IAC1C,EAAAC,aAAe,IAAIf,EAAmBe,aAAY,IAClD,EAAAC,MAAQ,IAAIhB,EAAmBgB,MAAK,IACpC,EAAAC,OAAS,IAAIjB,EAAmBiB,OAAM,IACtC,EAAAS,MAAQ,eACR,EAAAC,SAAW,2DACX,EAAAC,OAAS,yBACT,EAAAP,QAAU,IAAIrB,EAAmBqB,QAAO,IACxC,EAAAH,KAAO,iCACP,EAAAC,WAAa,IAAInB,EAAmBmB,WAAU,IAC9C,EAAAC,aAAe,IAAIpB,EAAmBoB,aAAY,IAClD,EAAAE,SAAW,IAAItB,EAAmBsB,SAAQ,IAC1C,EAAAC,SAAW,IAAIvB,EAAmBuB,SAAQ,IAhBzD,CAAiBtB,MAAqB,KAoBtC,SAAiBC,GACF,EAAA2B,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OACT,EAAAC,OAAS,OAET,EAAAC,KAAe,OACf,EAAAC,OAAiB,OACjB,EAAAC,MAAgB,OAChB,EAAAC,UAAoB,OACpB,EAAAC,OAAiB,OACjB,EAAAC,WAAqB,OACrB,EAAAC,KAAe,OACf,EAAAC,MAAgB,OAChB,EAAAC,OAAiB,OACjB,EAAAC,WAAqB,OACrB,EAAAC,QAAkB,OAClB,EAAAC,YAAsB,OACtB,EAAAC,WAAqB,OACrB,EAAAC,KAAe,OA1B9B,CAAiBnD,MAAS,KA8B1B,SAAiBC,GACF,EAAAmD,MAAqB,IACrB,EAAAC,UAAyB,IACzB,EAAAC,QAAuB,IACvB,EAAAC,SAAwB,IACxB,EAAAC,KAAoB,IALnC,CAAiBvD,QAAW,KAS5B,SAAiBC,GACF,EAAAqC,OAAiB,OACjB,EAAAC,MAAgB,OAChB,EAAAE,OAAiB,OACjB,EAAAG,MAAgB,OAJ/B,CAAiB3C,QAAa,KC3EvB,IAAMuD,GAAuB,yEAavBQ,GAAsBJ,IACtBK,GAAuBJ,IAO9B,SAAUM,GAAkBC,EAAyBC,GAGzD,MAAO,sBAF4B,kBAARD,EAAmB,oBAAoBA,EAAG,MAAQ,KAC1C,kBAARC,EAAmB,oBAAoBA,EAAG,MAAQ,IAOzE,SAAUC,KACd,MAAO,CACLC,kBAAmB,OACnBC,qBAAsB,Q,ICnCTC,G,UCqCX,SAAUC,GACdC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEA,OAUSC,GAAuBP,EAVF,kBAAnBC,GAAgCA,EAUJA,EATA,CACnCO,MAAOP,EACPC,SAAQ,EACRC,kBAAiB,EACjBC,YAAW,EACXC,aAAY,EACZC,cAAa,IAOnB,SAASC,GAAuBP,EAAeS,G,aAAA,IAAAA,MAAA,IAE3C,QAAAD,aAAA,UACA,IAAAE,aAAA,IAAQ,EAAR,IACA,IAAAR,gBAAA,IAAW,EAAX,aACAC,EAAA,EAAAA,kBACA,IAAAC,mBAAA,IAAc,EAAd,kBACA,IAAAC,oBAAA,IAAe,EAAf,6BACA,IAAAC,qBAAA,IAAgB,GAAhB,EAGF,MAAO,CAELM,QAAS,cAETV,SAAQ,EAERW,WAAS,GAGP,qBAAsB,CACpBC,OAAQ,MAKV,EAAC,IAAI,KAAuB,MAAKR,EAAgB,SAAW,IAAE,UAAW,CACvES,QAAS,KACTb,SAAU,WACVc,KAAMR,EAAQ,EACdS,IAAKT,EAAQ,EACbU,OAAQV,EAAQ,EAChBW,MAAOX,EAAQ,EACfM,OAAWJ,EAAK,YAAYN,EAC5BQ,QAAYF,EAAK,YAAYL,EAC7Be,OAAQtB,GAASuB,WACjBR,WAAS,KACP,EAAChC,IAAuBsB,EACzB,IAEJ,IAOC,SAAUmB,KACd,MAAO,CACLT,UAAW,CACT,sBAAuB,CAErBC,OAAQ,GAEV,IAAK,CAEHF,QAAS,kBDpHjB,SAAiBd,GACF,EAAAyB,IAAc,EAId,EAAAC,eAAyB,EACzB,EAAAH,WAAqB,EACrB,EAAAI,UAAoB,IACpB,EAAAC,MAAgB,IAChB,EAAAC,YAAsB,QATrC,CAAiB7B,QAAQ,KCwJlB,ICtJMmC,GAAgC,CAC3C/B,SAAU,WACVQ,MAAO,EACPwB,OAAQ,EACRC,QAAS,EACTC,QAAS,EACTtB,OAAQ,EACRuB,SAAU,U,UCCNC,GAAuB,OAAAC,GAAA,IAC3B,SAAInU,EAAiCoU,GACnC,IAAMC,EAAaC,EAAA,EAAWC,cAE9B,OAAIH,EAEMzY,OAAOgB,KAAKqD,GAA4BwU,QAAO,SAACC,EAAKC,GAE3D,OADAD,EAAIC,GAAaL,EAAWM,aAAa3U,EAAW0U,IAC7CD,IACN,IAIEzU,KAaL,SAAU4U,GACd5U,EACA4R,EACAwC,GAEA,OAAOF,GACLlU,OAC4B4D,IAA5BwQ,EAAwCA,EAA0BxC,EAAMwC,yB,IT3C3DrL,G,6BEIJO,I,OAA2B,CACtCC,YAAa,UACbC,UAAW,UACXC,aAAc,UACdC,aAAc,UACdC,eAAgB,UAChBC,cAAe,UACfC,WAAY,UACZC,aAAc,UACdC,gBAAiB,UACjBC,MAAO,UACPC,mBAAoB,iBACpBC,YAAa,UACbC,eAAgB,UAChBC,kBAAmB,UACnBC,iBAAkB,UAClBC,oBAAqB,UACrBC,gBAAiB,UACjBC,mBAAoB,UACpBC,kBAAmB,UACnBC,qBAAsB,UACtBC,aAAc,UACdC,eAAgB,UAChBC,kBAAmB,UACnBC,OAAQ,UACRC,MAAO,UACPC,mBAAoB,uBACpBC,WAAY,UACZC,OAAQ,UACRC,YAAa,UACbC,OAAQ,UACRC,YAAa,UACbC,cAAe,UACfC,QAAS,UACTC,IAAK,UACLC,YAAa,UACbC,QAAS,UACTC,aAAc,UACdC,WAAY,UACZC,OAAQ,UACRC,YAAa,UACbC,SAAU,UACVC,QAAS,UACTC,KAAM,UACNC,UAAW,UACXC,SAAU,UACVC,KAAM,UACNC,UAAW,UACXC,UAAW,UACXC,MAAO,UACPC,WAAY,aFtDd,SAAiBzD,GACF,EAAA0D,OAAS,sBACT,EAAAC,OAAS,6EACT,EAAAC,OAAS,6EACT,EAAAC,QAAU,8EACV,EAAAC,QAAU,8EALzB,CAAiB9D,QAAM,KGGhB,IAAMoE,GAA2B,CACtCC,WAAYrE,GAAO2D,OACnBW,WAAYtE,GAAO4D,OACnBW,YAAavE,GAAO6D,QACpBW,YAAaxE,GAAO8D,QAEpBW,eAAgB,MAChBC,eAAgB,MAChBC,eAAgB,O0BFZ,SAAUiK,GAASgS,GACvBrV,EAAA,EAAWC,cAAcsQ,WAAW,cAAc,YAAqB,cAAmB8E,GAAW,KAAK,GlBL5G,IAIM9U,GAAoB,gBAAgB/H,EAAmBoB,aAAY,IAGnE4G,GAAoB,CACxBC,GAAIhI,EAAsBY,OAC1BqH,GAAIjI,EAAsBa,SAC1BqH,GAAIlI,EAAsBc,aAC1BqH,GAAInI,EAAsBe,MAC1BqH,GAAIpI,EAAsBc,aAC1BuH,GAAIrI,EAAsBgB,OAC1BsH,GAAItI,EAAsByB,MAC1B8G,GAAIvI,EAAsBc,aAC1B0H,GAAIxI,EAAsBc,aAC1B2H,GAAIzI,EAAsB0B,SAC1BgH,GAAI1I,EAAsBc,aAC1B6H,GAAI3I,EAAsB2B,OAC1BiH,GAAI5I,EAAsBc,aAC1B+H,GAAI7I,EAAsBc,aAC1BgI,GAAI9I,EAAsBc,aAC1BiI,GAAI/I,EAAsBa,SAC1BmI,GAAIhJ,EAAsBc,aAC1B,UAAWd,EAAsBc,aACjCmI,GAAIjJ,EAAsBiB,KAC1BiI,GAAIlJ,EAAsBc,aAC1BqI,GAAInJ,EAAsBa,SAC1BuI,GAAIpJ,EAAsBkB,WAC1B,UAAWlB,EAAsBuB,kBACjC,UAAWvB,EAAsBwB,mBACjC6H,GAAIrJ,EAAsBqB,SAC1BiI,GAAItJ,EAAsBsB,UAsB5B,SAASiI,GAAYC,EAAcC,EAAqBC,GACtD,MAAO,CACLA,WAAYA,EACZC,oBAAqB,YACrBC,oBAAqB,cACrBC,SAAUL,EACVM,WAAYL,G,kBmB7DZoT,G,UAEEC,GAAc,WlBCpB,IAGa,GD2DP,SAA2B9S,GAC/B,IACMK,EAvBR,SAAiCH,GAC/B,IAAK,IAAMC,KAAQpC,GACjB,GAAIA,GAAkB1Y,eAAe8a,IAASD,GAAuC,IAA3BC,EAAKlY,QAAQiY,GAErE,OAAQnC,GAA0BoC,GAItC,OAAOrC,GAcesC,CAAwBJ,GA7BpCN,0FAgDV,MAhBmB,CACjBY,KAAMf,GAAYtJ,EAAUsC,KAAMrC,GAAYqD,QAAS8G,GACvD7H,OAAQ+G,GAAYtJ,EAAUuC,OAAQtC,GAAYqD,QAAS8G,GAC3D5H,MAAO8G,GAAYtJ,EAAUwC,MAAOvC,GAAYqD,QAAS8G,GACzD3H,UAAW6G,GAAYtJ,EAAUyC,UAAWxC,GAAYqD,QAAS8G,GACjE1H,OAAQ4G,GAAYtJ,EAAU0C,OAAQzC,GAAYqD,QAAS8G,GAC3DzH,WAAY2G,GAAYtJ,EAAU2C,WAAY1C,GAAYqD,QAAS8G,GACnEvH,MAAOyG,GAAYtJ,EAAU6C,MAAO5C,GAAYqD,QAAS8G,GACzDtH,OAAQwG,GAAYtJ,EAAU8C,OAAQ7C,GAAYsD,SAAU6G,GAC5DrH,WAAYuG,GAAYtJ,EAAU+C,WAAY9C,GAAYsD,SAAU6G,GACpEpH,QAASsG,GAAYtJ,EAAUgD,QAAS/C,GAAYsD,SAAU6G,GAC9DnH,YAAaqG,GAAYtJ,EAAUiD,YAAahD,GAAYsD,SAAU6G,GACtElH,WAAYoG,GAAYtJ,EAAUkD,WAAYjD,GAAYsD,SAAU6G,GACpEjH,KAAMmG,GAAYtJ,EAAUmD,KAAMlD,GAAYsD,SAAU6G,IC5Ed,CkBGxC,SACJ,GAEE,QAFF,+BAEkB,IAAd,GAAyB,CAC3B,IAAI,EAAM,eACJ,EACgB,iBAApB,ECdA,SAAkBlb,GACtB,IAAIse,EAAS,KACb,IACE,IAAMuG,EAAM,OAAAxI,GAAA,KACZiC,EAASuG,EAAMA,EAAI+I,aAAaC,QAAQ7tB,GAAO,KAC/C,MAAO6C,IAGT,OAAOyb,EDOC,CAAqB,IACD,mBAApB,EACA,KAAuB,SACvB,EAEF,IACF,GAAY,QAGI,IAAd,IAA2B,IAC7B,GAAY,EAAI,gBAAgB,aAAa,cAG7B,IAAd,KACF,GAAY,MAIhB,OAAO,GlB5BsD,CAAY,mBAE3E,SAAS,GAAkB,EAAoB,EAAa,EAA0B,GAKpF,GAAS,CACP,WALF,EAAa,IAAI,EAAU,IAMzB,UAJqC,IAAlB,EAA8B,UAAU,EAAa,MAAQ,IAI5D,QAAQ,EAAvB,iCAAgE,EAAG,yBACxE,WAAU,EACV,UAAW,SACX,YAAa,SAIjB,SAAS,GACP,EACA,EACA,EACA,EACA,QADA,qBAGA,IAAM,EAAa,EAAO,IAAI,EAAS,IAAI,EAE3C,GAAkB,EAAY,EAAU,SAAU,GAAY,MAAO,GAAiB,EAAgB,UACtGjD,GACE,EACA,EAAU,aACV,GAAYlH,UACZ,GAAiB,EAAgB,cAEnC,GAAkB,EAAY,EAAU,WAAY,GAAY,QAAS,GACzEkH,GACE,EACA,EAAU,YACV,GAAYhH,SACZ,GAAiB,EAAgB,aAEnC,GAAkB,EAAY,EAAU,QAAS,GAAY,KAAM,GAAiB,EAAgB,SoB7ChG,SAAU2P,GAAcrkB,G,IAAoB,wDAChD,IAAkB,UAAAmuB,EAAA,eAAM,CAAnB,IAAM9pB,EAAG,KACZ+pB,GAAOpuB,GAAU,GAAIqE,GAGvB,OAAOrE,EAUT,SAASouB,GAAyBpuB,EAAWI,EAAWiuB,GAGtD,IAAK,IAAI,UAH6C,IAAAA,MAAA,IACtDA,EAAmBhtB,KAAKjB,GAEPA,EACf,GAAIA,EAAOG,eAAe,IACX,cAAT,GAAiC,gBAAT,GAAmC,cAAT,EAAsB,CAC1E,IAAMsB,EAAqCzB,EAAO,GAClD,GAAqB,kBAAVyB,GAAgC,OAAVA,GAAmBQ,MAAMkC,QAAQ1C,GAMhE7B,EAAO,GAAQ6B,MANyD,CACxE,IAAMysB,EAAsBD,EAAmBlrB,QAAQtB,IAAU,EACjE7B,EAAO,GAASsuB,EACZzsB,EACAusB,GAAOpuB,EAAO,IAAS,GAAI6B,EAAOwsB,IAU9C,OAFAA,EAAmBE,MAEZvuB,EnBnCH,SAAU8c,GACdxa,EACAY,EACAH,EACAga,EACAC,GAiCA,YAjCA,IAAAA,OAAA,GAmNF,SAA6Bja,EAAoBia,GAE/C,IAAIC,EAAM,IACU,IAAhBD,IACFC,EAAM,sBAUR,OANAla,EAAEma,cAAgBna,EAAEoa,SAAWF,EAC/Bla,EAAEqa,2BAA6BH,EAC/Bla,EAAEsa,kBAAoBJ,EACtBla,EAAEua,YAAcva,EAAEwa,YAAcN,EAChCla,EAAEya,aAAeP,EAEVla,EAhMA0a,CADoBC,GAAmCpb,EAAGY,EA9B7C,cAClBya,oBAAqB,cAErBC,UAAYb,EAAyB,UAAZ,UAEzBQ,YAAcR,EAAyB,UAAZ,UAC3Bc,YAAcd,EAAyB,UAAZ,UAC3Be,mBAAqBf,EAAyB,UAAZ,UAElCgB,SAAWhB,EAAyB,UAAZ,UACxBiB,UAAYjB,EAAyB,UAAZ,UACzBkB,aAAelB,EAAyB,UAAZ,UAC5BmB,YAAcnB,EAAyB,UAAZ,UAC3BoB,kBAAoBpB,EAAyB,UAAZ,UACjCqB,YAAcrB,EAAyB,UAAZ,UAE3BsB,eAAiBtB,EAAyB,UAAZ,UAC9BuB,gBAAkBvB,EAAyB,UAAZ,UAC/BwB,mBAAqBxB,EAAyB,UAAZ,UAClCyB,kBAAoBzB,EAAyB,UAAZ,UACjC0B,wBAA0B1B,EAAyB,UAAZ,UACvC2B,kBAAoB3B,EAAyB,UAAZ,UAGjCM,iBAAmBN,EAAyB,UAAZ,UAChCS,YAAcT,EAAyB,UAAZ,WAExBha,GAG+Ega,GACrCC,GAM3C,SAAUU,GACdpb,EACAY,EACAH,EACAga,EACAC,G,eAAA,IAAAA,OAAA,GAEA,IAAI2B,EAAmC,GAGjC,QACJzP,EAAA,EAAAA,MACAf,EAAA,EAAAA,MACAN,EAAA,EAAAA,aACAF,EAAA,EAAAA,UACAD,EAAA,EAAAA,YACAE,EAAA,EAAAA,aACAK,EAAA,EAAAA,aACAa,EAAA,EAAAA,aACAC,EAAA,EAAAA,eACAV,EAAA,EAAAA,YACAO,EAAA,EAAAA,kBACAC,EAAA,EAAAA,qBACAP,EAAA,EAAAA,eACAE,EAAA,EAAAA,iBACAC,EAAA,EAAAA,oBACAC,EAAA,EAAAA,gBACAC,EAAA,EAAAA,mBACAK,EAAA,EAAAA,kBACAC,EAAA,EAAAA,OA4IF,OAzIIC,IACFyP,EAAOC,eAAiB1P,EACxByP,EAAOE,oBAAsB3P,EAC7ByP,EAAOG,iBAAmB5P,EAC1ByP,EAAOI,iBAAmB7P,EAC1ByP,EAAOK,kBAAoB9P,EAC3ByP,EAAOM,yBAA2B/P,EAClCyP,EAAOO,yBAA2BhQ,EAClCyP,EAAOQ,gBAAkBjQ,EACzByP,EAAOS,uBAAyBlQ,EAChCyP,EAAOU,eAAiBnQ,EACxByP,EAAOW,eAAiBpQ,EACxByP,EAAOY,uBAAyBrQ,GAE9Bf,IACFwQ,EAAOa,gBAAkBrR,EACzBwQ,EAAOc,yBAA2BtR,GAEhCN,IACF8Q,EAAOe,KAAO7R,EACd8Q,EAAOgB,wBAA0B9R,EACjC8Q,EAAOiB,uBAAyB/R,EAChC8Q,EAAOkB,UAAYhS,EACnB8Q,EAAOmB,oBAAsBjS,EAC7B8Q,EAAOoB,SAAWlS,EAClB8Q,EAAOqB,WAAanS,EACpB8Q,EAAOsB,uBAAyBpS,GAE9BF,IACFgR,EAAOuB,+BAAiCvS,EACxCgR,EAAOwB,8BAAgCxS,EACvCgR,EAAOyB,iBAAmBzS,GAExBD,IACFiR,EAAO0B,YAAc3S,GAEnBE,IACF+Q,EAAO2B,+BAAiC1S,GAEtCK,IACF0Q,EAAO4B,kCAAoCtS,GAEzCa,IACF6P,EAAO6B,sBAAwB1R,EAC/B6P,EAAO8B,iBAAmB3R,EAC1B6P,EAAO+B,YAAc5R,EACrB6P,EAAOgC,cAAgB7R,EACvB6P,EAAOiC,+BAAiC9R,EACxC6P,EAAOkC,wBAA0B/R,EACjC6P,EAAOmC,0BAA4BhS,EACnC6P,EAAOoC,4BAA8BjS,EACrC6P,EAAOqC,0BAA4BlS,EAEnC6P,EAAOvB,0BAA4BtO,GAEjCC,IACF4P,EAAOsC,sBAAwBlS,EAC/B4P,EAAOuC,wBAA0BnS,EACjC4P,EAAOwC,yBAA2BpS,EAClC4P,EAAOyC,qBAAuBrS,EAC9B4P,EAAO0C,gCAAkCtS,EACzC4P,EAAO2C,mBAAqBvS,EAC5B4P,EAAO4C,0BAA4BxS,EACnC4P,EAAO6C,4BAA8BzS,EACrC4P,EAAO8C,0BAA4B1S,GAEjCH,IACF+P,EAAO+C,0BAA4B9S,EACnC+P,EAAOgD,gBAAkB/S,GAEvBC,IACF8P,EAAOiD,iCAAmC/S,GAExCH,IACFiQ,EAAOkD,iBAAmBnT,EAC1BiQ,EAAOmD,sBAAwB,QAAD,EAAA/e,SAAC,eAAE+e,uBAAwBpT,EACzDiQ,EAAOoD,mBAAqBrT,EAC5BiQ,EAAOqD,kBAAoBtT,EAC3BiQ,EAAOsD,aAAevT,GAEpBJ,IACFqQ,EAAOuD,SAAW5T,EAClBqQ,EAAOwD,WAAa7T,EACpBqQ,EAAOyD,WAAa9T,EACpBqQ,EAAO0D,mBAAqB/T,EAC5BqQ,EAAO2D,UAAYhU,EACnBqQ,EAAOxB,SAAW7O,EAClBqQ,EAAO4D,aAAejU,GAEpBU,IACF2P,EAAO6D,uBAAyBxT,EAChC2P,EAAO8D,uBAAyBzT,GAE9BX,IACFsQ,EAAO+D,kBAAoBrU,EAC3BsQ,EAAOgE,kBAAoBtU,EAC3BsQ,EAAOiE,kBAAoBvU,EAC3BsQ,EAAOkE,kBAAoBxU,EAC3BsQ,EAAOmE,iBAAmBzU,EAC1BsQ,EAAOoE,oBAAsB1U,GAE3BG,IACFmQ,EAAOqE,YAAcxU,EACrBmQ,EAAOsE,YAAczU,EACrBmQ,EAAOuE,YAAc1U,EACrBmQ,EAAOwE,iBAAmB3U,EAC1BmQ,EAAOyE,qBAAuB5U,GAE5BC,IACFkQ,EAAO0E,aAAe5U,GAEpBE,IACFgQ,EAAO2E,oBAAsB3U,EAC7BgQ,EAAO4E,eAAiB5U,EACxBgQ,EAAO6E,wBAA0B7U,EACjCgQ,EAAO8E,YAAc9U,GAEnBM,IACF0P,EAAOsB,uBAAyBhR,IAI7B,QAAL,EAAI/L,SAAC,eAAEqO,cACLoN,EAAO+E,WAAaxgB,EAAEqO,aAEnBwL,IAAe,QAAL,EAAI7Z,SAAC,eAAEsO,YACpBmN,EAAOgF,kBAAoBzgB,EAAEsO,WACpBmN,EAAOmD,uBAChBnD,EAAOgF,kBAAoB,WAAahF,EAAOmD,sBAGjDnD,EAAS,OAAH,KAAG,CAAH,gBACDA,GAEA5b,IDnKD,SAAmC,GACvC,GAAI,EAAS,CACX,IAAM,EAAa,EAAO,SAG1B,GAAqB,EAAS,EAAmB,KAAM,oBAAqB,gBAC5EmZ,GAAqBK,EAAStL,EAAmB,OAAQ,kBACzDiL,GAAqBK,EAAStL,EAAmB,SAAU,oBAC3DiL,GAAqBK,EAAStL,EAAmB,aAAc,wBAC/DiL,GAAqBK,EAAStL,EAAmB,MAAO,iBACxDiL,GAAqBK,EAAStL,EAAmB,OAAQ,kBACzDiL,GAAqBK,EAAStL,EAAmB,WAAY,sBAC7DiL,GAAqBK,EAAStL,EAAmB,aAAc,uBAAwB,UAAW,YAClGiL,GAAqBK,EAAS,EAAsB,QAAS,UAAW,WACxEL,GAAqBK,EAAS,EAAmB,SAAU,oBAC3DL,GAAqBK,EAAStL,EAAmB,SAAU,oBAI3D,GAAkB,oBAAwB,EAAO,4CAA6C,GAAY,OAI1G,GAAkB,oBAAwB,EAAO,uCAAwC,GAAY,WAiBzG,CAVA,W,UAIE,OAAgC,QAAhC,EAAmB,QAAnB,EAFoE,QAAlD,EAA+B,sBAAmB,eAAE,oBAEnD,eAAE,mBAAW,QA/EX,2DAqFE,IE3FlB,IAAM2S,GAA2B,CACtCC,GAAI,MACJC,GAAI,MACJC,EAAG,OACHC,GAAI,OACJC,GAAI,QCMA,SAAUC,GAAYnO,EAA0BiH,QAA1B,IAAAjH,MAAA,SAA0B,IAAAiH,OAAA,GACpD,IAAMD,IAAehH,EAAMgH,WAY3B,OCnBI,SAAsBhH,EAAcoO,G,iBAAA,IAAAA,MAAA,IACxC,IAAMC,EAAcC,GAA4B,GAAItO,EAAOoO,EAAc,CACvEG,eAAgB5G,GACdyG,EAAazN,QACbyN,EAAaI,QACbJ,EAAaG,oBACevc,IAA5Boc,EAAapH,WAA2BhH,EAAMgH,WAAaoH,EAAapH,cAQ5E,IAJwB,QAApB,EAAAoH,EAAazN,eAAO,eAAE7I,iBAAqC,QAArB,EAACsW,EAAazN,eAAO,eAAEzH,UAC/DmV,EAAY1N,QAAQzH,OAASkV,EAAazN,QAAQ7I,cAGhDsW,EAAaK,iBACf,IAAwB,UAAA1kB,OAAOgB,KAAKsjB,EAAYK,OAAxB,eAAyD,CAA5E,IAAMzI,EAAS,KAClBoI,EAAYK,MAAMzI,GAAaqI,GAC7BD,EAAYK,MAAMzI,GAClBmI,EAAaK,iBACM,QADU,EACjB,QADiB,EAC7BL,SAAY,eAAEM,aAAK,eAAGzI,IAS5B,OAJI,EAAa,cACf,EAAY,aAAe,EAAM,aAAe,IAAI,OAAO,EAAa,cAGnE,EDTA0I,CAXkB,CACvBhO,QAASjJ,GACT8W,QAASjT,GACTmT,MAAOxJ,GACP0J,QAASf,GACT7G,WAAU,EACVxE,yBAAyB,EACzB+L,eAAgBxH,GAAmBrP,GAAgB6D,QAAgBvJ,EAAWgV,EAAYC,GAC1F4H,SAAK7c,GAGuBgO,GElBhC,IAAI8O,GAAiBX,GAAY,IAGpBY,GAAmB,QAE1B,SAAUC,K,UACd,IAAKC,GAAA,EAAeC,YAAY,CAACH,KAAmB/O,MAAO,CAEzD,IAAMmP,EAAW,OAAAxI,GAAA,MAEI,QAArB,EAAO,QAAP,EAAIwI,SAAG,eAAEvI,oBAAY,eAAE5G,SACrB8O,GAASX,GAAYgB,EAAIvI,aAAa5G,QAIxCiP,GAAA,EAAeG,gBAAa,MAAG,MAAoBN,GAAM,KAUvD,SAAUO,GAASpI,GAIvB,YAJuB,IAAAA,OAAA,IACH,IAAhBA,IACF6H,GAASX,GAAY,GAAIlH,IAEpB6H,GAVTE,K,wBGgCMa,GAAgBC,GAAA,EAAeC,SAFX,QAEqD,CAC7EC,UAAW,CACTC,iBAAiB,EACjBC,oBAAoB,GAEtBC,WAAY,KAIR,GAAazN,EAAA,EAAWC,cAE1B,IAAc,GAAW0N,SAC3B,GAAWA,SAAQ,WACjB,IAAK,IAAM,KAAQR,GACbA,GAAcrlB,eAAe,IAAYqlB,GAAc,GAAsBS,SAC9ET,GAAc,GAAsBS,OAAOxN,eAAY9Q,MAahE,IAAMue,GAAoB,SAACC,GAAyB,OAAAA,EAAA,eAO9C,SAAUC,GAAcC,EAAyBjQ,GACrD,IAAI6P,EAAS,OAAH,KAAG,CAAH,gBACLI,GAAU,CACbC,cAAc,EACd7N,eAAW9Q,IAEP4e,EAAA,EAAAA,MAKN,IAAK,IAAMC,KAFXpQ,EAAUA,EAAS,6BAAMoP,GAAcG,WAAcvP,GAAYoP,GAAcG,UAExDY,EACrB,GAAIA,EAAMpmB,eAAeqmB,GAAW,CAClC,IAAMC,EAAOF,EAAMC,GACbE,EAAqBR,GAAkBM,GAEzChB,GAAckB,GAChBC,GAAmBH,GAEnBhB,GAAckB,GAAsB,CAClCD,KAAI,EACJR,OAAM,IA2CV,SAAUmI,GAAkB5H,EAAkB6H,GAClD7I,GAAcM,WAAWI,GAAkBM,IAAaN,GAAkBmI,GAUtE,SAAUzH,GAAQT,GACtB,IAAIxS,OAAgChM,EAC9ByO,EAAUoP,GAAcG,UAK9B,GAHAQ,EAAOA,EAAOD,GAAkBC,GAAQ,GACxCA,EAAOX,GAAcM,WAAWK,IAASA,EAKvC,GAFAxS,EAAO6R,GAAcW,GAEX,CACF,IAAAF,EAAA,EAAAA,OACFA,GAAUA,EAAOvK,WACduK,EAAOK,eACV5K,GAASuK,EAAOvK,UAChBuK,EAAOK,cAAe,GAGnBL,EAAOxN,YACVwN,EAAOxN,UAAY,OAAAvL,EAAA,GAAY+Y,EAAOY,MAAO,CAC3CrM,WAAYyL,EAAOvK,SAASlB,WAC5BI,WAAYqL,EAAOvK,SAASd,YAAc,SAC1CgB,UAAWqK,EAAOvK,SAASE,WAAa,kBAMzCxF,EAAQwP,iBAAmBxP,EAAQyP,oBACtC,OAAAiB,GAAA,GACE,aAAaX,EAAI,mHAMzB,OAAOxS,EAeT,IAAIoT,GAA0B,GAC1BC,QAAyCrf,EAE7C,SAASgf,GAAmBH,GAC1B,IAAMpQ,EAAUoP,GAAcG,UAIzBvP,EAAQwP,kBACXmB,GAAc9lB,KAAKulB,QACQ7e,IAAvBqf,KACFA,GAAqBC,YAAW,WAC9B,OAAAH,GAAA,GACE,0LAGEC,GAAcG,MAAM,EAVJ,IAU0B5iB,KAAK,OAC9CyiB,GAAchnB,OAXC,GAW4B,QAAOgnB,GAAchnB,OAXjD,IAW2E,SAAW,KAE1GinB,QAAqBrf,EACrBof,GAAgB,KAfD,O,4CC9NvB,aAAW,oBAAqB,UCOhC,M,8BWTe,SAAS7b,EAAyBlL,EAAQmL,GACvD,GAAc,MAAVnL,EAAgB,MAAO,GAC3B,IACIC,EAAKJ,EADLD,ECHS,SAAuCI,EAAQmL,GAC5D,GAAc,MAAVnL,EAAgB,MAAO,GAC3B,IAEIC,EAAKJ,EAFLD,EAAS,GACT0uB,EAAa5uB,OAAOgB,KAAKV,GAG7B,IAAKH,EAAI,EAAGA,EAAIyuB,EAAWvuB,OAAQF,IACjCI,EAAMquB,EAAWzuB,GACbsL,EAASpI,QAAQ9C,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,EDTM,CAA6BI,EAAQmL,GAGlD,GAAIzL,OAAOiB,sBAAuB,CAChC,IAAIyK,EAAmB1L,OAAOiB,sBAAsBX,GAEpD,IAAKH,EAAI,EAAGA,EAAIuL,EAAiBrL,OAAQF,IACvCI,EAAMmL,EAAiBvL,GACnBsL,EAASpI,QAAQ9C,IAAQ,GACxBP,OAAOQ,UAAU8C,qBAAqB5C,KAAKJ,EAAQC,KACxDL,EAAOK,GAAOD,EAAOC,IAIzB,OAAOL,E,4KEPF,SAAS2uB,EAAiB3uB,GAC/B,MAA2B,WAApByL,YAAQzL,IAA+C,kBAAhBA,EAAOumB,MAA6C,kBAAjBvmB,EAAO+V,QAAgD,WAAzBtK,YAAQzL,EAAO+T,OAA6C,oBAAhB/T,EAAO+T,MAE7J,SAAS6a,IACd,IAAIC,EAAQ3uB,UAAUC,OAAS,QAAsB4H,IAAjB7H,UAAU,GAAmBA,UAAU,GAAK,GAChF,OAAOJ,OAAOgB,KAAK+tB,GAAOlW,QAAO,SAAUC,EAAKvY,GAC9C,IAAIyuB,EAAMD,EAAMxuB,GAEhB,GACO,UADCA,EAEJuY,EAAIC,UAAYiW,SACTlW,EAAImW,WAIXnW,EAAIvY,GAAOyuB,EAGf,OAAOlW,IACN,IAEE,SAASoW,EAASC,EAAM5uB,EAAK6uB,GAClC,OAAKA,EAQe/oB,IAAMiC,cAAc6mB,EAAKE,IAAKC,YAAcA,YAAc,CAC5E/uB,IAAKA,GACJuuB,EAAeK,EAAKJ,QAASK,IAAaD,EAAKvmB,UAAY,IAAI2mB,KAAI,SAAUC,EAAOC,GACrF,OAAOP,EAASM,EAAO,GAAGE,OAAOnvB,EAAK,KAAKmvB,OAAOP,EAAKE,IAAK,KAAKK,OAAOD,QAVpDppB,IAAMiC,cAAc6mB,EAAKE,IAAKC,YAAc,CAC9D/uB,IAAKA,GACJuuB,EAAeK,EAAKJ,SAAUI,EAAKvmB,UAAY,IAAI2mB,KAAI,SAAUC,EAAOC,GACzE,OAAOP,EAASM,EAAO,GAAGE,OAAOnvB,EAAK,KAAKmvB,OAAOP,EAAKE,IAAK,KAAKK,OAAOD,QAUvE,SAASE,EAAkBC,GAEhC,OAAOC,mBAAcD,GAAc,GAE9B,SAASE,EAAuBC,GACrC,OAAKA,EAIExtB,MAAMkC,QAAQsrB,GAAgBA,EAAe,CAACA,GAH5C,GAOJ,IAOIC,EAAa,y7BChEpBC,EAAY,CAAC,OAAQ,YAAa,UAAW,QAAS,eAAgB,kBAEtEC,EAAsB,CACxBN,aAAc,OACdO,eAAgB,UAChBC,YAAY,GAed,IAAIC,EAAW,SAAkBxkB,GAC/B,IDhBsB0c,EAAO3d,ECgBzBqJ,EAAOpI,EAAMoI,KACb8E,EAAYlN,EAAMkN,UAClBuX,EAAUzkB,EAAMykB,QAChBnJ,EAAQtb,EAAMsb,MACdyI,EAAe/jB,EAAM+jB,aACrBO,EAAiBtkB,EAAMskB,eACvBI,EAAY/kB,YAAyBK,EAAOokB,GAE5CO,EAASN,EAYb,GAVIN,IACFY,EAAS,CACPZ,aAAcA,EACdO,eAAgBA,GAAkBR,EAAkBC,KD+B7B,WAC3B,IAAIa,EAAWrwB,UAAUC,OAAS,QAAsB4H,IAAjB7H,UAAU,GAAmBA,UAAU,GAAK4vB,EAG/EU,EADcvnB,qBAAWwnB,KACPD,IAEtBloB,qBAAU,WACRooB,YAAUH,EAAU,oBAAqB,CACvCI,SAAS,EACTH,IAAKA,MAEN,ICtCHI,GDjCsBvI,ECkCdsG,EAAiB5a,GDlCIrJ,ECkCG,0CAA0C8kB,OAAOzb,GDjCjFmT,YAAKmB,EAAO,uBAAuBmH,OAAO9kB,KCmCrCikB,EAAiB5a,GACpB,OAAO,KAGT,IAAI/T,EAAS+T,EAQb,OANI/T,GAAiC,oBAAhBA,EAAO+T,OAC1B/T,EAASovB,YAAcA,YAAc,GAAIpvB,GAAS,GAAI,CACpD+T,KAAM/T,EAAO+T,KAAKuc,EAAOZ,aAAcY,EAAOL,mBAI3CjB,EAAShvB,EAAO+T,KAAM,OAAOyb,OAAOxvB,EAAOumB,MAAO6I,YAAc,CACrEvW,UAAWA,EACXuX,QAASA,EACTnJ,MAAOA,EACP,YAAajnB,EAAOumB,KACpB9P,MAAO,MACPwB,OAAQ,MACR4Y,KAAM,eACN,cAAe,QACdR,KAGLF,EAASW,YAAc,YACvBX,EAASY,iBAlDT,WACE,OAAO3B,YAAc,GAAIY,IAkD3BG,EAASa,iBA3DT,SAA0BxoB,GACxB,IAAIknB,EAAelnB,EAAKknB,aACpBO,EAAiBznB,EAAKynB,eAC1BD,EAAoBN,aAAeA,EACnCM,EAAoBC,eAAiBA,GAAkBR,EAAkBC,GACzEM,EAAoBE,aAAeD,GAuDtBE,QCnER,SAASc,EAAgBpB,GAC9B,IAAIqB,EAAwBtB,EAAuBC,GAC/CsB,EAAyBvsB,YAAessB,EAAuB,GAC/DxB,EAAeyB,EAAuB,GACtClB,EAAiBkB,EAAuB,GAE5C,OAAOC,EAAUJ,iBAAiB,CAChCtB,aAAcA,EACdO,eAAgBA,ICPpB,IAAIF,EAAY,CAAC,YAAa,OAAQ,OAAQ,SAAU,WAAY,UAAW,gBAS/EkB,EAAgB,WAChB,IAAII,EAAoBlrB,cAAiB,SAAUwF,EAAO2lB,GACxD,IAAIC,EAEA1Y,EAAYlN,EAAMkN,UAClB9E,EAAOpI,EAAMoI,KACbyd,EAAO7lB,EAAM6lB,KACbC,EAAS9lB,EAAM8lB,OACfC,EAAW/lB,EAAM+lB,SACjBtB,EAAUzkB,EAAMykB,QAChBP,EAAelkB,EAAMkkB,aACrBQ,EAAY/kB,YAAyBK,EAAOokB,GAG5C4B,EADoBxrB,aAAiB4C,KACK6oB,UAC1CA,OAAsC,IAA1BD,EAAmC,UAAYA,EAE3DE,EAAc1tB,IAAWytB,GAAYL,EAAc,GAAI5vB,YAAgB4vB,EAAa,GAAG/B,OAAOoC,EAAW,KAAKpC,OAAOzb,EAAKwS,QAASxS,EAAKwS,MAAO5kB,YAAgB4vB,EAAa,GAAG/B,OAAOoC,EAAW,WAAYJ,GAAsB,YAAdzd,EAAKwS,MAAqBgL,GAAc1Y,GAC7PiZ,EAAeJ,OAEE3pB,IAAjB+pB,GAA8B1B,IAChC0B,GAAgB,GAGlB,IAAIC,EAAWN,EAAS,CACtBO,YAAa,UAAUxC,OAAOiC,EAAQ,QACtC3G,UAAW,UAAU0E,OAAOiC,EAAQ,cAClC1pB,EAEAmpB,EAAwBtB,EAAuBC,GAC/CsB,EAAyBvsB,YAAessB,EAAuB,GAC/DxB,EAAeyB,EAAuB,GACtClB,EAAiBkB,EAAuB,GAE5C,OAAoBhrB,gBAAoB,OAAQipB,YAAcA,YAAc,CAC1E6C,KAAM,MACN,aAAcle,EAAKwS,MAClB8J,GAAY,GAAI,CACjBiB,IAAKA,EACLI,SAAUI,EACV1B,QAASA,EACTvX,UAAWgZ,IACI1rB,gBAAoBirB,EAAW,CAC9Crd,KAAMA,EACN2b,aAAcA,EACdO,eAAgBA,EAChBhJ,MAAO8K,QAGXV,EAAKP,YAAc,WACnBO,EAAKa,gBDjDE,WACL,IAAI5B,EAASc,EAAUL,mBAEvB,OAAKT,EAAOJ,WAIL,CAACI,EAAOZ,aAAcY,EAAOL,gBAH3BK,EAAOZ,cC8ClB2B,EAAKJ,gBAAkBA,EACRI,O,yFC9DA,SAASc,EAAaC,GACnC,IAAIC,ECJS,WACb,GAAuB,qBAAZ3uB,UAA4BA,QAAQ4uB,UAAW,OAAO,EACjE,GAAI5uB,QAAQ4uB,UAAUC,KAAM,OAAO,EACnC,GAAqB,oBAAVC,MAAsB,OAAO,EAExC,IAEE,OADA3qB,QAAQvH,UAAUmyB,QAAQjyB,KAAKkD,QAAQ4uB,UAAUzqB,QAAS,IAAI,iBACvD,EACP,MAAO3E,GACP,OAAO,GDLuB,GAChC,OAAO,WACL,IACIyb,EADA+T,EAAQ,OAAAC,EAAA,GAAeP,GAG3B,GAAIC,EAA2B,CAC7B,IAAIO,EAAY,OAAAD,EAAA,GAAejyB,MAAMiC,YACrCgc,EAASjb,QAAQ4uB,UAAUI,EAAOxyB,UAAW0yB,QAE7CjU,EAAS+T,EAAMjyB,MAAMC,KAAMR,WAG7B,OAAO,OAAA2yB,EAAA,GAA0BnyB,KAAMie,M,6BEhB3C,sCAAImU,EAAM,SAAaxsB,GACrB,OAAQ+gB,WAAW/gB,EAAU,KAG3BysB,EAAM,SAAaC,GACrB,OAAOC,aAAaD,IAGA,qBAAX9qB,QAA0B,0BAA2BA,SAC9D4qB,EAAM,SAAaxsB,GACjB,OAAO4B,OAAOgrB,sBAAsB5sB,IAGtCysB,EAAM,SAAaI,GACjB,OAAOjrB,OAAOkrB,qBAAqBD,KAIvC,IAAIE,EAAU,EACVC,EAAS,IAAIC,IAEjB,SAASC,EAAQC,GACfH,EAAOI,OAAOD,GAGD,SAASE,EAAWrtB,GACjC,IAAIstB,EAAQ1zB,UAAUC,OAAS,QAAsB4H,IAAjB7H,UAAU,GAAmBA,UAAU,GAAK,EAE5EuzB,EADJJ,GAAW,EAGX,SAASQ,EAAQC,GACf,GAAkB,IAAdA,EAEFN,EAAQC,GAERntB,QACK,CAEL,IAAIytB,EAASjB,GAAI,WACfe,EAAQC,EAAY,MAGtBR,EAAOU,IAAIP,EAAIM,IAKnB,OADAF,EAAQD,GACDH,EAGTE,EAAWM,OAAS,SAAUR,GAC5B,IAAIM,EAAST,EAAOzsB,IAAI4sB,GAExB,OADAD,EAAQO,GACDhB,EAAIgB,K,wMC5CFG,EAAW,eAElBC,EAA8B,SAAUC,GAC1CpM,YAAUmM,EAAgBC,GAE1B,IAAIC,EAASlC,YAAagC,GAE1B,SAASA,EAAexoB,GACtB,IAAI2oB,EAOJ,OALAnpB,YAAgBzK,KAAMyzB,GAEtBG,EAAQD,EAAO7zB,KAAKE,KAAMiL,GAC1B4oB,YAAoB5oB,EAAM6oB,QAAU7oB,EAAM6oB,OAAOC,OACjDC,YAAW/oB,EAAMgpB,cAAgBT,EAAU,iBAAkB,iHACtDI,EAoCT,OAjCAzoB,YAAasoB,EAAgB,CAAC,CAC5B9zB,IAAK,oBACLwB,MAAO,WACL0yB,YAAoB7zB,KAAKiL,MAAM6oB,QAAU9zB,KAAKiL,MAAM6oB,OAAOC,SAE5D,CACDp0B,IAAK,qBACLwB,MAAO,SAA4B+yB,GACjC,IAAIJ,EAAS9zB,KAAKiL,MAAM6oB,OAEpBI,EAAUJ,SAAWA,GACvBD,YAAoBC,GAAUA,EAAOC,SAGxC,CACDp0B,IAAK,uBACLwB,MAAO,WACL0yB,gBAED,CACDl0B,IAAK,SACLwB,MAAO,WACL,IAAIgzB,EAAcn0B,KAAKiL,MACnB6oB,EAASK,EAAYL,OACrB9rB,EAAWmsB,EAAYnsB,SAC3B,OAAoBvC,gBAAoB2uB,IAAcvsB,SAAU,CAC9D1G,MAAOhC,YAASA,YAAS,GAAI20B,GAAS,CACpCO,OAAO,KAERrsB,OAIAyrB,EAjDyB,CAkDhChuB,aAGFguB,EAAea,aAAe,CAC5BR,OAAQ,I,2IC7DV,IAgDIS,EACAC,EAPAC,EAAuB,GACvBC,EAAkB,IAClBC,EAAa,GACbC,EAAgB,GAChBC,EAAmB,GACnBC,EAAmB,WAGnB5Q,GAAM,EA8CV,SAAS6Q,EAAkBC,GACzB,IAEIzO,EAFAjQ,EAAM9W,UAAUC,OAAS,QAAsB4H,IAAjB7H,UAAU,GAAmBA,UAAU,GAAKm1B,EAC1Epe,EAAS/W,UAAUC,OAAS,QAAsB4H,IAAjB7H,UAAU,GAAmBA,UAAU,GAAKo1B,EAGjF,OAAQI,GACN,IAAK,UACHzO,EAAQ,CACNlQ,KAAM,EACNC,IAAKA,EACLC,OAAQ,QAEV,MAEF,IAAK,WACHgQ,EAAQ,CACN/P,MAAO,EACPF,IAAKA,EACLC,OAAQ,QAEV,MAEF,IAAK,aACHgQ,EAAQ,CACNlQ,KAAM,EACNC,IAAK,OACLC,OAAQA,GAEV,MAEF,QACEgQ,EAAQ,CACN/P,MAAO,EACPF,IAAK,OACLC,OAAQA,GAKd,OAAOgQ,EAGT,SAAS0O,EAAwBxH,EAAM7nB,GACrC,IAAIsvB,EAAkBzH,EAAKuH,UACvBA,OAAgC,IAApBE,EAA6BJ,EAAmBI,EAC5D5e,EAAMmX,EAAKnX,IACXC,EAASkX,EAAKlX,OACd4e,EAAqB1H,EAAK2H,aAC1BA,OAAsC,IAAvBD,EAAgCZ,EAAsBY,EACrEE,EAAkB5H,EAAK6H,UACvBA,OAAgC,IAApBD,EAA6Bb,EAAmBa,EAC5DE,EAAqB9H,EAAKyD,UAK1BA,GAAYsE,EAHIC,KACaD,cAEJ,eAAgBD,GAAsBV,GAC/Da,EAAW,GAAG5G,OAAOoC,EAAW,KAAKpC,OAAOkG,GAC5CW,EAAgBlB,EAAqBiB,GAEzC,GAAIC,EACFC,QAAQC,QAAQF,GAAeG,MAAK,SAAUprB,GAC5C9E,EAAS,CACPsrB,UAAW,GAAGpC,OAAOoC,EAAW,WAChCxmB,SAAUA,WAJhB,CAUA,IAAIqrB,EAAiCtwB,gBAAoB,OAAQ,CAC/D0S,UAAW,GAAG2W,OAAOoC,EAAW,aAC/BoE,GAA0B7vB,gBAAoBuwB,IAAe,CAC9D7d,UAAW,GAAG2W,OAAOoC,EAAW,kBAE9B+E,EAAoBxyB,IAAW,GAAGqrB,OAAOoC,EAAW,KAAKpC,OAAOkG,GAAY/zB,YAAgB,GAAI,GAAG6tB,OAAOoC,EAAW,SAAiB,IAARhN,IAClIuQ,EAAqBiB,GAAY,IAAIE,SAAQ,SAAUC,GACrDK,UAAaC,YAAY,CACvBjF,UAAWA,EACX/Y,UAAW8d,EACX1P,MAAOwO,EAAkBC,EAAW1e,EAAKC,GACzC6e,aAAcA,EACdE,UAAWS,IACV,SAAUK,GACXP,EAAQO,GACRxwB,EAAS,CACPsrB,UAAW,GAAGpC,OAAOoC,EAAW,WAChCxmB,SAAU0rB,WAMlB,IAAIC,EAAa,CACfC,QAASC,IACTC,KAAMC,IACNC,MAAOC,IACPjP,QAASkP,KAGX,SAASC,EAAiBpJ,EAAMyD,GAC9B,IAAI4F,EAAcrJ,EAAKsJ,SACnB1jB,EAAOoa,EAAKpa,KACZ2jB,EAAOvJ,EAAKuJ,KACZC,EAAcxJ,EAAKwJ,YACnBjtB,EAAUyjB,EAAKzjB,QACfktB,EAAMzJ,EAAKyJ,IACXC,EAAU1J,EAAK0J,QACfzH,EAAUjC,EAAKiC,QACf/vB,EAAM8tB,EAAK9tB,IACX4mB,EAAQkH,EAAKlH,MACbpO,EAAYsV,EAAKtV,UACjB4e,OAA2B1vB,IAAhByvB,EAA4BpC,EAAkBoC,EACzDM,EAAW,KAEX/jB,EACF+jB,EAAwB3xB,gBAAoB,OAAQ,CAClD0S,UAAW,GAAG2W,OAAOoC,EAAW,UAC/BzD,EAAKpa,MACC2jB,IACTI,EAAwB3xB,gBAAoB4wB,EAAWW,IAAS,KAAM,CACpE7e,UAAW,GAAG2W,OAAOoC,EAAW,UAAUpC,OAAOoC,EAAW,UAAUpC,OAAOkI,MAIjF,IAAIK,GAAiBJ,GAAeG,EAAwB3xB,gBAAoB,OAAQ,CACtF0S,UAAW,GAAG2W,OAAOoC,EAAW,sCAC7B,KACL,MAAO,CACL9a,QAAsB3Q,gBAAoB,MAAO,CAC/C0S,UAAWif,EAAW,GAAGtI,OAAOoC,EAAW,cAAgB,GAC3DK,KAAM,SACL6F,EAAuB3xB,gBAAoB,MAAO,CACnD0S,UAAW,GAAG2W,OAAOoC,EAAW,aAC/BmG,EAAertB,GAAuBvE,gBAAoB,MAAO,CAClE0S,UAAW,GAAG2W,OAAOoC,EAAW,iBAC/B+F,GAAcC,EAAmBzxB,gBAAoB,OAAQ,CAC9D0S,UAAW,GAAG2W,OAAOoC,EAAW,SAC/BgG,GAAO,MACVH,SAAUA,EACVO,UAAU,EACVH,QAASA,EACTzH,QAASA,EACT/vB,IAAKA,EACL4mB,MAAOA,GAAS,GAChBpO,UAAW1U,IAAW0U,EAAWlX,YAAgB,GAAI,GAAG6tB,OAAOoC,EAAW,KAAKpC,OAAOkI,KAASA,KAYnG,IC5P8C/B,EAAyB4B,ED4PnEU,EAAM,CACRC,KATF,SAAgB/J,GACdwH,EAAwBxH,GAAM,SAAU3lB,GACtC,IAAIopB,EAAYppB,EAAKopB,UACNppB,EAAK4C,SACX+sB,OAAOZ,EAAiBpJ,EAAMyD,QAMzCwG,MAAO,SAAe/3B,GACpBP,OAAOgB,KAAKq0B,GAAsB5zB,SAAQ,SAAU60B,GAClD,OAAOE,QAAQC,QAAQpB,EAAqBiB,IAAWI,MAAK,SAAUprB,GACpEA,EAASitB,aAAah4B,UAI5Bi4B,OAlNF,SAA+B9hB,GAC7B,IAAIihB,EAAWjhB,EAAQihB,SACnB/B,EAAYlf,EAAQkf,UACpBze,EAAST,EAAQS,OACjBD,EAAMR,EAAQQ,IACd8e,EAAetf,EAAQsf,aACvBE,EAAYxf,EAAQwf,UACpBpE,EAAYpb,EAAQob,eAEN7pB,IAAd6pB,IACF2D,EAAmB3D,QAGJ7pB,IAAb0vB,IACFrC,EAAkBqC,QAGF1vB,IAAd2tB,EACFF,EAAmBE,EACVlf,EAAQoO,MACjB4Q,EAAmB,gBAGNztB,IAAXkP,IACFqe,EAAgBre,QAGNlP,IAARiP,IACFqe,EAAare,QAGMjP,IAAjB+tB,IACFb,EAAsBa,QAGN/tB,IAAdiuB,IACFd,EAAmBc,QAGDjuB,IAAhByO,EAAQoO,MACVA,EAAMpO,EAAQoO,MA2KhB2T,QAAS,WACPz4B,OAAOgB,KAAKq0B,GAAsB5zB,SAAQ,SAAU60B,GAClDE,QAAQC,QAAQpB,EAAqBiB,IAAWI,MAAK,SAAUprB,GAC7DA,EAASmtB,oBAEJpD,EAAqBiB,QAIlC,CAAC,UAAW,OAAQ,UAAW,SAAS70B,SAAQ,SAAUm2B,GACxDO,EAAIP,GAAQ,SAAUvJ,GACpB,OAAO8J,EAAIC,KAAKr4B,YAASA,YAAS,GAAIsuB,GAAO,CAC3CuJ,KAAMA,SAIZO,EAAI/Q,KAAO+Q,EAAI7P,QACf6P,EAAIO,iBCvR0C7C,EDuRFA,ECvR2B4B,EDuRFA,ECtR7C,WAEpB,IAAIrB,EAEAuC,EAAgB,KAChBC,EAAQ,CACVC,IAAK,SAAaC,EAAaC,GACX,OAAlBJ,QAA4C,IAAlBA,GAAoCA,EAAcK,UAAUH,IAAIC,EAAaC,KAIvGE,EAAqBC,YAAkBN,GACvCO,EAAsBr0B,YAAem0B,EAAoB,GACzDG,EAAaD,EAAoB,GACjCE,EAASF,EAAoB,GAgB7BG,EAAajzB,SAAa,IAS9B,OARAizB,EAAW5uB,QAAQ0tB,KAfnB,SAAgB/J,GACd,IAAI8H,EAAqB9H,EAAKyD,UAC1ByH,EAAkBnD,EAAa,eAAgBD,GACnDN,EAAwB91B,YAASA,YAAS,GAAIsuB,GAAO,CACnDyD,UAAWyH,KACT,SAAU7wB,GACZ,IAAIopB,EAAYppB,EAAKopB,UACjBxmB,EAAW5C,EAAK4C,SACpBqtB,EAAgBrtB,EAChB8tB,EAAW3B,EAAiBpJ,EAAMyD,QAOtC,CAAC,UAAW,OAAQ,UAAW,SAASrwB,SAAQ,SAAUm2B,GACxD0B,EAAW5uB,QAAQktB,GAAQ,SAAUvJ,GACnC,OAAOiL,EAAW5uB,QAAQ0tB,KAAKr4B,YAASA,YAAS,GAAIsuB,GAAO,CAC1DuJ,KAAMA,SAIL,CAAC0B,EAAW5uB,QAAsBrE,gBAAoBmzB,IAAgB,CAC3Ej5B,IAAK,WACJ,SAAUoI,GAEX,OADAytB,EAAeztB,EAAQytB,aAChBiD,QD8ON,IE9QHI,EF8RWtB,I,SElSJuB,EAAsB,CAAC,qBAAsB,oBAAqB,gBAAiB,eAAgB,cAAe,MAAO,0BAA2B,SAAU,cAErKC,EAAe,CAAC,qBAAsB,oBAAqB,cAAe,aAAc,QAAS,QAUrG,SAASC,IACP,OAAOH,GAVqB,MAavB,IAAIpD,GAAe,WACxB,MAAO,CACLD,aAAc,SAAsByD,EAAW1D,GAC7C,OAAIA,IACG0D,EAAY,GAAGnK,OAAOkK,IAAsB,KAAKlK,OAAOmK,GAAaD,MAE9EE,iBAAkB,SAA0BC,EAAe5D,GAEzD,OAAI4D,IAKAN,IAKAtD,GAAsBA,EAAmB6D,SAAS,KAC7C7D,EAAmB8D,QAAQ,eAAgB,MAI7CL,SAKTM,GAAmB,SAA0BruB,GAC/C,IAAIkc,EAAID,EAEJlf,EAAWiD,EAAMjD,SACjB8nB,EAAM7kB,EAAM6kB,IACZyJ,EAA0BtuB,EAAMsuB,wBAChCC,EAAOvuB,EAAMuuB,KACb1F,EAAS7oB,EAAM6oB,OACf2F,EAAgBxuB,EAAMwuB,cACtBC,EAAYzuB,EAAMyuB,UAClBC,EAAQ1uB,EAAM0uB,MACdC,EAAU3uB,EAAM2uB,QAChBC,EAA2B5uB,EAAM4uB,yBACjCC,EAAe7uB,EAAM6uB,aACrBC,EAAgB9uB,EAAM8uB,cACtBC,EAAgB/uB,EAAM+uB,cACtBxE,EAAe/vB,eAAkB,SAAUwzB,EAAW1D,GACxD,IAAIrE,EAAYjmB,EAAMimB,UACtB,GAAIqE,EAAoB,OAAOA,EAC/B,IAAIoD,EAAkBzH,GAAa6I,EAAcvE,aAAa,IAC9D,OAAOyD,EAAY,GAAGnK,OAAO6J,EAAiB,KAAK7J,OAAOmK,GAAaN,IACtE,CAACoB,EAAcvE,aAAcvqB,EAAMimB,YAElC0G,EAASz4B,YAASA,YAAS,GAAI46B,GAAgB,CACjDjK,IAAKA,EACLyJ,wBAAyBA,EACzBzF,OAAQA,GAAUgG,EAClBJ,UAAWA,EACXC,MAAOA,EACPC,QAASA,EACTC,yBAA0BA,EAC1BrE,aAAcA,IAKhBuD,EAAal4B,SAAQ,SAAUo5B,GAC7B,IAAIC,EAAYjvB,EAAMgvB,GAElBC,IACFtC,EAAOqC,GAAYC,MAIvB,IAAIC,EAAejyB,aAAQ,WACzB,OAAO0vB,IACNA,GAAQ,SAAUwC,EAAYC,GAC/B,IAAIC,EAAWl7B,OAAOgB,KAAKg6B,GACvBG,EAAcn7B,OAAOgB,KAAKi6B,GAC9B,OAAOC,EAAS76B,SAAW86B,EAAY96B,QAAU66B,EAASE,MAAK,SAAU76B,GACvE,OAAOy6B,EAAWz6B,KAAS06B,EAAc16B,SAGzC86B,EAAuBh1B,WAAc,WACvC,MAAO,CACLyrB,UAAW8I,EACXlK,IAAKA,KAEN,CAACkK,IACAU,EAAY1yB,EAEZ2yB,EAAmB,GAmCvB,OAjCI7G,IACF6G,GAA2C,QAAtBxT,EAAK2M,EAAO8G,YAAyB,IAAPzT,OAAgB,EAASA,EAAG0T,2BAA2D,QAA7B3T,EAAK4T,IAAcF,YAAyB,IAAP1T,OAAgB,EAASA,EAAG2T,0BAA4B,IAGxMrB,GAAQA,EAAKmB,mBACfA,EAAmBx7B,YAASA,YAAS,GAAIw7B,GAAmBnB,EAAKmB,mBAG/Dv7B,OAAOgB,KAAKu6B,GAAkBl7B,OAAS,IACzCi7B,EAAyBj1B,gBAAoBs1B,eAAgB,CAC3DJ,iBAAkBA,GACjB3yB,IAGD8rB,IACF4G,EAAyBj1B,gBAAoBguB,EAAgB,CAC3DK,OAAQA,EACRG,YAAaT,GACZkH,IAGDV,IACFU,EAAyBj1B,gBAAoBsqB,IAAYloB,SAAU,CACjE1G,MAAOs5B,GACNC,IAGDjB,IACFiB,EAAyBj1B,gBAAoBu1B,IAAqB,CAChEhhB,KAAMyf,GACLiB,IAGej1B,gBAAoBw1B,IAAcpzB,SAAU,CAC9D1G,MAAOg5B,GACNO,IAGDQ,GAAiB,SAAwBjwB,GAW3C,OAVAxF,aAAgB,WACVwF,EAAMyuB,YACR1vB,IAAQ4tB,OAAO,CACb1T,IAAyB,QAApBjZ,EAAMyuB,YAEbtD,EAAawB,OAAO,CAClB1T,IAAyB,QAApBjZ,EAAMyuB,eAGd,CAACzuB,EAAMyuB,YACUj0B,gBAAoB01B,IAAgB,MAAM,SAAUC,EAAGp5B,EAAI83B,GAC7E,OAAoBr0B,gBAAoBmzB,IAAgB,MAAM,SAAU7wB,GACtE,OAAoBtC,gBAAoB6zB,GAAkBn6B,YAAS,CACjE46B,cAAehyB,EACf+xB,aAAcA,GACb7uB,WAOTiwB,GAAeD,cAAgBA,IAC/BC,GAAeG,YAAcA,IAC7BH,GAAetD,OApKO,SAAyB0D,QACpBj0B,IAArBi0B,EAAOpK,YACT2H,EAAkByC,EAAOpK,YAmKdgK,Q,8BCxLf,8CAUe,SAASjU,EAAQH,GAC9B,OAAO,SAASyU,EAAGl4B,GACjB,OAAyB,IAArB7D,UAAUC,QAAgBunB,YAAe3jB,GACpCk4B,EAEAzU,EAAG/mB,MAAMC,KAAMR,c,wdCZtBg8B,G,OAAqB,SAAA3V,G,IACnB9d,EAAUrC,c,OAChBqC,gBAEA,ICLI0zB,EAA+BD,EAArC,kBCAMzzB,EAAwByzB,EAA9B,UCQME,c,WAKJ,G,2BACE,UAEA,MAAa,CACXC,SAAU1wB,UAAc0wB,U,EAQ1B,c,EACA,sBAEK1wB,EAAL,gB,EACE,SAAgBA,EAAA,gBAAqB,SAAA0wB,GAC/B,EAAJ,W,EACE,SAAc,CAAEA,a,EAEhB,uB,qBAxBDC,iBAAP,Y,MACS,CAAEC,KAAF,IAAa5gB,IAAb,IAAuBqgB,OAAvB,GAAmCQ,QAAsB,MAAbC,I,2BA6BrDC,6B,KACE,cAEIh8B,KAAJ,kB,KACE,SAAc,CAAE27B,SAAU37B,KAAKi8B,oB,EAInCC,gCACMl8B,KAAJ,W,KACE,W,KACA,c,KACA,wB,EAIJm8B,kB,OAEI,kBAACC,EAAD,UACEj7B,MAAO,CACLk7B,QAASr8B,KAAKiL,MADT,QAEL0wB,SAAU37B,KAAKs8B,MAFV,SAGLC,MAAOb,mBAAwB17B,KAAKs8B,MAAMX,SAHrC,UAILa,cAAex8B,KAAKiL,MAAMuxB,gBAG5B,kBAACC,EAAD,UACEz0B,SAAUhI,KAAKiL,MAAMjD,UADvB,KAEE7G,MAAOnB,KAAKiL,MAAMoxB,Y,EA3DtBX,CAAej2B,IAAMi3B,WCAAj3B,IAAMi3B,U,ICR3BC,c,8FACJX,6BACMh8B,KAAKiL,MAAT,SAAwBjL,KAAKiL,MAAM2xB,QAAQ98B,KAAKE,KAAMA,O,EAGxD68B,+BACM78B,KAAKiL,MAAT,UAAyBjL,KAAKiL,MAAM6xB,SAASh9B,KAAKE,KAAMA,KAAMk0B,I,EAGhEgI,gCACMl8B,KAAKiL,MAAT,WAA0BjL,KAAKiL,MAAM8xB,UAAUj9B,KAAKE,KAAMA,O,EAG5Dm8B,kB,OACE,M,EAdEQ,CAAkBl3B,IAAMi3B,WCA9B,IAAMM,EAAN,GAEIC,EAAJ,EAkBA,SAASC,EAAarB,EAAtB,G,YAA+C,IAAzBA,MAAO,UAAkB,IAAbP,MAAS,IAClCO,UAjBT,SAAqBA,G,GACfmB,EAAJ,GAAiB,OAAOA,EAAP,G,IAEXG,EAAYC,YAAlB,G,OAEIH,EARN,MASID,OACAC,KAGF,EAO6BI,CAAA,EAAAA,CAAA,EAA0B,CAAEC,QAAQ,ICXnE,SAASC,EAAS,G,IAAEC,EAAmC,EAAnCA,cAAe3U,EAAoB,EAApBA,G,IAAIloB,YAAgB,S,OAEnD,kBAACy7B,EAAD,eACG,SAAAr0B,GACC,mB,IAEQs0B,EAA2Bt0B,EAHzB,QAGOy0B,EAAkBz0B,EAHzB,cAKJ+f,EAASnnB,EAAO07B,EAAH,KAAkBA,EAArC,QACMV,EAAW8B,YACfD,EACkB,kBAAP3U,EACLqU,EAAarU,EAAI2U,EADnB,0BAIIzB,SAAUmB,EAAarU,EAAD,SAAc2U,EAAd,UAZtB,G,OAmBV,GACE1V,KACA,MAIA,qBACE8U,QAAS,WACP9U,MAEFgV,SAAU,c,IACFY,EAAeD,YAAevJ,EAApC,IAEGyJ,YAAkBD,EAAc,OAAf,IAAe,CAAf,MAEhB/9B,IAAK+9B,EAAa/9B,QAGpBmoB,MAGJe,GAAIA,OCrDhB,IAAMmU,EAAN,GAEIC,EAAJ,EAuBA,SAASW,EAAU7B,EAAUjmB,QAAc,IAAdA,MAAU,KACd,kBAAZA,GAAwBnU,cAAnC,MACEmU,EAAU,CAAE+lB,KAAM/lB,I,MAFqB,EAKjC+lB,EALiC,O,IAAA,MAK3BgC,OAL2B,S,IAAA,OAKZC,OALY,S,IAAA,UAKIC,OALJ,S,MAO3B,GAAGjP,OAAjB,GAEO,QAAa,c,IACb+M,GAAL,KAAaA,EAAa,OAAO,K,GACjC,EAAa,OAAOmC,E,MAhCxB,c,IACQtI,EAAW,GAAG5f,EAAN,IAAoBA,EAApB,OAAqCA,EAAnD,UACMmoB,EAAYjB,OAAoBA,KAAtC,I,GAEIiB,EAAJ,GAAqB,OAAOA,EAAP,G,IAEf79B,EAAN,GAEM6d,EAAS,CAAEigB,OADFd,IAAavB,EAAMz7B,EAAlC,GACyBA,Q,OAErB68B,EAbN,MAcIgB,OACAhB,KAGF,EAmB2BI,CAAYxB,EAAM,CACzCsC,IADyC,EAEzCL,OAFyC,EAGzCC,cAHMG,EAJ6B,SAIrB99B,EAJqB,OAS/Bm8B,EAAQ2B,OAAd,G,IAEA,EAAY,OAAO,K,IAEZjjB,EAAkBshB,EAbY,GAatB6B,EAAU7B,EAbY,SAc/BT,EAAUC,IAAhB,E,OAEI8B,IAAJ,EAA8B,KAEvB,CACLhC,KADK,EAEL5gB,IAAK4gB,cAAgB5gB,EAAhB4gB,IAFA,EAGLC,QAHK,EAILR,OAAQl7B,EAAA,QAAY,gB,OAClBi+B,EAAK1+B,EAAL0+B,MAAiBD,EAAjBC,GACA,IAFM,OAtBZ,M,ICPIC,c,sFACJnC,kB,kBAEI,kBAACC,EAAD,eACG,YACC,mB,IAEMT,EAAW,kBAAuB5zB,EAAxC,SACMw0B,EAAQ,sBACV,QADU,cAEV,aACAqB,EAAUjC,EAAD,SAAoB,EAD7B,OAEA5zB,EAJJ,MAMMkD,EAAQ,OAAH,IAAG,CAAH,MAAiB0wB,SAAjB,EAA2BY,U,EAEA,EAZ5B,MAYJv0B,EAZI,WAYMowB,EAZN,YAYiB+D,EAZjB,S,OAgBNx6B,kBAxCd,SAAyBqG,G,OACvB,IAAOvC,sBAuCgC84B,CAA/B,KACEv2B,QAIA,kBAACo0B,EAAD,UAAwBj7B,MAAO8J,GAC5BA,QACGjD,EACsB,oBAAbA,EAGHA,EAHJ,GADM,EAMNowB,EACA3yB,oBADS,GAET02B,EACAA,EADM,GATXlxB,KAYuB,oBAAbjD,EAGLA,EAHF,GAdR,U,EAxBJs2B,CAAc74B,IAAMi3B,WCrB1B,SAAS8B,EAAgB3C,G,MAChBA,oBAAgC,IAAvC,EAYF,SAAS4C,EAAcC,EAAU/C,G,IAC/B,EAAe,OAAOA,E,IAEhBgD,EAAOH,EAAb,G,OAEA,IAAI7C,sBAA8CA,E,eAElD,GAEEI,SAAUJ,kBAAyBgD,EAAzBhD,UAId,SAASiD,EAAUjD,G,MACU,kBAAbA,EAAwBA,EAAWkD,YAAjD,GAGF,SAASC,EAAcC,G,OACd,WACLC,iBAIJ,SAASC,KAQkBx5B,IAAMi3B,U,ICzC3BwC,c,sFACJ/C,kB,kBAEI,kBAACC,EAAD,eACG,SAAAr0B,GACC,mB,IAIA,EALU,EAGJ4zB,EAAW,kBAAuB5zB,EAAxC,S,OAQAtC,qBAAuB,QAAvBA,UAA4C,SAAAmpB,G,GACtC2N,SAAiB92B,mBAArB,GAAkD,CAChD05B,I,IAEMtD,EAAOjN,cAAoBA,QAAjC,KAEA2N,EAAQV,EACJ+B,EAAUjC,EAAD,wBAAyB/M,EAAzB,OAAsCiN,UAC/C9zB,EAFJw0B,UAMGA,EACH,mBAA4B,CAAEZ,SAAF,EAAY6B,cAAejB,IAD3D,S,EA3BJ2C,CAAez5B,IAAMi3B,WCJ3B,IAAMn0B,EAAa9C,IAAnB,WAEO,SAAS25B,I,OAQP72B,EAAP,GAGK,SAAS82B,I,OAQP92B,KAAP,SAGK,SAAS+2B,I,IAQR/C,EAAQh0B,KAAd,M,OACOg0B,EAAQA,EAAH,OAAZ,GAGK,SAASgD,EAAc1D,G,IAQtBF,EAAW0D,IACX9C,EAAQh0B,KAAd,M,OACOszB,EAAO+B,EAAUjC,EAAD,SAAZ,GAAX,I,cC/CF38B,EAAOC,QANP,SAAgCiC,GAC9B,OAAOA,GAAOA,EAAIs+B,WAAat+B,EAAM,CACnC,QAAWA,IAKflC,EAAOC,QAAiB,QAAID,EAAOC,QAASD,EAAOC,QAAQugC,YAAa,G,6BCFxE,IAAIC,EAAU,CAIZC,UAAW,EAKXC,UAAW,EAKXC,IAAK,EAKLC,WAAY,GAKZC,MAAO,GAKPC,MAAO,GAKPC,KAAM,GAKNC,IAAK,GAKLC,MAAO,GAKPC,UAAW,GAKXC,IAAK,GAKLC,MAAO,GAKPC,QAAS,GAKTC,UAAW,GAKXC,IAAK,GAKLC,KAAM,GAKNC,KAAM,GAKNC,GAAI,GAKJC,MAAO,GAKPC,KAAM,GAKNC,aAAc,GAKdC,OAAQ,GAKRC,OAAQ,GAKRC,KAAM,GAKNC,IAAK,GAKLC,IAAK,GAKLC,MAAO,GAKPC,KAAM,GAKNC,KAAM,GAKNC,IAAK,GAKLC,MAAO,GAKPC,MAAO,GAKPC,KAAM,GAKNC,cAAe,GAKfC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,EAAG,GAKHC,KAAM,GAKNC,cAAe,GAKfC,aAAc,GAKdC,SAAU,GAKVC,QAAS,GAKTC,QAAS,GAKTC,UAAW,GAKXC,SAAU,IAKVC,SAAU,IAKVC,QAAS,IAKTC,UAAW,IAKXC,UAAW,IAKXC,SAAU,IAKVC,aAAc,IAKdC,SAAU,IAKVC,UAAW,IAKXC,WAAY,IAKZC,aAAc,IAKdC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,GAAI,IAKJC,IAAK,IAKLC,IAAK,IAKLC,IAAK,IAKLC,QAAS,IAKTC,UAAW,IAKXC,KAAM,IAKNC,OAAQ,IAKRC,MAAO,IAKPC,OAAQ,IAKRC,MAAO,IAKPC,WAAY,IAKZC,aAAc,IAKdC,oBAAqB,IAKrBC,UAAW,IAKXC,qBAAsB,IAKtBC,QAAS,IAKTC,YAAa,IAKbC,QAAS,IAMTC,wBAAyB,SAAiC3jC,GACxD,IAAI4jC,EAAU5jC,EAAE4jC,QAEhB,GAAI5jC,EAAE6jC,SAAW7jC,EAAE8jC,SAAW9jC,EAAE+jC,SAAWH,GAAW3G,EAAQ+E,IAAM4B,GAAW3G,EAAQ0F,IACrF,OAAO,EAKT,OAAQiB,GACN,KAAK3G,EAAQQ,IACb,KAAKR,EAAQU,UACb,KAAKV,EAAQ+D,aACb,KAAK/D,EAAQO,KACb,KAAKP,EAAQoB,KACb,KAAKpB,EAAQe,IACb,KAAKf,EAAQW,IACb,KAAKX,EAAQgB,KACb,KAAKhB,EAAQsB,OACb,KAAKtB,EAAQiB,KACb,KAAKjB,EAAQwG,YACb,KAAKxG,EAAQ6D,KACb,KAAK7D,EAAQ2F,QACb,KAAK3F,EAAQI,WACb,KAAKJ,EAAQc,UACb,KAAKd,EAAQa,QACb,KAAKb,EAAQS,MACb,KAAKT,EAAQqB,aACb,KAAKrB,EAAQmB,MACb,KAAKnB,EAAQM,MACb,KAAKN,EAAQkB,GACb,KAAKlB,EAAQuG,QACb,KAAKvG,EAAQ8D,cACX,OAAO,EAET,QACE,OAAO,IAObiD,eAAgB,SAAwBJ,GACtC,GAAIA,GAAW3G,EAAQwB,MAAQmF,GAAW3G,EAAQiC,KAChD,OAAO,EAGT,GAAI0E,GAAW3G,EAAQgE,UAAY2C,GAAW3G,EAAQ0E,aACpD,OAAO,EAGT,GAAIiC,GAAW3G,EAAQmC,GAAKwE,GAAW3G,EAAQ4D,EAC7C,OAAO,EAIT,IAAsD,IAAlD77B,OAAOi/B,UAAUC,UAAUjkC,QAAQ,WAAgC,IAAZ2jC,EACzD,OAAO,EAGT,OAAQA,GACN,KAAK3G,EAAQY,MACb,KAAKZ,EAAQkC,cACb,KAAKlC,EAAQ2E,SACb,KAAK3E,EAAQ4E,UACb,KAAK5E,EAAQ6E,WACb,KAAK7E,EAAQ8E,aACb,KAAK9E,EAAQ4F,UACb,KAAK5F,EAAQ6F,KACb,KAAK7F,EAAQ8F,OACb,KAAK9F,EAAQ+F,MACb,KAAK/F,EAAQgG,OACb,KAAKhG,EAAQiG,MACb,KAAKjG,EAAQkG,WACb,KAAKlG,EAAQmG,aACb,KAAKnG,EAAQoG,oBACb,KAAKpG,EAAQqG,UACb,KAAKrG,EAAQsG,qBACX,OAAO,EAET,QACE,OAAO,KAIAtG,O,4KCpmBTkH,c,wIACJtK,QAAUuK,YAAc,EAAD,O,sCAEvBzK,kB,OACS,uBAAQE,QAASr8B,KAAjB,QAA+BgI,SAAUhI,KAAKiL,MAAMjD,Y,EAJzD2+B,CAAsBlhC,IAAMi3B,WCATj3B,IAAMi3B,UCPxB,IAAMmK,EAAoB,SAAChe,EAAIie,G,MACtB,oBAAPje,EAAoBA,EAA3B,GAD+B,GAGpBke,EAAsB,SAACle,EAAIie,G,MACjB,kBAAPje,EACV4U,YAAe5U,EAAI,KAAM,KADtB,GAAP,GCKIme,EAAiB,SAAAlF,G,OAAC,GAClBmF,EAAexhC,IAAfwhC,WACN,qBAAWA,IACTA,KAOF,IAAMC,EAAaD,GACjB,c,IAEIE,EAMC,EANDA,SACAC,EAKC,EALDA,SACA1X,EAIC,EAJDA,QACG2X,EAGF,iDACK/nC,EAAW+nC,EADhB,OAGCp8B,EAAQ,OAAH,IAAG,CAAH,MAEPykB,QAAS,SAAA4X,G,IAEL,GAAa5X,KACb,MAAO6X,G,MACPD,mBACA,EAICA,EAAD,sBACAA,UACC,GAFD,UAEYhoC,GA7BtB,SAAyBgoC,G,SACbA,WAAiBA,EAAjBA,QAAiCA,EAAjCA,SAAkDA,EAA5D,UA6BSE,CAJH,KAMEF,mBACAF,Q,OAOJn8B,MADE+7B,IAAJ,GACcS,GAEZx8B,EAIK,sBAAP,MAWJ,IAAMy8B,EAAOT,GACX,c,QAEI7O,iBAOC,MAPW8O,EAOX,EAND7N,EAMC,EANDA,QACAxQ,EAKC,EALDA,GACAse,EAIC,EAJDA,SACGE,EAGF,uD,OAED,kBAACjL,IAAD,eACG,SAAAr0B,GACC,mB,IAEQs0B,EAAYt0B,EAHV,QAKJ4zB,EAAWoL,EACfF,EAAkBhe,EAAI9gB,EADY,UAElCA,EAFF,UAKM4/B,EAAOhM,EAAWU,aAAH,GAArB,GACMpxB,EAAQ,OAAH,IAAG,CAAH,MAET08B,KAFS,EAGTP,SAHS,W,IAIDzL,EAAWkL,EAAkBhe,EAAI9gB,EAAvC,UACM6/B,EAAwB/I,YAAW92B,EAAX82B,YAAiCA,YAAWkI,EAA1E,KACgB1N,GAAD,EAAqCgD,EAArC,QAAuDA,EAAtE,MAEAvU,M,OAKAkf,IAAJ,EACE/7B,MAAYw8B,GAAZx8B,EAEAA,aAGKxF,oBAAP,SC1GJuhC,EAAiB,SAAAlF,G,OAAC,GAClBmF,EAAexhC,IAAfwhC,WACN,qBAAW,IACTA,KAUcA,GACd,c,QAEI,gBAAgBY,OAef,MAf6B,OAe7B,E,IAdDC,uBAcC,MAdiB,SAcjB,EAbDC,EAaC,EAbDA,YACWC,EAYV,EAZD7vB,UACA0lB,EAWC,EAXDA,MACUoK,EAUT,EAVDC,SACUC,EAST,EATDxM,SACAoC,EAQC,EARDA,UACAD,EAOC,EAPDA,OACOsK,EAMN,EAND7hB,MACAsC,EAKC,EALDA,GACAse,EAIC,EAJDA,SACGE,EAGF,uJ,OAED,kBAACjL,IAAD,eACG,SAAAr0B,GACC,mB,IAEM++B,EAAkBqB,GAAgBpgC,EAAxC,SACMsgC,EAAatB,EACjBF,EAAkBhe,EADkB,GAAtC,GAIkBgT,EAASwM,EARjB,SAUJC,EACJzM,GAAQA,sCADV,QAGMU,EAAQ+L,EACV1K,YAAUkJ,EAAD,SAA2B,CAClCjL,KADkC,EAElCgC,MAFkC,EAGlCE,UAHkC,EAIlCD,WALN,KAQMoK,KAAcD,EAChBA,EAAa1L,EADe,GAAhC,GAIIpkB,EACuB,oBAAlB6vB,EACHA,EADJ,GADF,EAKIzhB,EACmB,oBAAd6hB,EAA2BA,EAAlC,GADF,EAGA,IACEjwB,EA9DZ,W,2BAA2BowB,EAAY,yBAAZA,EAAY,gB,OAC9BA,EAAA,QAAkB,SAAAhpC,G,OAAC,KAAnB,KAAP,KA6DsBipC,CAAerwB,EAA3BA,GACAoO,EAAQ,OAAH,IAAG,CAAH,KAALA,I,IAGItb,EAAQ,OAAH,IAAG,CAAH,C,eACQi9B,GAAD,GADP,KAET/vB,UAFS,EAGToO,MAHS,EAITsC,GAAIwf,GA1CI,G,OA+CNrB,IAAJ,EACE/7B,MAAYw8B,GAAZx8B,EAEAA,aAGK,oBAAP,U,6BClGV,YAEgB,aAAU0c,EAAOyQ,EAAWpuB,GAC1CgqB,YAAWrM,EAAO,UAAUmH,OAAOsJ,EAAW,MAAMtJ,OAAO9kB,M,6BCH7D,iHACIy+B,EAAiBhjC,iBAEd,SAASijC,EAAevJ,EAASwJ,EAAa19B,GACnD,OAAKw9B,EAAetJ,GACA15B,eAAmB05B,EAA0B,oBAAVl0B,EAAuBA,EAAMk0B,EAAQl0B,OAAS,IAAMA,GADtE09B,EAGhC,SAASC,EAAazJ,EAASl0B,GACpC,OAAOy9B,EAAevJ,EAASA,EAASl0B,K,8BCR1C,sGAgBA,IAAI3J,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBlC,OAAOqC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAII,KAAKJ,EAAOpC,OAAOQ,UAAUC,eAAeC,KAAK0B,EAAGI,KAAIL,EAAEK,GAAKJ,EAAEI,KACzFN,EAAcC,EAAGC,IAGrB,SAASK,EAAUN,EAAGC,GACzB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIM,UAAU,uBAAyBC,OAAOP,GAAK,iCAE7D,SAASQ,IAAOhC,KAAKiC,YAAcV,EADnCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAapC,OAAO8C,OAAOV,IAAMQ,EAAGpC,UAAY4B,EAAE5B,UAAW,IAAIoC,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAW/C,OAAOC,QAAU,SAAkB+C,GAC1C,IAAK,IAAIC,EAAG9C,EAAI,EAAG+C,EAAI9C,UAAUC,OAAQF,EAAI+C,EAAG/C,IAE5C,IAAK,IAAIqC,KADTS,EAAI7C,UAAUD,GACOH,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,KAAIQ,EAAER,GAAKS,EAAET,IAE9E,OAAOQ,GAEJD,EAASpC,MAAMC,KAAMR,YAGzB,SAAS+C,EAAOF,EAAGG,GACtB,IAAIJ,EAAI,GACR,IAAK,IAAIR,KAAKS,EAAOjD,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,IAAMY,EAAEC,QAAQb,GAAK,IAC9EQ,EAAER,GAAKS,EAAET,IACb,GAAS,MAALS,GAAqD,oBAAjCjD,OAAOiB,sBACtB,KAAId,EAAI,EAAb,IAAgBqC,EAAIxC,OAAOiB,sBAAsBgC,GAAI9C,EAAIqC,EAAEnC,OAAQF,IAC3DiD,EAAEC,QAAQb,EAAErC,IAAM,GAAKH,OAAOQ,UAAU8C,qBAAqB5C,KAAKuC,EAAGT,EAAErC,MACvE6C,EAAER,EAAErC,IAAM8C,EAAET,EAAErC,KAE1B,OAAO6C,EAwDkBhD,OAAO8C,OAsGX9C,OAAO8C,Q,6BCjNhC,+CAEI2mC,OAA8BxhC,EAKlC,IACEwhC,EAAUrhC,OACV,MAAOhF,IAYH,SAAUwZ,EAAU8sB,GACxB,IAAI,KAA6B,qBAAZD,EAArB,CAGE,IAAMlwB,EAAKmwB,EAEX,OAAOnwB,GAAMA,EAAGowB,eAAiBpwB,EAAGowB,cAAcC,YAAcrwB,EAAGowB,cAAcC,YAAcH,K,6BC3BnG,kCAAO,IAAMI,EAAkB,CAI7BC,YAAa,EAKbC,UAAW,EAKXC,aAAc,EAMdC,YAAa,EAKbC,eAAgB,EAKhBC,aAAc,EAKdC,gBAAiB,EAMjBC,eAAgB,EAKhBC,YAAa,EAKbC,WAAY,EAKZC,eAAgB,GAKhBC,aAAc,GAKdC,YAAa,GAKbC,gBAAiB,K,6BCYnB,IAAYC,EA4CAC,EAeAC,EA/DZ,sGAIA,SAAYF,GAIV,uBAOA,yBAMA,qBAMA,mBAOA,iCAOA,qCArCF,CAAYA,MAAQ,KA4CpB,SAAYC,GAIV,6BAKA,2BATF,CAAYA,MAAe,KAe3B,SAAYC,GAIV,6BAKA,uBAKA,qBAKA,iCAnBF,CAAYA,MAAc,M,6BC9I1B,0KAgBA,IAAI5oC,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBlC,OAAOqC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUJ,EAAGC,GAAKD,EAAEG,UAAYF,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAII,KAAKJ,EAAOA,EAAE3B,eAAe+B,KAAIL,EAAEK,GAAKJ,EAAEI,KAClEN,EAAcC,EAAGC,IAGrB,SAASK,EAAUN,EAAGC,GAEzB,SAASQ,IAAOhC,KAAKiC,YAAcV,EADnCD,EAAcC,EAAGC,GAEjBD,EAAE3B,UAAkB,OAAN4B,EAAapC,OAAO8C,OAAOV,IAAMQ,EAAGpC,UAAY4B,EAAE5B,UAAW,IAAIoC,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAW/C,OAAOC,QAAU,SAAkB+C,GAC1C,IAAK,IAAIC,EAAG9C,EAAI,EAAG+C,EAAI9C,UAAUC,OAAQF,EAAI+C,EAAG/C,IAE5C,IAAK,IAAIqC,KADTS,EAAI7C,UAAUD,GACOH,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,KAAIQ,EAAER,GAAKS,EAAET,IAE9E,OAAOQ,GAEJD,EAASpC,MAAMC,KAAMR,YAGzB,SAAS+C,EAAOF,EAAGG,GACtB,IAAIJ,EAAI,GACR,IAAK,IAAIR,KAAKS,EAAOjD,OAAOQ,UAAUC,eAAeC,KAAKuC,EAAGT,IAAMY,EAAEC,QAAQb,GAAK,IAC9EQ,EAAER,GAAKS,EAAET,IACb,GAAS,MAALS,GAAqD,oBAAjCjD,OAAOiB,sBACtB,KAAId,EAAI,EAAb,IAAgBqC,EAAIxC,OAAOiB,sBAAsBgC,GAAI9C,EAAIqC,EAAEnC,OAAQF,IAC3DiD,EAAEC,QAAQb,EAAErC,IAAM,GAAKH,OAAOQ,UAAU8C,qBAAqB5C,KAAKuC,EAAGT,EAAErC,MACvE6C,EAAER,EAAErC,IAAM8C,EAAET,EAAErC,KAE1B,OAAO6C,EAGJ,SAASO,EAAWC,EAAYtD,EAAQK,EAAKkD,GAChD,IAA2HtB,EAAvHuB,EAAItD,UAAUC,OAAQsD,EAAID,EAAI,EAAIxD,EAAkB,OAATuD,EAAgBA,EAAOzD,OAAOqB,yBAAyBnB,EAAQK,GAAOkD,EACrH,GAAuB,kBAAZG,SAAoD,oBAArBA,QAAQC,SAAyBF,EAAIC,QAAQC,SAASL,EAAYtD,EAAQK,EAAKkD,QACpH,IAAK,IAAItD,EAAIqD,EAAWnD,OAAS,EAAGF,GAAK,EAAGA,KAASgC,EAAIqB,EAAWrD,MAAIwD,GAAKD,EAAI,EAAIvB,EAAEwB,GAAKD,EAAI,EAAIvB,EAAEjC,EAAQK,EAAKoD,GAAKxB,EAAEjC,EAAQK,KAASoD,GAChJ,OAAOD,EAAI,GAAKC,GAAK3D,OAAO4B,eAAe1B,EAAQK,EAAKoD,GAAIA,EA6FzD,SAASG,IACZ,IAAK,IAAIb,EAAI,EAAG9C,EAAI,EAAG4D,EAAK3D,UAAUC,OAAQF,EAAI4D,EAAI5D,IAAK8C,GAAK7C,UAAUD,GAAGE,OACxE,IAAIsD,EAAIpB,MAAMU,GAAIe,EAAI,EAA3B,IAA8B7D,EAAI,EAAGA,EAAI4D,EAAI5D,IACzC,IAAK,IAAI8D,EAAI7D,UAAUD,GAAI+D,EAAI,EAAGC,EAAKF,EAAE5D,OAAQ6D,EAAIC,EAAID,IAAKF,IAC1DL,EAAEK,GAAKC,EAAEC,GACjB,OAAOP,I,8BC1JI,SAASikB,EAAe3jB,GACrC,OAAY,MAALA,GAA0B,kBAANA,IAAoD,IAAlCA,EAAE,4BADjD,mC,6BCAA,kxBAAM8mC,EAAc,W,IAAC,sDAGnB,IAFA,IAAMlsB,EAAiC,GAEpB,MAAAmsB,EAAA,eAGjB,IAHG,IAAMC,EAAI,KACPjqC,EAAOuB,MAAMkC,QAAQwmC,GAAQA,EAAOjrC,OAAOgB,KAAKiqC,GAEpC,MAAAjqC,EAAA,eAAM,CAAnB,IAAMT,EAAG,KACZse,EAAOte,GAAO,EAIlB,OAAOse,GAQIqsB,EAAoBH,EAAY,CAC3C,SACA,QACA,UACA,mBACA,qBACA,sBACA,UACA,iBACA,SACA,gBACA,WACA,UACA,WACA,SACA,UACA,YACA,mBACA,aACA,UACA,UACA,YACA,mBACA,mBACA,YACA,cACA,UACA,eACA,mBACA,cACA,UACA,SACA,YACA,aACA,eACA,WACA,YACA,YACA,YACA,eACA,iBACA,YACA,UACA,iBACA,gBACA,gBACA,SACA,YACA,cACA,aACA,cACA,aACA,cACA,SACA,cACA,qBACA,eACA,eACA,cACA,aACA,cACA,YACA,mBACA,WACA,gBACA,aACA,cACA,eACA,WACA,UACA,kBACA,gBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,sBACA,yBAQWI,EAAwBJ,EAAY,CAC/C,YACA,WACA,YACA,kBACA,MACA,YACA,SACA,UACA,KACA,OACA,MACA,OACA,QACA,WACA,QACA,YACA,aACA,SAQWK,EAAwBL,EAAYI,EAAuBD,GAO3DG,EAAkBN,EAAYK,EAAuB,CAChE,SAQWE,EAAkBP,EAAYK,EAAuB,CAChE,SACA,OACA,QACA,UACA,MACA,UAQWG,EAAkBR,EAAYO,EAAiB,CAC1D,WAQWE,EAAeT,EAAYK,EAAuB,CAC7D,UAQWK,EAAeV,EAAYK,EAAuB,CAC7D,UAQWM,EAAmBX,EAAYK,EAAuB,CACjE,WACA,OACA,WACA,QACA,MACA,SACA,SAQWO,EAAmBZ,EAAYK,EAAuB,CACjE,YACA,WACA,OACA,aACA,cACA,aACA,iBACA,aACA,OACA,UAQWQ,EAAkBb,EAAYY,EAAkB,CAC3D,SACA,MACA,iBACA,eACA,UACA,UACA,OACA,SACA,YACA,OACA,MACA,YACA,MACA,WACA,UACA,cACA,WACA,WACA,MACA,OACA,OACA,OACA,QACA,UAQWE,EAAqBd,EAAYY,EAAkB,CAC9D,iBACA,OACA,UACA,OACA,YACA,cACA,WACA,WACA,OACA,SAQWG,EAAmBf,EAAYY,EAAkB,CAC5D,OACA,WACA,aAGWI,EAAmBhB,EAAYK,EAAuB,CACjE,WACA,UAQWY,EA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","file":"static/js/6.d0ee06be.chunk.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","import * as React from 'react';\nimport { ImageLoadState } from '../../Image';\nimport type { IRefObject, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport type { IStyle, ITheme } from '../../Styling';\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersona {}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaSharedProps extends React.HTMLAttributes, React.RefAttributes {\n /**\n * Primary text to display, usually the name of the person.\n */\n text?: string;\n\n /**\n * Decides the size of the control.\n * @defaultvalue PersonaSize.size48\n */\n size?: PersonaSize;\n\n /**\n * Optional custom renderer for the coin\n * @deprecated Use `onRenderPersonaCoin` for custom rendering instead\n */\n onRenderCoin?: IRenderFunction;\n\n /**\n * Optional custom renderer for the coin\n */\n onRenderPersonaCoin?: IRenderFunction;\n\n /**\n * If true, adds the css class 'is-fadeIn' to the image.\n */\n imageShouldFadeIn?: boolean;\n\n /**\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\n * it is successfully loaded. This disables imageShouldFadeIn.\n * @defaultvalue false\n */\n imageShouldStartVisible?: boolean;\n\n /**\n * Url to the image to use, should be a square aspect ratio and big enough to fit in the image area.\n */\n imageUrl?: string;\n\n /**\n * Alt text for the image to use.\n * @default `''` (empty string)\n */\n imageAlt?: string;\n\n /**\n * The user's initials to display in the image area when there is no image.\n * @defaultvalue Derived from `text`\n */\n imageInitials?: string;\n\n /**\n * Whether initials are calculated for phone numbers and number sequences.\n * Example: Set property to true to get initials for project names consisting of numbers only.\n * @defaultvalue false\n */\n allowPhoneInitials?: boolean;\n\n /**\n * Optional custom renderer for the initials\n */\n onRenderInitials?: IRenderFunction;\n\n /**\n * Optional callback for when loading state of the photo changes\n */\n onPhotoLoadingStateChange?: (newImageLoadState: ImageLoadState) => void;\n\n /**\n * The background color when the user's initials are displayed.\n * @defaultvalue Derived from `text`\n */\n initialsColor?: PersonaInitialsColor | string;\n\n /**\n * The text color when the user's initials are displayed\n */\n initialsTextColor?: string;\n\n /** The colors to be used for the presence-icon and it's background */\n presenceColors?: {\n available: string;\n away: string;\n busy: string;\n dnd: string;\n offline: string;\n oof: string;\n background: string;\n };\n\n /**\n * Presence of the person to display - will not display presence if undefined.\n * @defaultvalue PersonaPresence.none\n */\n presence?: PersonaPresence;\n\n /**\n * Presence title to be shown as a tooltip on hover over the presence icon.\n */\n presenceTitle?: string;\n\n /**\n * This flag can be used to signal the persona is out of office.\n * This will change the way the presence icon looks for statuses that support dual-presence.\n */\n isOutOfOffice?: boolean;\n\n /**\n * Secondary text to display, usually the role of the user.\n */\n secondaryText?: string;\n\n /**\n * Controls whether clipped overflow text should render in a tooltip\n * @defaultvalue true\n */\n showOverflowTooltip?: boolean;\n\n /**\n * Tertiary text to display, usually the status of the user.\n * The tertiary text will only be shown when using size72 or size100.\n */\n tertiaryText?: string;\n\n /**\n * Optional text to display, usually a custom message set. The optional text will only be shown when using size100.\n */\n optionalText?: string;\n\n /**\n * Whether to not render persona details, and just render the persona image/initials.\n */\n hidePersonaDetails?: boolean;\n\n /*\n * If true, show the secondary text line regardless of the size of the persona\n */\n showSecondaryText?: boolean;\n\n /**\n * If true, show the special coin for unknown persona.\n * It has '?' in place of initials, with static font and background colors\n */\n showUnknownPersonaCoin?: boolean;\n\n /**\n * If true renders the initials while the image is loading.\n * This only applies when an imageUrl is provided.\n * @defaultvalue false\n */\n showInitialsUntilImageLoads?: boolean;\n\n /**\n * Optional custom persona coin size in pixel.\n */\n coinSize?: number;\n\n /**\n * Optional HTML element props for Persona coin.\n */\n coinProps?: IPersonaCoinProps;\n\n /**\n * Theme provided by High-Order Component.\n */\n theme?: ITheme;\n\n /**\n * Primary text to display, usually the name of the person.\n * @deprecated Use `text` instead.\n */\n primaryText?: string;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaProps extends IPersonaSharedProps {\n /**\n * Optional callback to access the IPersona interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Additional CSS class(es) to apply to the Persona\n */\n className?: string;\n\n /**\n * Call to provide customized styling that will layer on top of variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Optional custom renderer for the primary text.\n */\n onRenderPrimaryText?: IRenderFunction;\n\n /**\n * Optional custom renderer for the secondary text.\n */\n onRenderSecondaryText?: IRenderFunction;\n\n /**\n * Optional custom renderer for the tertiary text.\n */\n onRenderTertiaryText?: IRenderFunction;\n\n /**\n * Optional custom renderer for the optional text.\n */\n onRenderOptionalText?: IRenderFunction;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Custom class name.\n */\n className?: string;\n\n /**\n * Optional custom persona coin size in pixel.\n */\n coinSize?: number;\n\n /**\n * Decides the size of the control.\n * @defaultvalue PersonaSize.size48\n */\n size?: PersonaSize;\n\n /**\n * Presence of the person to display - will not display presence if undefined.\n * @defaultvalue PersonaPresence.none\n */\n presence?: PersonaPresence;\n\n /*\n * If true, show the secondary text line regardless of the size of the persona\n */\n showSecondaryText?: boolean;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaStyles {\n root: IStyle;\n details: IStyle;\n primaryText: IStyle;\n secondaryText: IStyle;\n tertiaryText: IStyle;\n optionalText: IStyle;\n textContent: IStyle;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaCoinProps extends IPersonaSharedProps {\n /**\n * Gets the component ref.\n */\n componentRef?: IRefObject<{}>;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Additional css class to apply to the PersonaCoin\n * @defaultvalue undefined\n */\n className?: string;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaCoinStyleProps {\n /**\n * Theme provided by High-Order Component.\n */\n theme: ITheme;\n\n /**\n * Custom class name.\n */\n className?: string;\n\n /**\n * Decides the size of the control.\n * @defaultvalue PersonaSize.size48\n */\n size?: PersonaSize;\n\n /**\n * Optional custom persona coin size in pixel.\n */\n coinSize?: number;\n\n /**\n * Decides whether to display coin for unknown persona\n */\n showUnknownPersonaCoin?: boolean;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaCoinStyles {\n coin: IStyle;\n imageArea: IStyle;\n image: IStyle;\n initials: IStyle;\n size10WithoutPresenceIcon: IStyle;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaPresenceProps extends IPersonaSharedProps {\n /**\n * Gets the component ref.\n */\n componentRef?: IRefObject<{}>;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport type IPersonaPresenceStyleProps = Required> &\n Pick &\n Pick;\n\n/**\n * {@docCategory Persona}\n */\nexport interface IPersonaPresenceStyles {\n presence: IStyle;\n presenceIcon: IStyle;\n}\n\n/**\n * {@docCategory Persona}\n */\nexport enum PersonaSize {\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size8` instead.\n */\n tiny = 0,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size24` instead.\n */\n extraExtraSmall = 1,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size32` instead.\n */\n extraSmall = 2,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size40` instead.\n */\n small = 3,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size48` instead.\n */\n regular = 4,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size72` instead.\n */\n large = 5,\n\n /**\n * Deprecated in favor of standardized numeric sizing.\n * @deprecated Use `size100` instead.\n */\n extraLarge = 6,\n\n /**\n * No `PersonaCoin` is rendered.\n */\n size8 = 17,\n\n /**\n * No `PersonaCoin` is rendered. Deprecated to align with design specifications.\n * @deprecated Use `size8` instead.\n */\n size10 = 9,\n\n /**\n * Renders a 16px `PersonaCoin`.\n * @deprecated Deprecated due to not being in the design specification.\n */\n size16 = 8,\n\n /**\n * Renders a 24px `PersonaCoin`.\n */\n size24 = 10,\n\n /**\n * Renders a 28px `PersonaCoin`.\n * @deprecated Deprecated due to not being in the design specification.\n */\n size28 = 7,\n\n /**\n * Renders a 32px `PersonaCoin`.\n */\n size32 = 11,\n\n /**\n * Renders a 40px `PersonaCoin`.\n */\n size40 = 12,\n\n /**\n * Renders a 48px `PersonaCoin`.\n */\n size48 = 13,\n\n /**\n * Renders a 56px `PersonaCoin`.\n */\n size56 = 16,\n\n /**\n * Renders a 72px `PersonaCoin`.\n */\n size72 = 14,\n\n /**\n * Renders a 100px `PersonaCoin`.\n */\n size100 = 15,\n\n /**\n * Renders a 120px `PersonaCoin`.\n */\n size120 = 18,\n}\n\n/**\n * {@docCategory Persona}\n */\nexport enum PersonaPresence {\n none = 0,\n offline = 1,\n online = 2,\n away = 3,\n dnd = 4,\n blocked = 5,\n busy = 6,\n}\n\n/**\n * {@docCategory Persona}\n */\nexport enum PersonaInitialsColor {\n lightBlue = 0,\n blue = 1,\n darkBlue = 2,\n teal = 3,\n lightGreen = 4,\n green = 5,\n darkGreen = 6,\n lightPink = 7,\n pink = 8,\n magenta = 9,\n purple = 10,\n /**\n * @deprecated `black` is a color that can result in offensive persona coins with some initials combinations,\n * so it can only be set with overrides. Will be removed in a future major release.\n */\n black = 11,\n orange = 12,\n /**\n * @deprecated `red` is a color that often has a special meaning, so it is considered a reserved color and\n * can only be set with overrides. Will be removed in a future major release.\n */\n red = 13,\n darkRed = 14,\n /**\n * Transparent is not intended to be used with typical initials due to accessibility issues.\n * Its primary use is for overflow buttons, so it is considered a reserved color and can only be set with overrides.\n */\n transparent = 15,\n violet = 16,\n lightRed = 17,\n gold = 18,\n burgundy = 19,\n warmGray = 20,\n coolGray = 21,\n /**\n * `gray` is a color that can result in offensive persona coins with some initials combinations,\n * so it can only be set with overrides.\n */\n gray = 22,\n cyan = 23,\n rust = 24,\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArrayLimit from \"@babel/runtime/helpers/esm/iterableToArrayLimit\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import arrayWithoutHoles from \"@babel/runtime/helpers/esm/arrayWithoutHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableSpread from \"@babel/runtime/helpers/esm/nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import { IAnimationStyles, IAnimationVariables } from '../types/IAnimationStyles';\nimport { IRawStyle, keyframes } from '@uifabric/merge-styles';\n\n/* Register the keyframes */\n\nconst EASING_FUNCTION_1 = 'cubic-bezier(.1,.9,.2,1)';\nconst EASING_FUNCTION_2 = 'cubic-bezier(.1,.25,.75,.9)';\nconst DURATION_1 = '0.167s';\nconst DURATION_2 = '0.267s';\nconst DURATION_3 = '0.367s';\nconst DURATION_4 = '0.467s';\n\nconst FADE_IN: string = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n});\n\nconst FADE_OUT: string = keyframes({\n from: { opacity: 1 },\n to: { opacity: 0, visibility: 'hidden' },\n});\n\nconst SLIDE_RIGHT_IN10: string = _createSlideInX(-10);\nconst SLIDE_RIGHT_IN20: string = _createSlideInX(-20);\nconst SLIDE_RIGHT_IN40: string = _createSlideInX(-40);\nconst SLIDE_RIGHT_IN400: string = _createSlideInX(-400);\nconst SLIDE_LEFT_IN10: string = _createSlideInX(10);\nconst SLIDE_LEFT_IN20: string = _createSlideInX(20);\nconst SLIDE_LEFT_IN40: string = _createSlideInX(40);\nconst SLIDE_LEFT_IN400: string = _createSlideInX(400);\nconst SLIDE_UP_IN10: string = _createSlideInY(10);\nconst SLIDE_UP_IN20: string = _createSlideInY(20);\nconst SLIDE_DOWN_IN10: string = _createSlideInY(-10);\nconst SLIDE_DOWN_IN20: string = _createSlideInY(-20);\n\nconst SLIDE_RIGHT_OUT10: string = _createSlideOutX(10);\nconst SLIDE_RIGHT_OUT20: string = _createSlideOutX(20);\nconst SLIDE_RIGHT_OUT40: string = _createSlideOutX(40);\nconst SLIDE_RIGHT_OUT400: string = _createSlideOutX(400);\nconst SLIDE_LEFT_OUT10: string = _createSlideOutX(-10);\nconst SLIDE_LEFT_OUT20: string = _createSlideOutX(-20);\nconst SLIDE_LEFT_OUT40: string = _createSlideOutX(-40);\nconst SLIDE_LEFT_OUT400: string = _createSlideOutX(-400);\nconst SLIDE_UP_OUT10: string = _createSlideOutY(-10);\nconst SLIDE_UP_OUT20: string = _createSlideOutY(-20);\nconst SLIDE_DOWN_OUT10: string = _createSlideOutY(10);\nconst SLIDE_DOWN_OUT20: string = _createSlideOutY(20);\n\nconst SCALE_UP100: string = keyframes({\n from: { transform: 'scale3d(.98,.98,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\n\nconst SCALE_DOWN98: string = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(.98,.98,1)' },\n});\n\nconst SCALE_DOWN100: string = keyframes({\n from: { transform: 'scale3d(1.03,1.03,1)' },\n to: { transform: 'scale3d(1,1,1)' },\n});\n\nconst SCALE_UP103: string = keyframes({\n from: { transform: 'scale3d(1,1,1)' },\n to: { transform: 'scale3d(1.03,1.03,1)' },\n});\n\nconst ROTATE90: string = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(90deg)' },\n});\n\nconst ROTATE_N90: string = keyframes({\n from: { transform: 'rotateZ(0deg)' },\n to: { transform: 'rotateZ(-90deg)' },\n});\n\n/**\n * Exporting raw duraction values and easing functions to be used in custom animations\n */\nexport const AnimationVariables: IAnimationVariables = {\n easeFunction1: EASING_FUNCTION_1,\n easeFunction2: EASING_FUNCTION_2,\n durationValue1: DURATION_1,\n durationValue2: DURATION_2,\n durationValue3: DURATION_3,\n durationValue4: DURATION_4,\n};\n\n/**\n * All Fabric standard animations, exposed as json objects referencing predefined\n * keyframes. These objects can be mixed in with other class definitions.\n */\nexport const AnimationStyles: IAnimationStyles = {\n slideRightIn10: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn20: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn40: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN40}`, DURATION_3, EASING_FUNCTION_1),\n slideRightIn400: _createAnimation(`${FADE_IN},${SLIDE_RIGHT_IN400}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn10: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn20: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn40: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN40}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftIn400: _createAnimation(`${FADE_IN},${SLIDE_LEFT_IN400}`, DURATION_3, EASING_FUNCTION_1),\n slideUpIn10: _createAnimation(`${FADE_IN},${SLIDE_UP_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideUpIn20: _createAnimation(`${FADE_IN},${SLIDE_UP_IN20}`, DURATION_3, EASING_FUNCTION_1),\n slideDownIn10: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN10}`, DURATION_3, EASING_FUNCTION_1),\n slideDownIn20: _createAnimation(`${FADE_IN},${SLIDE_DOWN_IN20}`, DURATION_3, EASING_FUNCTION_1),\n\n slideRightOut10: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut20: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut40: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\n slideRightOut400: _createAnimation(`${FADE_OUT},${SLIDE_RIGHT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut10: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut20: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut40: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT40}`, DURATION_3, EASING_FUNCTION_1),\n slideLeftOut400: _createAnimation(`${FADE_OUT},${SLIDE_LEFT_OUT400}`, DURATION_3, EASING_FUNCTION_1),\n slideUpOut10: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideUpOut20: _createAnimation(`${FADE_OUT},${SLIDE_UP_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n slideDownOut10: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT10}`, DURATION_3, EASING_FUNCTION_1),\n slideDownOut20: _createAnimation(`${FADE_OUT},${SLIDE_DOWN_OUT20}`, DURATION_3, EASING_FUNCTION_1),\n\n scaleUpIn100: _createAnimation(`${FADE_IN},${SCALE_UP100}`, DURATION_3, EASING_FUNCTION_1),\n scaleDownIn100: _createAnimation(`${FADE_IN},${SCALE_DOWN100}`, DURATION_3, EASING_FUNCTION_1),\n scaleUpOut103: _createAnimation(`${FADE_OUT},${SCALE_UP103}`, DURATION_1, EASING_FUNCTION_2),\n scaleDownOut98: _createAnimation(`${FADE_OUT},${SCALE_DOWN98}`, DURATION_1, EASING_FUNCTION_2),\n\n fadeIn100: _createAnimation(FADE_IN, DURATION_1, EASING_FUNCTION_2),\n fadeIn200: _createAnimation(FADE_IN, DURATION_2, EASING_FUNCTION_2),\n fadeIn400: _createAnimation(FADE_IN, DURATION_3, EASING_FUNCTION_2),\n fadeIn500: _createAnimation(FADE_IN, DURATION_4, EASING_FUNCTION_2),\n\n fadeOut100: _createAnimation(FADE_OUT, DURATION_1, EASING_FUNCTION_2),\n fadeOut200: _createAnimation(FADE_OUT, DURATION_2, EASING_FUNCTION_2),\n fadeOut400: _createAnimation(FADE_OUT, DURATION_3, EASING_FUNCTION_2),\n fadeOut500: _createAnimation(FADE_OUT, DURATION_4, EASING_FUNCTION_2),\n\n rotate90deg: _createAnimation(ROTATE90, '0.1s', EASING_FUNCTION_2),\n rotateN90deg: _createAnimation(ROTATE_N90, '0.1s', EASING_FUNCTION_2),\n\n // expandCollapse 100/200/400, delay 100/200\n};\n\nfunction _createAnimation(\n animationName: string,\n animationDuration: string,\n animationTimingFunction: string,\n): IRawStyle {\n return {\n animationName,\n animationDuration,\n animationTimingFunction,\n animationFillMode: 'both',\n };\n}\n\nfunction _createSlideInX(fromX: number): string {\n return keyframes({\n from: { transform: `translate3d(${fromX}px,0,0)`, pointerEvents: 'none' },\n to: { transform: `translate3d(0,0,0)`, pointerEvents: 'auto' },\n });\n}\n\nfunction _createSlideInY(fromY: number): string {\n return keyframes({\n from: { transform: `translate3d(0,${fromY}px,0)`, pointerEvents: 'none' },\n to: { transform: `translate3d(0,0,0)`, pointerEvents: 'auto' },\n });\n}\n\nfunction _createSlideOutX(toX: number): string {\n return keyframes({\n from: { transform: `translate3d(0,0,0)` },\n to: { transform: `translate3d(${toX}px,0,0)` },\n });\n}\n\nfunction _createSlideOutY(toY: number): string {\n return keyframes({\n from: { transform: `translate3d(0,0,0)` },\n to: { transform: `translate3d(0,${toY}px,0)` },\n });\n}\n","import { buildClassMap } from '../utilities/index';\nimport { AnimationStyles } from '../styles/index';\nimport { IAnimationStyles } from '../interfaces/index';\n\n/**\n * {@docCategory AnimationClassNames}\n */\nexport const AnimationClassNames: { [key in keyof IAnimationStyles]?: string } = buildClassMap(AnimationStyles);\n","export namespace Depths {\n export const depth0 = '0 0 0 0 transparent';\n export const depth4 = '0 1.6px 3.6px 0 rgba(0, 0, 0, 0.132), 0 0.3px 0.9px 0 rgba(0, 0, 0, 0.108)';\n export const depth8 = '0 3.2px 7.2px 0 rgba(0, 0, 0, 0.132), 0 0.6px 1.8px 0 rgba(0, 0, 0, 0.108)';\n export const depth16 = '0 6.4px 14.4px 0 rgba(0, 0, 0, 0.132), 0 1.2px 3.6px 0 rgba(0, 0, 0, 0.108)';\n export const depth64 = '0 25.6px 57.6px 0 rgba(0, 0, 0, 0.22), 0 4.8px 14.4px 0 rgba(0, 0, 0, 0.18)';\n}\n","import { mergeStyles } from '../MergeStyles';\n\n/**\n * Builds a class names object from a given map.\n *\n * @param styles - Map of unprocessed styles.\n * @returns Map of property name to class name.\n */\nexport function buildClassMap(styles: T): { [key in keyof T]?: string } {\n let classes: { [key in keyof T]?: string } = {};\n\n for (let styleName in styles) {\n if (styles.hasOwnProperty(styleName)) {\n let className: string;\n\n Object.defineProperty(classes, styleName, {\n get: (): string => {\n if (className === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n className = mergeStyles(styles[styleName] as any).toString();\n }\n return className;\n },\n enumerable: true,\n configurable: true,\n });\n }\n }\n\n return classes;\n}\n","import type { IPalette } from '../types/index';\n\n// When adding or removing a color, make sure you keep this consistent with IColorClassNames\n// by adding the color variants.\nexport const DefaultPalette: IPalette = {\n themeDarker: '#004578',\n themeDark: '#005a9e',\n themeDarkAlt: '#106ebe',\n themePrimary: '#0078d4',\n themeSecondary: '#2b88d8',\n themeTertiary: '#71afe5',\n themeLight: '#c7e0f4',\n themeLighter: '#deecf9',\n themeLighterAlt: '#eff6fc',\n black: '#000000',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n accent: '#0078d4',\n white: '#ffffff',\n whiteTranslucent40: 'rgba(255,255,255,.4)',\n yellowDark: '#d29200',\n yellow: '#ffb900',\n yellowLight: '#fff100',\n orange: '#d83b01',\n orangeLight: '#ea4300',\n orangeLighter: '#ff8c00',\n redDark: '#a4262c',\n red: '#e81123',\n magentaDark: '#5c005c',\n magenta: '#b4009e',\n magentaLight: '#e3008c',\n purpleDark: '#32145a',\n purple: '#5c2d91',\n purpleLight: '#b4a0ff',\n blueDark: '#002050',\n blueMid: '#00188f',\n blue: '#0078d4',\n blueLight: '#00bcf2',\n tealDark: '#004b50',\n teal: '#008272',\n tealLight: '#00b294',\n greenDark: '#004b1c',\n green: '#107c10',\n greenLight: '#bad80a',\n};\n","import { Depths } from './FluentDepths';\nimport type { IEffects } from '../types/index';\n\nexport const DefaultEffects: IEffects = {\n elevation4: Depths.depth4,\n elevation8: Depths.depth8,\n elevation16: Depths.depth16,\n elevation64: Depths.depth64,\n\n roundedCorner2: '2px',\n roundedCorner4: '4px',\n roundedCorner6: '6px',\n};\n","import type { IFontWeight } from '@fluentui/merge-styles';\n\n// Font face names to be registered.\nexport namespace LocalizedFontNames {\n export const Arabic = 'Segoe UI Web (Arabic)';\n export const Cyrillic = 'Segoe UI Web (Cyrillic)';\n export const EastEuropean = 'Segoe UI Web (East European)';\n export const Greek = 'Segoe UI Web (Greek)';\n export const Hebrew = 'Segoe UI Web (Hebrew)';\n export const Thai = 'Leelawadee UI Web';\n export const Vietnamese = 'Segoe UI Web (Vietnamese)';\n export const WestEuropean = 'Segoe UI Web (West European)';\n export const Selawik = 'Selawik Web';\n export const Armenian = 'Segoe UI Web (Armenian)';\n export const Georgian = 'Segoe UI Web (Georgian)';\n}\n\n// Font families with fallbacks, for the general regions.\nexport namespace LocalizedFontFamilies {\n export const Arabic = `'${LocalizedFontNames.Arabic}'`;\n export const ChineseSimplified = `'Microsoft Yahei UI', Verdana, Simsun`;\n export const ChineseTraditional = `'Microsoft Jhenghei UI', Pmingliu`;\n export const Cyrillic = `'${LocalizedFontNames.Cyrillic}'`;\n export const EastEuropean = `'${LocalizedFontNames.EastEuropean}'`;\n export const Greek = `'${LocalizedFontNames.Greek}'`;\n export const Hebrew = `'${LocalizedFontNames.Hebrew}'`;\n export const Hindi = `'Nirmala UI'`;\n export const Japanese = `'Yu Gothic UI', 'Meiryo UI', Meiryo, 'MS Pgothic', Osaka`;\n export const Korean = `'Malgun Gothic', Gulim`;\n export const Selawik = `'${LocalizedFontNames.Selawik}'`;\n export const Thai = `'Leelawadee UI Web', 'Kmer UI'`;\n export const Vietnamese = `'${LocalizedFontNames.Vietnamese}'`;\n export const WestEuropean = `'${LocalizedFontNames.WestEuropean}'`;\n export const Armenian = `'${LocalizedFontNames.Armenian}'`;\n export const Georgian = `'${LocalizedFontNames.Georgian}'`;\n}\n\n// Standard font sizes.\nexport namespace FontSizes {\n export const size10 = '10px';\n export const size12 = '12px';\n export const size14 = '14px';\n export const size16 = '16px';\n export const size18 = '18px';\n export const size20 = '20px';\n export const size24 = '24px';\n export const size28 = '28px';\n export const size32 = '32px';\n export const size42 = '42px';\n export const size68 = '68px';\n\n export const mini: string = '10px';\n export const xSmall: string = '10px';\n export const small: string = '12px';\n export const smallPlus: string = '12px';\n export const medium: string = '14px';\n export const mediumPlus: string = '16px';\n export const icon: string = '16px';\n export const large: string = '18px';\n export const xLarge: string = '20px';\n export const xLargePlus: string = '24px';\n export const xxLarge: string = '28px';\n export const xxLargePlus: string = '32px';\n export const superLarge: string = '42px';\n export const mega: string = '68px';\n}\n\n// Standard font weights.\nexport namespace FontWeights {\n export const light: IFontWeight = 100;\n export const semilight: IFontWeight = 300;\n export const regular: IFontWeight = 400;\n export const semibold: IFontWeight = 600;\n export const bold: IFontWeight = 700;\n}\n\n// Standard Icon Sizes.\nexport namespace IconFontSizes {\n export const xSmall: string = '10px';\n export const small: string = '12px';\n export const medium: string = '16px';\n export const large: string = '20px';\n}\n","import { IRawStyle } from '../MergeStyles';\n\nexport const HighContrastSelector = '@media screen and (-ms-high-contrast: active), (forced-colors: active)';\nexport const HighContrastSelectorWhite =\n '@media screen and (-ms-high-contrast: black-on-white), (forced-colors: black-on-white)';\nexport const HighContrastSelectorBlack =\n '@media screen and (-ms-high-contrast: white-on-black), (forced-colors: white-on-black)';\nexport const EdgeChromiumHighContrastSelector = '@media screen and (forced-colors: active)';\n\nexport const ScreenWidthMinSmall = 320;\nexport const ScreenWidthMinMedium = 480;\nexport const ScreenWidthMinLarge = 640;\nexport const ScreenWidthMinXLarge = 1024;\nexport const ScreenWidthMinXXLarge = 1366;\nexport const ScreenWidthMinXXXLarge = 1920;\nexport const ScreenWidthMaxSmall = ScreenWidthMinMedium - 1;\nexport const ScreenWidthMaxMedium = ScreenWidthMinLarge - 1;\nexport const ScreenWidthMaxLarge = ScreenWidthMinXLarge - 1;\nexport const ScreenWidthMaxXLarge = ScreenWidthMinXXLarge - 1;\nexport const ScreenWidthMaxXXLarge = ScreenWidthMinXXXLarge - 1;\n\nexport const ScreenWidthMinUhfMobile = 768;\n\nexport function getScreenSelector(min: number | undefined, max: number | undefined): string {\n const minSelector = typeof min === 'number' ? ` and (min-width: ${min}px)` : '';\n const maxSelector = typeof max === 'number' ? ` and (max-width: ${max}px)` : '';\n return `@media only screen${minSelector}${maxSelector}`;\n}\n\n/**\n * The style which turns off high contrast adjustment in browsers.\n */\nexport function getHighContrastNoAdjustStyle(): IRawStyle {\n return {\n forcedColorAdjust: 'none',\n MsHighContrastAdjust: 'none',\n };\n}\n\n/**\n * The style which turns off high contrast adjustment in (only) Edge Chromium browser.\n * @deprecated Use `getHighContrastNoAdjustStyle`\n */\nexport function getEdgeChromiumNoHighContrastAdjustSelector(): { [EdgeChromiumHighContrastSelector]: IRawStyle } {\n return {\n [EdgeChromiumHighContrastSelector]: {\n forcedColorAdjust: 'none',\n },\n };\n}\n","export namespace ZIndexes {\n export const Nav: number = 1;\n /**\n * @deprecated ScrollablePane\n */\n export const ScrollablePane: number = 1;\n export const FocusStyle: number = 1;\n export const Coachmark: number = 1000;\n export const Layer: number = 1000000;\n export const KeytipLayer: number = 1000001;\n}\n","import { IRawStyle } from '@uifabric/merge-styles';\nimport { IGetFocusStylesOptions, ITheme } from '../interfaces/index';\nimport { HighContrastSelector } from './CommonStyles';\nimport { IsFocusVisibleClassName } from '@uifabric/utilities';\nimport { ZIndexes } from './zIndexes';\n\n/**\n * Generates a focus style which can be used to define an :after focus border.\n *\n * @param theme - The theme object to use.\n * @param options - Options to customize the focus border.\n * @returns The style object.\n */\nexport function getFocusStyle(theme: ITheme, options?: IGetFocusStylesOptions): IRawStyle;\n/**\n * Generates a focus style which can be used to define an :after focus border.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border.\n * @param position - The positioning applied to the container. Must\n * be 'relative' or 'absolute' so that the focus border can live around it.\n * @param highContrastStyle - Style for high contrast mode.\n * @param borderColor - Color of the border.\n * @param outlineColor - Color of the outline.\n * @param isFocusedOnly - If the styles should apply on focus or not.\n * @returns The style object.\n * @deprecated Use the object parameter version instead.\n */\nexport function getFocusStyle(\n theme: ITheme,\n inset?: number,\n position?: 'relative' | 'absolute',\n highContrastStyle?: IRawStyle | undefined,\n borderColor?: string,\n outlineColor?: string,\n isFocusedOnly?: boolean,\n): IRawStyle;\nexport function getFocusStyle(\n theme: ITheme,\n insetOrOptions?: number | IGetFocusStylesOptions,\n position?: 'relative' | 'absolute',\n highContrastStyle?: IRawStyle,\n borderColor?: string,\n outlineColor?: string,\n isFocusedOnly?: boolean,\n): IRawStyle {\n if (typeof insetOrOptions === 'number' || !insetOrOptions) {\n return _getFocusStyleInternal(theme, {\n inset: insetOrOptions,\n position,\n highContrastStyle,\n borderColor,\n outlineColor,\n isFocusedOnly,\n });\n } else {\n return _getFocusStyleInternal(theme, insetOrOptions);\n }\n}\n\nfunction _getFocusStyleInternal(theme: ITheme, options: IGetFocusStylesOptions = {}): IRawStyle {\n const {\n inset = 0,\n width = 1,\n position = 'relative',\n highContrastStyle,\n borderColor = theme.palette.white,\n outlineColor = theme.palette.neutralSecondary,\n isFocusedOnly = true,\n } = options;\n\n return {\n // Clear browser-specific focus styles and use 'transparent' as placeholder for focus style.\n outline: 'transparent',\n // Requirement because pseudo-element is absolutely positioned.\n position,\n\n selectors: {\n // Clear the focus border in Firefox.\n // Reference: http://stackoverflow.com/a/199319/1436671\n '::-moz-focus-inner': {\n border: '0',\n },\n\n // When the element that uses this mixin is in a :focus state, add a pseudo-element to\n // create a border.\n [`.${IsFocusVisibleClassName} &${isFocusedOnly ? ':focus' : ''}:after`]: {\n content: '\"\"',\n position: 'absolute',\n left: inset + 1,\n top: inset + 1,\n bottom: inset + 1,\n right: inset + 1,\n border: `${width}px solid ${borderColor}`,\n outline: `${width}px solid ${outlineColor}`,\n zIndex: ZIndexes.FocusStyle,\n selectors: {\n [HighContrastSelector]: highContrastStyle,\n },\n },\n },\n };\n}\n\n/**\n * Generates style to clear browser specific focus styles.\n */\nexport function focusClear(): IRawStyle {\n return {\n selectors: {\n '&::-moz-focus-inner': {\n // Clear the focus border in Firefox. Reference: http://stackoverflow.com/a/199319/1436671\n border: 0,\n },\n '&': {\n // Clear browser specific focus styles and use transparent as placeholder for focus style\n outline: 'transparent',\n },\n },\n };\n}\n\n/**\n * Generates a style which can be used to set a border on focus.\n *\n * @param theme - The theme object to use.\n * @param inset - The number of pixels to inset the border (default 0)\n * @param width - The border width in pixels (default 1)\n * @param color - Color of the outline (default `theme.palette.neutralSecondary`)\n * @returns The style object.\n */\nexport function getFocusOutlineStyle(theme: ITheme, inset: number = 0, width: number = 1, color?: string): IRawStyle {\n return {\n selectors: {\n [`:global(${IsFocusVisibleClassName}) &:focus`]: {\n outline: `${width} solid ${color || theme.palette.neutralSecondary}`,\n outlineOffset: `${-inset}px`,\n },\n },\n };\n}\n\n/**\n * Generates text input border styles on focus.\n *\n * @param borderColor - Color of the border.\n * @param borderRadius - Radius of the border.\n * @param borderType - Type of the border.\n * @param borderPosition - Position of the border relative to the input element (default to -1\n * as it's the most common border width of the input element)\n * @returns The style object.\n */\nexport const getInputFocusStyle = (\n borderColor: string,\n borderRadius: string | number,\n borderType: 'border' | 'borderBottom' = 'border',\n borderPosition: number = -1,\n): IRawStyle => {\n const isBorderBottom = borderType === 'borderBottom';\n\n return {\n borderColor,\n selectors: {\n ':after': {\n pointerEvents: 'none',\n content: \"''\",\n position: 'absolute',\n left: isBorderBottom ? 0 : borderPosition,\n top: borderPosition,\n bottom: borderPosition,\n right: isBorderBottom ? 0 : borderPosition,\n [borderType]: `2px solid ${borderColor}`,\n borderRadius,\n width: borderType === 'borderBottom' ? '100%' : undefined,\n selectors: {\n [HighContrastSelector]: {\n [borderType === 'border' ? 'borderColor' : 'borderBottomColor']: 'Highlight',\n },\n },\n },\n },\n };\n};\n","import { IRawStyle } from '@uifabric/merge-styles';\n\nexport const hiddenContentStyle: IRawStyle = {\n position: 'absolute',\n width: 1,\n height: 1,\n margin: -1,\n padding: 0,\n border: 0,\n overflow: 'hidden',\n};\n","import { ITheme } from '../interfaces/index';\nimport { Stylesheet } from '@uifabric/merge-styles';\nimport { memoizeFunction } from '@uifabric/utilities';\n\nexport type GlobalClassNames = Record;\n\n/**\n * Internal memoized function which simply takes in the class map and the\n * disable boolean. These immutable values can be memoized.\n */\nconst _getGlobalClassNames = memoizeFunction(\n (classNames: GlobalClassNames, disableGlobalClassNames?: boolean): GlobalClassNames => {\n const styleSheet = Stylesheet.getInstance();\n\n if (disableGlobalClassNames) {\n // disable global classnames\n return (Object.keys(classNames) as (keyof T)[]).reduce((acc, className) => {\n acc[className] = styleSheet.getClassName(classNames[className]);\n return acc;\n }, {} as GlobalClassNames);\n }\n\n // use global classnames\n return classNames;\n },\n);\n\n/**\n * Checks for the `disableGlobalClassNames` property on the `theme` to determine if it should return `classNames`\n * Note that calls to this function are memoized.\n *\n * @param classNames - The collection of global class names that apply when the flag is false. Make sure to pass in\n * the same instance on each call to benefit from memoization.\n * @param theme - The theme to check the flag on\n * @param disableGlobalClassNames - Optional. Explicitly opt in/out of disabling global classnames. Defaults to false.\n */\nexport function getGlobalClassNames(\n classNames: GlobalClassNames,\n theme: ITheme,\n disableGlobalClassNames?: boolean,\n): GlobalClassNames {\n return _getGlobalClassNames(\n classNames,\n disableGlobalClassNames !== undefined ? disableGlobalClassNames : theme.disableGlobalClassNames,\n );\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { FontSizes, FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\nimport type { IFontWeight, IRawStyle } from '@fluentui/merge-styles';\nimport type { IFontStyles } from '../types/IFontStyles';\n\n// Fallback fonts, if specified system or web fonts are unavailable.\nconst FontFamilyFallbacks = `'Segoe UI', -apple-system, BlinkMacSystemFont, 'Roboto', 'Helvetica Neue', sans-serif`;\n\n// By default, we favor system fonts for the default.\n// All localized fonts use a web font and never use the system font.\nconst defaultFontFamily = `'Segoe UI', '${LocalizedFontNames.WestEuropean}'`;\n\n// Mapping of language prefix to to font family.\nconst LanguageToFontMap = {\n ar: LocalizedFontFamilies.Arabic,\n bg: LocalizedFontFamilies.Cyrillic,\n cs: LocalizedFontFamilies.EastEuropean,\n el: LocalizedFontFamilies.Greek,\n et: LocalizedFontFamilies.EastEuropean,\n he: LocalizedFontFamilies.Hebrew,\n hi: LocalizedFontFamilies.Hindi,\n hr: LocalizedFontFamilies.EastEuropean,\n hu: LocalizedFontFamilies.EastEuropean,\n ja: LocalizedFontFamilies.Japanese,\n kk: LocalizedFontFamilies.EastEuropean,\n ko: LocalizedFontFamilies.Korean,\n lt: LocalizedFontFamilies.EastEuropean,\n lv: LocalizedFontFamilies.EastEuropean,\n pl: LocalizedFontFamilies.EastEuropean,\n ru: LocalizedFontFamilies.Cyrillic,\n sk: LocalizedFontFamilies.EastEuropean,\n 'sr-latn': LocalizedFontFamilies.EastEuropean,\n th: LocalizedFontFamilies.Thai,\n tr: LocalizedFontFamilies.EastEuropean,\n uk: LocalizedFontFamilies.Cyrillic,\n vi: LocalizedFontFamilies.Vietnamese,\n 'zh-hans': LocalizedFontFamilies.ChineseSimplified,\n 'zh-hant': LocalizedFontFamilies.ChineseTraditional,\n hy: LocalizedFontFamilies.Armenian,\n ka: LocalizedFontFamilies.Georgian,\n};\n\nfunction _fontFamilyWithFallbacks(fontFamily: string): string {\n return `${fontFamily}, ${FontFamilyFallbacks}`;\n}\n\n/**\n * If there is a localized font for this language, return that.\n * Returns undefined if there is no localized font for that language.\n */\nfunction _getLocalizedFontFamily(language: string | null): string {\n for (const lang in LanguageToFontMap) {\n if (LanguageToFontMap.hasOwnProperty(lang) && language && lang.indexOf(language) === 0) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (LanguageToFontMap as any)[lang];\n }\n }\n\n return defaultFontFamily;\n}\n\nfunction _createFont(size: string, weight: IFontWeight, fontFamily: string): IRawStyle {\n return {\n fontFamily: fontFamily,\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontSize: size,\n fontWeight: weight,\n };\n}\n\nexport function createFontStyles(localeCode: string | null): IFontStyles {\n const localizedFont = _getLocalizedFontFamily(localeCode);\n const fontFamilyWithFallback = _fontFamilyWithFallbacks(localizedFont);\n\n const fontStyles = {\n tiny: _createFont(FontSizes.mini, FontWeights.regular, fontFamilyWithFallback),\n xSmall: _createFont(FontSizes.xSmall, FontWeights.regular, fontFamilyWithFallback),\n small: _createFont(FontSizes.small, FontWeights.regular, fontFamilyWithFallback),\n smallPlus: _createFont(FontSizes.smallPlus, FontWeights.regular, fontFamilyWithFallback),\n medium: _createFont(FontSizes.medium, FontWeights.regular, fontFamilyWithFallback),\n mediumPlus: _createFont(FontSizes.mediumPlus, FontWeights.regular, fontFamilyWithFallback),\n large: _createFont(FontSizes.large, FontWeights.regular, fontFamilyWithFallback),\n xLarge: _createFont(FontSizes.xLarge, FontWeights.semibold, fontFamilyWithFallback),\n xLargePlus: _createFont(FontSizes.xLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n xxLarge: _createFont(FontSizes.xxLarge, FontWeights.semibold, fontFamilyWithFallback),\n xxLargePlus: _createFont(FontSizes.xxLargePlus, FontWeights.semibold, fontFamilyWithFallback),\n superLarge: _createFont(FontSizes.superLarge, FontWeights.semibold, fontFamilyWithFallback),\n mega: _createFont(FontSizes.mega, FontWeights.semibold, fontFamilyWithFallback),\n };\n\n return fontStyles;\n}\n","import { fontFace } from '@fluentui/merge-styles';\nimport { FontWeights, LocalizedFontFamilies, LocalizedFontNames } from './FluentFonts';\nimport { createFontStyles } from './createFontStyles';\nimport { getLanguage, getWindow } from '@fluentui/utilities';\nimport type { IFontWeight } from '@fluentui/merge-styles';\nimport type { IFontStyles } from '../types/IFontStyles';\nimport type { IFabricConfig } from '../types/IFabricConfig';\n\n// Default urls.\nconst DefaultBaseUrl = 'https://static2.sharepointonline.com/files/fabric/assets';\n\n// Standard font styling.\nexport const DefaultFontStyles: IFontStyles = createFontStyles(getLanguage());\n\nfunction _registerFontFace(fontFamily: string, url: string, fontWeight?: IFontWeight, localFontName?: string): void {\n fontFamily = `'${fontFamily}'`;\n\n const localFontSrc = localFontName !== undefined ? `local('${localFontName}'),` : '';\n\n fontFace({\n fontFamily,\n src: localFontSrc + `url('${url}.woff2') format('woff2'),` + `url('${url}.woff') format('woff')`,\n fontWeight,\n fontStyle: 'normal',\n fontDisplay: 'swap',\n });\n}\n\nfunction _registerFontFaceSet(\n baseUrl: string,\n fontFamily: string,\n cdnFolder: string,\n cdnFontName: string = 'segoeui',\n localFontName?: string,\n): void {\n const urlBase = `${baseUrl}/${cdnFolder}/${cdnFontName}`;\n\n _registerFontFace(fontFamily, urlBase + '-light', FontWeights.light, localFontName && localFontName + ' Light');\n _registerFontFace(\n fontFamily,\n urlBase + '-semilight',\n FontWeights.semilight,\n localFontName && localFontName + ' SemiLight',\n );\n _registerFontFace(fontFamily, urlBase + '-regular', FontWeights.regular, localFontName);\n _registerFontFace(\n fontFamily,\n urlBase + '-semibold',\n FontWeights.semibold,\n localFontName && localFontName + ' SemiBold',\n );\n _registerFontFace(fontFamily, urlBase + '-bold', FontWeights.bold, localFontName && localFontName + ' Bold');\n}\n\nexport function registerDefaultFontFaces(baseUrl: string): void {\n if (baseUrl) {\n const fontUrl = `${baseUrl}/fonts`;\n\n // Produce @font-face definitions for all supported web fonts.\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Arabic, 'segoeui-arabic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Cyrillic, 'segoeui-cyrillic');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.EastEuropean, 'segoeui-easteuropean');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Greek, 'segoeui-greek');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Hebrew, 'segoeui-hebrew');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Vietnamese, 'segoeui-vietnamese');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI');\n _registerFontFaceSet(fontUrl, LocalizedFontFamilies.Selawik, 'selawik', 'selawik');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Armenian, 'segoeui-armenian');\n _registerFontFaceSet(fontUrl, LocalizedFontNames.Georgian, 'segoeui-georgian');\n\n // Leelawadee UI (Thai) does not have a 'light' weight, so we override\n // the font-face generated above to use the 'semilight' weight instead.\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-semilight`, FontWeights.light);\n\n // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override\n // the font-face generated above to use the 'bold' weight instead.\n _registerFontFace('Leelawadee UI Web', `${fontUrl}/leelawadeeui-thai/leelawadeeui-bold`, FontWeights.semibold);\n }\n}\n\n/**\n * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default.\n */\nfunction _getFontBaseUrl(): string {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fabricConfig: IFabricConfig | undefined = (getWindow() as any)?.FabricConfig;\n\n return fabricConfig?.fontBaseUrl ?? DefaultBaseUrl;\n}\n\n/**\n * Register the font faces.\n */\nregisterDefaultFontFaces(_getFontBaseUrl());\n","import type { IEffects, IPalette, ISemanticColors } from '../types/index';\n\n/** Generates all the semantic slot colors based on the theme so far\n * We'll use these as fallbacks for semantic slots that the passed in theme did not define.\n * The caller must still mix in the customized semantic slots at the end.\n */\nexport function makeSemanticColors(\n p: IPalette,\n e: IEffects,\n s: Partial | undefined,\n isInverted: boolean,\n depComments: boolean = false,\n): ISemanticColors {\n const semanticColors: Partial = {\n primaryButtonBorder: 'transparent',\n\n errorText: !isInverted ? '#a4262c' : '#F1707B',\n\n messageText: !isInverted ? '#323130' : '#F3F2F1',\n messageLink: !isInverted ? '#005A9E' : '#6CB8F6',\n messageLinkHovered: !isInverted ? '#004578' : '#82C7FF',\n\n infoIcon: !isInverted ? '#605e5c' : '#C8C6C4',\n errorIcon: !isInverted ? '#A80000' : '#F1707B',\n blockingIcon: !isInverted ? '#FDE7E9' : '#442726',\n warningIcon: !isInverted ? '#797775' : '#C8C6C4',\n severeWarningIcon: !isInverted ? '#D83B01' : '#FCE100',\n successIcon: !isInverted ? '#107C10' : '#92C353',\n\n infoBackground: !isInverted ? '#f3f2f1' : '#323130',\n errorBackground: !isInverted ? '#FDE7E9' : '#442726',\n blockingBackground: !isInverted ? '#FDE7E9' : '#442726',\n warningBackground: !isInverted ? '#FFF4CE' : '#433519',\n severeWarningBackground: !isInverted ? '#FED9CC' : '#4F2A0F',\n successBackground: !isInverted ? '#DFF6DD' : '#393D1B',\n\n // deprecated\n warningHighlight: !isInverted ? '#ffb900' : '#fff100',\n successText: !isInverted ? '#107C10' : '#92c353',\n\n ...s,\n };\n\n const fullSemanticColors = getSemanticColors(p, e, semanticColors, isInverted);\n return _fixDeprecatedSlots(fullSemanticColors, depComments);\n}\n\n/**\n * Map partial platte and effects to partial semantic colors.\n */\nexport function getSemanticColors>(\n p: Partial | undefined,\n e: Partial | undefined,\n s: Partial | undefined,\n isInverted: boolean,\n depComments: boolean = false,\n): TResult {\n let result: Partial = {};\n\n // map palette\n const {\n white,\n black,\n themePrimary,\n themeDark,\n themeDarker,\n themeDarkAlt,\n themeLighter,\n neutralLight,\n neutralLighter,\n neutralDark,\n neutralQuaternary,\n neutralQuaternaryAlt,\n neutralPrimary,\n neutralSecondary,\n neutralSecondaryAlt,\n neutralTertiary,\n neutralTertiaryAlt,\n neutralLighterAlt,\n accent,\n } = p || {};\n\n if (white) {\n result.bodyBackground = white;\n result.bodyFrameBackground = white;\n result.accentButtonText = white;\n result.buttonBackground = white;\n result.primaryButtonText = white;\n result.primaryButtonTextHovered = white;\n result.primaryButtonTextPressed = white;\n result.inputBackground = white;\n result.inputForegroundChecked = white;\n result.listBackground = white;\n result.menuBackground = white;\n result.cardStandoutBackground = white;\n }\n if (black) {\n result.bodyTextChecked = black;\n result.buttonTextCheckedHovered = black;\n }\n if (themePrimary) {\n result.link = themePrimary;\n result.primaryButtonBackground = themePrimary;\n result.inputBackgroundChecked = themePrimary;\n result.inputIcon = themePrimary;\n result.inputFocusBorderAlt = themePrimary;\n result.menuIcon = themePrimary;\n result.menuHeader = themePrimary;\n result.accentButtonBackground = themePrimary;\n }\n if (themeDark) {\n result.primaryButtonBackgroundPressed = themeDark;\n result.inputBackgroundCheckedHovered = themeDark;\n result.inputIconHovered = themeDark;\n }\n if (themeDarker) {\n result.linkHovered = themeDarker;\n }\n if (themeDarkAlt) {\n result.primaryButtonBackgroundHovered = themeDarkAlt;\n }\n if (themeLighter) {\n result.inputPlaceholderBackgroundChecked = themeLighter;\n }\n if (neutralLight) {\n result.bodyBackgroundChecked = neutralLight;\n result.bodyFrameDivider = neutralLight;\n result.bodyDivider = neutralLight;\n result.variantBorder = neutralLight;\n result.buttonBackgroundCheckedHovered = neutralLight;\n result.buttonBackgroundPressed = neutralLight;\n result.listItemBackgroundChecked = neutralLight;\n result.listHeaderBackgroundPressed = neutralLight;\n result.menuItemBackgroundPressed = neutralLight;\n // eslint-disable-next-line deprecation/deprecation\n result.menuItemBackgroundChecked = neutralLight;\n }\n if (neutralLighter) {\n result.bodyBackgroundHovered = neutralLighter;\n result.buttonBackgroundHovered = neutralLighter;\n result.buttonBackgroundDisabled = neutralLighter;\n result.buttonBorderDisabled = neutralLighter;\n result.primaryButtonBackgroundDisabled = neutralLighter;\n result.disabledBackground = neutralLighter;\n result.listItemBackgroundHovered = neutralLighter;\n result.listHeaderBackgroundHovered = neutralLighter;\n result.menuItemBackgroundHovered = neutralLighter;\n }\n if (neutralQuaternary) {\n result.primaryButtonTextDisabled = neutralQuaternary;\n result.disabledSubtext = neutralQuaternary;\n }\n if (neutralQuaternaryAlt) {\n result.listItemBackgroundCheckedHovered = neutralQuaternaryAlt;\n }\n if (neutralTertiary) {\n result.disabledBodyText = neutralTertiary;\n result.variantBorderHovered = s?.variantBorderHovered || neutralTertiary;\n result.buttonTextDisabled = neutralTertiary;\n result.inputIconDisabled = neutralTertiary;\n result.disabledText = neutralTertiary;\n }\n if (neutralPrimary) {\n result.bodyText = neutralPrimary;\n result.actionLink = neutralPrimary;\n result.buttonText = neutralPrimary;\n result.inputBorderHovered = neutralPrimary;\n result.inputText = neutralPrimary;\n result.listText = neutralPrimary;\n result.menuItemText = neutralPrimary;\n }\n if (neutralLighterAlt) {\n result.bodyStandoutBackground = neutralLighterAlt;\n result.defaultStateBackground = neutralLighterAlt;\n }\n if (neutralDark) {\n result.actionLinkHovered = neutralDark;\n result.buttonTextHovered = neutralDark;\n result.buttonTextChecked = neutralDark;\n result.buttonTextPressed = neutralDark;\n result.inputTextHovered = neutralDark;\n result.menuItemTextHovered = neutralDark;\n }\n if (neutralSecondary) {\n result.bodySubtext = neutralSecondary;\n result.focusBorder = neutralSecondary;\n result.inputBorder = neutralSecondary;\n result.smallInputBorder = neutralSecondary;\n result.inputPlaceholderText = neutralSecondary;\n }\n if (neutralSecondaryAlt) {\n result.buttonBorder = neutralSecondaryAlt;\n }\n if (neutralTertiaryAlt) {\n result.disabledBodySubtext = neutralTertiaryAlt;\n result.disabledBorder = neutralTertiaryAlt;\n result.buttonBackgroundChecked = neutralTertiaryAlt;\n result.menuDivider = neutralTertiaryAlt;\n }\n if (accent) {\n result.accentButtonBackground = accent;\n }\n\n // map effects\n if (e?.elevation4) {\n result.cardShadow = e.elevation4;\n }\n if (!isInverted && e?.elevation8) {\n result.cardShadowHovered = e.elevation8;\n } else if (result.variantBorderHovered) {\n result.cardShadowHovered = '0 0 1px ' + result.variantBorderHovered;\n }\n\n result = {\n ...result,\n // mix in customized semantic slots\n ...s,\n };\n\n return result as TResult;\n}\n\nfunction _fixDeprecatedSlots(s: ISemanticColors, depComments: boolean): ISemanticColors {\n // Add @deprecated tag as comment if enabled\n let dep = '';\n if (depComments === true) {\n dep = ' /* @deprecated */';\n }\n\n /* eslint-disable deprecation/deprecation */\n s.listTextColor = s.listText + dep;\n s.menuItemBackgroundChecked += dep;\n s.warningHighlight += dep;\n s.warningText = s.messageText + dep;\n s.successText += dep;\n /* eslint-enable deprecation/deprecation */\n return s;\n}\n","import type { ISpacing } from '../types/index';\n\nexport const DefaultSpacing: ISpacing = {\n s2: '4px',\n s1: '8px',\n m: '16px',\n l1: '20px',\n l2: '32px',\n};\n","import { DefaultPalette } from './colors/index';\nimport { DefaultEffects } from './effects/index';\nimport { DefaultFontStyles } from './fonts/index';\nimport { mergeThemes } from './mergeThemes';\nimport { DefaultSpacing } from './spacing/index';\nimport { makeSemanticColors } from './utilities/makeSemanticColors';\nimport type { PartialTheme, Theme } from './types/index';\n\n/**\n * Creates a custom theme definition.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function createTheme(theme: PartialTheme = {}, depComments: boolean = false): Theme {\n const isInverted = !!theme.isInverted;\n const baseTheme: Theme = {\n palette: DefaultPalette,\n effects: DefaultEffects,\n fonts: DefaultFontStyles,\n spacing: DefaultSpacing,\n isInverted,\n disableGlobalClassNames: false,\n semanticColors: makeSemanticColors(DefaultPalette, DefaultEffects, undefined, isInverted, depComments),\n rtl: undefined,\n };\n\n return mergeThemes(baseTheme, theme);\n}\n","import { merge } from '@fluentui/utilities';\nimport { getSemanticColors } from './utilities/makeSemanticColors';\nimport type { IFontStyles, PartialTheme, Theme } from './types/index';\n\n/**\n * Merge a partial/full theme into a full theme and returns a merged full theme.\n */\nexport function mergeThemes(theme: Theme, partialTheme: PartialTheme = {}): Theme {\n const mergedTheme = merge({}, theme, partialTheme, {\n semanticColors: getSemanticColors(\n partialTheme.palette,\n partialTheme.effects,\n partialTheme.semanticColors,\n partialTheme.isInverted === undefined ? theme.isInverted : partialTheme.isInverted,\n ),\n }) as Theme;\n\n if (partialTheme.palette?.themePrimary && !partialTheme.palette?.accent) {\n mergedTheme.palette.accent = partialTheme.palette.themePrimary;\n }\n\n if (partialTheme.defaultFontStyle) {\n for (const fontStyle of Object.keys(mergedTheme.fonts) as (keyof IFontStyles)[]) {\n mergedTheme.fonts[fontStyle] = merge(\n mergedTheme.fonts[fontStyle],\n partialTheme.defaultFontStyle,\n partialTheme?.fonts?.[fontStyle],\n );\n }\n }\n\n return mergedTheme;\n}\n","import { Customizations, getWindow } from '@uifabric/utilities';\nimport { ITheme, IPartialTheme, IFontStyles } from '../interfaces/index';\nimport { loadTheme as legacyLoadTheme } from '@microsoft/load-themed-styles';\nimport { IRawStyle } from '@uifabric/merge-styles';\nimport { createTheme } from '@fluentui/theme/lib/createTheme';\n\nexport { createTheme } from '@fluentui/theme/lib/createTheme';\n\nlet _theme: ITheme = createTheme({});\nlet _onThemeChangeCallbacks: Array<(theme: ITheme) => void> = [];\n\nexport const ThemeSettingName = 'theme';\n\nexport function initializeThemeInCustomizations(): void {\n if (!Customizations.getSettings([ThemeSettingName]).theme) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const win: any = getWindow();\n\n if (win?.FabricConfig?.theme) {\n _theme = createTheme(win.FabricConfig.theme);\n }\n\n // Set the default theme.\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n }\n}\n\ninitializeThemeInCustomizations();\n\n/**\n * Gets the theme object\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function getTheme(depComments: boolean = false): ITheme {\n if (depComments === true) {\n _theme = createTheme({}, depComments);\n }\n return _theme;\n}\n\n/**\n * Registers a callback that gets called whenever the theme changes.\n * This should only be used when the component cannot automatically get theme changes through its state.\n * This will not register duplicate callbacks.\n */\nexport function registerOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n if (_onThemeChangeCallbacks.indexOf(callback) === -1) {\n _onThemeChangeCallbacks.push(callback);\n }\n}\n\n/**\n * See registerOnThemeChangeCallback().\n * Removes previously registered callbacks.\n */\nexport function removeOnThemeChangeCallback(callback: (theme: ITheme) => void): void {\n const i = _onThemeChangeCallbacks.indexOf(callback);\n if (i === -1) {\n return;\n }\n\n _onThemeChangeCallbacks.splice(i, 1);\n}\n\n/**\n * Applies the theme, while filling in missing slots.\n * @param theme - Partial theme object.\n * @param depComments - Whether to include deprecated tags as comments for deprecated slots.\n */\nexport function loadTheme(theme: IPartialTheme, depComments: boolean = false): ITheme {\n _theme = createTheme(theme, depComments);\n\n // Invoke the legacy method of theming the page as well.\n legacyLoadTheme({ ..._theme.palette, ..._theme.semanticColors, ..._theme.effects, ..._loadFonts(_theme) });\n\n Customizations.applySettings({ [ThemeSettingName]: _theme });\n\n _onThemeChangeCallbacks.forEach((callback: (theme: ITheme) => void) => {\n try {\n callback(_theme);\n } catch (e) {\n // don't let a bad callback break everything else\n }\n });\n\n return _theme;\n}\n\n/**\n * Loads font variables into a JSON object.\n * @param theme - The theme object\n */\nfunction _loadFonts(theme: ITheme): { [name: string]: string } {\n const lines: { [key: string]: string } = {};\n\n for (const fontName of Object.keys(theme.fonts)) {\n const font: IRawStyle = theme.fonts[fontName as keyof IFontStyles];\n\n for (const propName of Object.keys(font)) {\n const name: string = fontName + propName.charAt(0).toUpperCase() + propName.slice(1);\n let value = font[propName as keyof IRawStyle] as string;\n\n if (propName === 'fontSize' && typeof value === 'number') {\n // if it's a number, convert it to px by default like our theming system does\n value = value + 'px';\n }\n lines[name] = value;\n }\n }\n return lines;\n}\n","import type { IRawStyle } from '@fluentui/merge-styles';\n\n// This file mimics styles and mixins from _General.Mixins.scss\nexport const normalize: IRawStyle = {\n boxShadow: 'none',\n margin: 0,\n padding: 0,\n boxSizing: 'border-box',\n};\n\nexport const noWrap: IRawStyle = {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n};\n","import type { IStyle } from '@fluentui/merge-styles';\n\n/**\n * Generates placeholder style for each of the browsers supported by `@fluentui/react`.\n * @param styles - The style to use.\n * @returns The placeholder style object for each browser depending on the placeholder directive it uses.\n */\nexport function getPlaceholderStyles(styles: IStyle): IStyle {\n return {\n selectors: {\n '::placeholder': styles, // Chrome, Safari, Opera, Firefox\n ':-ms-input-placeholder': styles, // IE 10+\n '::-ms-input-placeholder': styles, // Edge\n },\n };\n}\n","import { GlobalSettings, warn } from '@uifabric/utilities';\nimport { IRawStyle, IFontFace, fontFace, mergeStyles, Stylesheet } from '@uifabric/merge-styles';\n\nexport interface IIconSubset {\n fontFace?: IFontFace;\n icons: {\n [key: string]: string | JSX.Element;\n };\n\n style?: IRawStyle;\n /**\n * Indicates to the icon renderer that it is safe to merge any props on the original `Icon` element\n * onto the child content element registered for the icon which are valid for HTML images.\n */\n mergeImageProps?: boolean;\n}\n\nexport interface IIconSubsetRecord extends IIconSubset {\n isRegistered?: boolean;\n className?: string;\n}\n\nexport interface IIconRecord {\n code: string | undefined;\n subset: IIconSubsetRecord;\n}\n\nexport interface IIconOptions {\n /**\n * By default, registering the same set of icons will generate a console warning per duplicate icon\n * registered, because this scenario can create unexpected consequences.\n *\n * Some scenarios include:\n *\n * Icon set was previously registered using a different base url.\n * Icon set was previously registered but a different version was provided.\n * Icons in a previous registered set overlap with a new set.\n *\n * To simply ignore previously registered icons, you can specify to disable warnings. This means\n * that if an icon which was previous registered is registered again, it will be silently ignored.\n * However, consider whether the problems listed above will cause issues.\n **/\n disableWarnings: boolean;\n\n /**\n * @deprecated\n * Use 'disableWarnings' instead.\n */\n warnOnMissingIcons?: boolean;\n}\n\nexport interface IIconRecords {\n __options: IIconOptions;\n __remapped: { [key: string]: string };\n [key: string]: IIconRecord | {};\n}\n\nconst ICON_SETTING_NAME = 'icons';\n\nconst _iconSettings = GlobalSettings.getValue(ICON_SETTING_NAME, {\n __options: {\n disableWarnings: false,\n warnOnMissingIcons: true,\n },\n __remapped: {},\n});\n\n// Reset icon registration on stylesheet resets.\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => {\n for (const name in _iconSettings) {\n if (_iconSettings.hasOwnProperty(name) && !!(_iconSettings[name] as IIconRecord).subset) {\n (_iconSettings[name] as IIconRecord).subset.className = undefined;\n }\n }\n });\n}\n\n/**\n * Normalizes an icon name for consistent mapping.\n * Current implementation is to convert the icon name to lower case.\n *\n * @param name - Icon name to normalize.\n * @returns {string} Normalized icon name to use for indexing and mapping.\n */\nconst normalizeIconName = (name: string): string => name.toLowerCase();\n\n/**\n * Registers a given subset of icons.\n *\n * @param iconSubset - the icon subset definition.\n */\nexport function registerIcons(iconSubset: IIconSubset, options?: Partial): void {\n let subset = {\n ...iconSubset,\n isRegistered: false,\n className: undefined,\n };\n let { icons } = iconSubset;\n\n // Grab options, optionally mix user provided ones on top.\n options = options ? { ..._iconSettings.__options, ...options } : _iconSettings.__options;\n\n for (const iconName in icons) {\n if (icons.hasOwnProperty(iconName)) {\n const code = icons[iconName];\n const normalizedIconName = normalizeIconName(iconName);\n\n if (_iconSettings[normalizedIconName]) {\n _warnDuplicateIcon(iconName);\n } else {\n _iconSettings[normalizedIconName] = {\n code,\n subset,\n } as IIconRecord;\n }\n }\n }\n}\n\n/**\n * Unregisters icons by name.\n *\n * @param iconNames - List of icons to unregister.\n */\nexport function unregisterIcons(iconNames: string[]): void {\n const options = _iconSettings.__options;\n\n for (const iconName of iconNames) {\n const normalizedIconName = normalizeIconName(iconName);\n if (_iconSettings[normalizedIconName]) {\n delete _iconSettings[normalizedIconName];\n } else {\n // Warn that we are trying to delete an icon that doesn't exist\n if (!options.disableWarnings) {\n warn(`The icon \"${iconName}\" tried to unregister but was not registered.`);\n }\n }\n\n // Delete any aliases for this iconName\n if (_iconSettings.__remapped[normalizedIconName]) {\n delete _iconSettings.__remapped[normalizedIconName];\n }\n\n // Delete any items that were an alias for this iconName\n Object.keys(_iconSettings.__remapped).forEach((key: string) => {\n if (_iconSettings.__remapped[key] === normalizedIconName) {\n delete _iconSettings.__remapped[key];\n }\n });\n }\n}\n\n/**\n * Remaps one icon name to another.\n */\nexport function registerIconAlias(iconName: string, mappedToName: string): void {\n _iconSettings.__remapped[normalizeIconName(iconName)] = normalizeIconName(mappedToName);\n}\n\n/**\n * Gets an icon definition. If an icon is requested but the subset has yet to be registered,\n * it will get registered immediately.\n *\n * @public\n * @param name - Name of icon.\n */\nexport function getIcon(name?: string): IIconRecord | undefined {\n let icon: IIconRecord | undefined = undefined;\n const options = _iconSettings.__options;\n\n name = name ? normalizeIconName(name) : '';\n name = _iconSettings.__remapped[name] || name;\n\n if (name) {\n icon = _iconSettings[name!] as IIconRecord;\n\n if (icon) {\n let { subset } = icon;\n if (subset && subset.fontFace) {\n if (!subset.isRegistered) {\n fontFace(subset.fontFace);\n subset.isRegistered = true;\n }\n\n if (!subset.className) {\n subset.className = mergeStyles(subset.style, {\n fontFamily: subset.fontFace.fontFamily,\n fontWeight: subset.fontFace.fontWeight || 'normal',\n fontStyle: subset.fontFace.fontStyle || 'normal',\n });\n }\n }\n } else {\n // eslint-disable-next-line deprecation/deprecation\n if (!options.disableWarnings && options.warnOnMissingIcons) {\n warn(\n `The icon \"${name}\" was used but not registered. See https://github.com/microsoft/fluentui/wiki/Using-icons for more information.`,\n );\n }\n }\n }\n\n return icon;\n}\n\n/**\n * Sets the icon options.\n *\n * @public\n */\nexport function setIconOptions(options: Partial): void {\n _iconSettings.__options = {\n ..._iconSettings.__options,\n ...options,\n };\n}\n\nlet _missingIcons: string[] = [];\nlet _missingIconsTimer: number | undefined = undefined;\n\nfunction _warnDuplicateIcon(iconName: string): void {\n const options = _iconSettings.__options;\n const warningDelay = 2000;\n const maxIconsInMessage = 10;\n\n if (!options.disableWarnings) {\n _missingIcons.push(iconName);\n if (_missingIconsTimer === undefined) {\n _missingIconsTimer = setTimeout(() => {\n warn(\n `Some icons were re-registered. Applications should only call registerIcons for any given ` +\n `icon once. Redefining what an icon is may have unintended consequences. Duplicates ` +\n `include: \\n` +\n _missingIcons.slice(0, maxIconsInMessage).join(', ') +\n (_missingIcons.length > maxIconsInMessage ? ` (+ ${_missingIcons.length - maxIconsInMessage} more)` : ''),\n );\n _missingIconsTimer = undefined;\n _missingIcons = [];\n }, warningDelay);\n }\n }\n}\n","// Do not modify this file; it is generated as part of publish.\n// The checked in version is a placeholder only and will not be updated.\nimport { setVersion } from '@uifabric/set-version';\nsetVersion('@uifabric/icons', '7.5.23');","import { setVersion } from './setVersion';\nexport { setVersion };\n\nsetVersion('@fluentui/set-version', '6.0.0');\n","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","module.exports = require(\"regenerator-runtime\");\n","import { DirectionalHint } from '../../common/DirectionalHint';\nimport type { IRectangle, Point } from '../../Utilities';\n\nexport enum RectangleEdge {\n top = 1,\n bottom = -1,\n left = 2,\n right = -2,\n}\n\nexport enum Position {\n top = 0,\n bottom = 1,\n start = 2,\n end = 3,\n}\n\n/**\n * Window with typings for experimental features regarding Dual Screen devices.\n */\nexport interface IWindowWithSegments extends Window {\n getWindowSegments?: () => DOMRect[];\n}\n\nexport interface IPositionProps {\n target?: Element | MouseEvent | Point;\n /** how the element should be positioned */\n directionalHint?: DirectionalHint;\n /**\n * How the element should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used instead\n */\n directionalHintForRTL?: DirectionalHint;\n /** The gap between the callout and the target */\n gapSpace?: number;\n /**\n * The bounding rectangle for which the contextual menu can appear in.\n */\n bounds?: IRectangle;\n /**\n * If true the position returned will have the menu element cover the target.\n * If false then it will position next to the target;\n */\n coverTarget?: boolean;\n /**\n * If true the position will not change edges in an attempt to fit the rectangle within bounds.\n * It will still attempt to align it to whatever bounds are given.\n * @defaultvalue false\n */\n directionalHintFixed?: boolean;\n\n /**\n * If true the positioning logic will prefer flipping edges over nudging the rectangle to fit within bounds,\n * thus making sure the element align perfectly with target.\n */\n alignTargetEdge?: boolean;\n}\n\nexport interface ICalloutPositionProps extends IPositionProps {\n /**\n * The width of the beak.\n */\n beakWidth?: number;\n\n /**\n * Whether or not the beak is visible\n */\n isBeakVisible?: boolean;\n}\n\nexport interface IPositionedData {\n /**\n * The new position of the element.\n */\n elementPosition: IPosition;\n /**\n * The finalized target edge that element is aligning to. For instance RectangleEdge.bottom would mean\n * that the bottom edge of the target is being aligned to by the RectangleEdge.top of the element\n * that is being positioned.\n */\n targetEdge: RectangleEdge;\n /**\n * The finalized alignment edge that the element is aligning too. For instance, RectangleEdge.left means\n * that the left edge of the target should be in line with the left edge of the element being positioned.\n */\n alignmentEdge?: RectangleEdge;\n}\n\nexport interface ICalloutPositionedInfo extends IPositionedData {\n beakPosition: ICalloutBeakPositionedInfo;\n}\n\nexport interface ICalloutBeakPositionedInfo extends IPositionedData {\n closestEdge: RectangleEdge;\n}\n\n/**\n * Gives the position of some element on the page. Only a pair of vertical and horizontal edges need to be\n * given. So top/left or bottom/left is sufficient.\n * The number given is the distance in pixels from whatever host was given..\n * So bottom: 100 would be 100px up from the bottom of the host while top: 100px from the top.\n */\nexport interface IPosition {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n [key: string]: number | undefined;\n}\n\nexport interface IPositionDirectionalHintData {\n targetEdge: RectangleEdge;\n alignmentEdge?: RectangleEdge;\n isAuto?: boolean;\n alignTargetEdge?: boolean;\n}\n\nexport interface IRelativePositions {\n calloutPosition: IPosition;\n beakPosition: { position: IPosition | undefined; display: 'block' };\n directionalClassName: string;\n submenuDirection: DirectionalHint;\n}\n\n// eslint-disable-next-line deprecation/deprecation\nexport type { Point, IPoint } from '../../Utilities';\n","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","import { IKeyframes } from './IKeyframes';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers keyframe definitions.\n *\n * @public\n */\nexport function keyframes(timeline: IKeyframes): string {\n const stylesheet = Stylesheet.getInstance();\n const name = stylesheet.getClassName();\n\n const rulesArray: string[] = [];\n\n for (const prop in timeline) {\n if (timeline.hasOwnProperty(prop)) {\n rulesArray.push(prop, '{', serializeRuleEntries(getStyleOptions(), timeline[prop]), '}');\n }\n }\n const rules = rulesArray.join('');\n\n stylesheet.insertRule(`@keyframes ${name}{${rules}}`, true);\n\n stylesheet.cacheClassName(name, rules, [], ['keyframes', rules]);\n\n return name;\n}\n","import { IFontFace } from './IRawStyleBase';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { Stylesheet } from './Stylesheet';\nimport { serializeRuleEntries } from './styleToClassName';\n\n/**\n * Registers a font face.\n * @public\n */\nexport function fontFace(font: IFontFace): void {\n Stylesheet.getInstance().insertRule(`@font-face{${serializeRuleEntries(getStyleOptions(), font as {})}}`, true);\n}\n","import { getDocument } from './dom/getDocument';\nimport * as localStorage from './localStorage';\nimport * as sessionStorage from './sessionStorage';\n\n// Default to undefined so that we initialize on first read.\nlet _language: string | null;\n\nconst STORAGE_KEY = 'language';\n\n/**\n * Gets the language set for the page.\n * @param persistenceType - Where to persist the value. Default is `sessionStorage` if available.\n */\nexport function getLanguage(\n persistenceType: 'localStorage' | 'sessionStorage' | 'none' = 'sessionStorage',\n): string | null {\n if (_language === undefined) {\n let doc = getDocument();\n const savedLanguage =\n persistenceType === 'localStorage'\n ? localStorage.getItem(STORAGE_KEY)\n : persistenceType === 'sessionStorage'\n ? sessionStorage.getItem(STORAGE_KEY)\n : undefined;\n\n if (savedLanguage) {\n _language = savedLanguage;\n }\n\n if (_language === undefined && doc) {\n _language = doc.documentElement.getAttribute('lang');\n }\n\n if (_language === undefined) {\n _language = 'en';\n }\n }\n\n return _language;\n}\n\n/**\n * Sets the language for the page (by adjusting the lang attribute of the html element).\n * @param language - Language to set.\n * @param persistenceType - Where to persist the value. Default is `sessionStorage` if available.\n */\nexport function setLanguage(language: string, persistenceType?: 'localStorage' | 'sessionStorage' | 'none'): void;\n/**\n * Sets the language for the page (by adjusting the lang attribute of the html element).\n * @deprecated Use string parameter version.\n * @param language - Language to set.\n * @param avoidPersisting - If true, don't store the value.\n */\nexport function setLanguage(language: string, avoidPersisting?: boolean): void;\nexport function setLanguage(\n language: string,\n persistenceParam?: 'localStorage' | 'sessionStorage' | 'none' | boolean,\n): void {\n let doc = getDocument();\n\n if (doc) {\n doc.documentElement.setAttribute('lang', language);\n }\n\n const persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'sessionStorage' : persistenceParam;\n if (persistenceType === 'localStorage') {\n localStorage.setItem(STORAGE_KEY, language);\n } else if (persistenceType === 'sessionStorage') {\n sessionStorage.setItem(STORAGE_KEY, language);\n }\n\n _language = language;\n}\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Fetches an item from local storage without throwing an exception\n * @param key The key of the item to fetch from local storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n const win = getWindow();\n result = win ? win.localStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into local storage without throwing an exception\n * @param key The key of the item to add to local storage\n * @param data The data to put into local storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n const win = getWindow();\n\n win && win.localStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","/**\n * Simple deep merge function. Takes all arguments and returns a deep copy of the objects merged\n * together in the order provided. If an object creates a circular reference, it will assign the\n * original reference.\n */\nexport function merge(target: Partial, ...args: (Partial | null | undefined | false)[]): T {\n for (const arg of args) {\n _merge(target || {}, arg as Partial);\n }\n\n return target as T;\n}\n\n/**\n * The _merge helper iterates through all props on source and assigns them to target.\n * When the value is an object, we will create a deep clone of the object. However if\n * there is a circular reference, the value will not be deep cloned and will persist\n * the reference.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _merge(target: T, source: T, circularReferences: any[] = []): T {\n circularReferences.push(source);\n\n for (let name in source) {\n if (source.hasOwnProperty(name)) {\n if (name !== '__proto__' && name !== 'constructor' && name !== 'prototype') {\n const value: T[Extract] = source[name];\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\n const isCircularReference = circularReferences.indexOf(value) > -1;\n target[name] = (isCircularReference\n ? value\n : _merge(target[name] || {}, value, circularReferences)) as T[Extract];\n } else {\n target[name] = value;\n }\n }\n }\n }\n\n circularReferences.pop();\n\n return target;\n}\n","import objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!isIconDefinition(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils'; // Initial setting\n// should move it to antd main repo?\n\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\n\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\n\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\n\nvar rafUUID = 0;\nvar rafIds = new Map();\n\nfunction cleanup(id) {\n rafIds.delete(id);\n}\n\nexport default function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id); // Trigger\n\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n }); // Bind real raf id\n\n rafIds.set(id, realId);\n }\n }\n\n callRef(times);\n return id;\n}\n\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport devWarning from '../_util/devWarning';\nimport { changeConfirmLocale } from '../modal/locale';\nimport LocaleContext from './context';\nexport var ANT_MARK = 'internalMark';\n\nvar LocaleProvider = /*#__PURE__*/function (_React$Component) {\n _inherits(LocaleProvider, _React$Component);\n\n var _super = _createSuper(LocaleProvider);\n\n function LocaleProvider(props) {\n var _this;\n\n _classCallCheck(this, LocaleProvider);\n\n _this = _super.call(this, props);\n changeConfirmLocale(props.locale && props.locale.Modal);\n devWarning(props._ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale');\n return _this;\n }\n\n _createClass(LocaleProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n changeConfirmLocale(this.props.locale && this.props.locale.Modal);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var locale = this.props.locale;\n\n if (prevProps.locale !== locale) {\n changeConfirmLocale(locale && locale.Modal);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n changeConfirmLocale();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n locale = _this$props.locale,\n children = _this$props.children;\n return /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n value: _extends(_extends({}, locale), {\n exist: true\n })\n }, children);\n }\n }]);\n\n return LocaleProvider;\n}(React.Component);\n\nexport { LocaleProvider as default };\nLocaleProvider.defaultProps = {\n locale: {}\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nimport * as React from 'react';\nimport Notification from 'rc-notification';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport CheckCircleOutlined from \"@ant-design/icons/es/icons/CheckCircleOutlined\";\nimport CloseCircleOutlined from \"@ant-design/icons/es/icons/CloseCircleOutlined\";\nimport ExclamationCircleOutlined from \"@ant-design/icons/es/icons/ExclamationCircleOutlined\";\nimport InfoCircleOutlined from \"@ant-design/icons/es/icons/InfoCircleOutlined\";\nimport createUseNotification from './hooks/useNotification';\nimport { globalConfig } from '../config-provider';\nvar notificationInstance = {};\nvar defaultDuration = 4.5;\nvar defaultTop = 24;\nvar defaultBottom = 24;\nvar defaultPrefixCls = '';\nvar defaultPlacement = 'topRight';\nvar defaultGetContainer;\nvar defaultCloseIcon;\nvar rtl = false;\n\nfunction setNotificationConfig(options) {\n var duration = options.duration,\n placement = options.placement,\n bottom = options.bottom,\n top = options.top,\n getContainer = options.getContainer,\n closeIcon = options.closeIcon,\n prefixCls = options.prefixCls;\n\n if (prefixCls !== undefined) {\n defaultPrefixCls = prefixCls;\n }\n\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n\n if (placement !== undefined) {\n defaultPlacement = placement;\n } else if (options.rtl) {\n defaultPlacement = 'topLeft';\n }\n\n if (bottom !== undefined) {\n defaultBottom = bottom;\n }\n\n if (top !== undefined) {\n defaultTop = top;\n }\n\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n}\n\nfunction getPlacementStyle(placement) {\n var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultTop;\n var bottom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultBottom;\n var style;\n\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top: top,\n bottom: 'auto'\n };\n break;\n\n case 'topRight':\n style = {\n right: 0,\n top: top,\n bottom: 'auto'\n };\n break;\n\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom: bottom\n };\n break;\n\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom: bottom\n };\n break;\n }\n\n return style;\n}\n\nfunction getNotificationInstance(args, callback) {\n var _args$placement = args.placement,\n placement = _args$placement === void 0 ? defaultPlacement : _args$placement,\n top = args.top,\n bottom = args.bottom,\n _args$getContainer = args.getContainer,\n getContainer = _args$getContainer === void 0 ? defaultGetContainer : _args$getContainer,\n _args$closeIcon = args.closeIcon,\n closeIcon = _args$closeIcon === void 0 ? defaultCloseIcon : _args$closeIcon,\n customizePrefixCls = args.prefixCls;\n\n var _globalConfig = globalConfig(),\n getPrefixCls = _globalConfig.getPrefixCls;\n\n var prefixCls = getPrefixCls('notification', customizePrefixCls || defaultPrefixCls);\n var cacheKey = \"\".concat(prefixCls, \"-\").concat(placement);\n var cacheInstance = notificationInstance[cacheKey];\n\n if (cacheInstance) {\n Promise.resolve(cacheInstance).then(function (instance) {\n callback({\n prefixCls: \"\".concat(prefixCls, \"-notice\"),\n instance: instance\n });\n });\n return;\n }\n\n var closeIconToRender = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }, closeIcon || /*#__PURE__*/React.createElement(CloseOutlined, {\n className: \"\".concat(prefixCls, \"-close-icon\")\n }));\n var notificationClass = classNames(\"\".concat(prefixCls, \"-\").concat(placement), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), rtl === true));\n notificationInstance[cacheKey] = new Promise(function (resolve) {\n Notification.newInstance({\n prefixCls: prefixCls,\n className: notificationClass,\n style: getPlacementStyle(placement, top, bottom),\n getContainer: getContainer,\n closeIcon: closeIconToRender\n }, function (notification) {\n resolve(notification);\n callback({\n prefixCls: \"\".concat(prefixCls, \"-notice\"),\n instance: notification\n });\n });\n });\n}\n\nvar typeToIcon = {\n success: CheckCircleOutlined,\n info: InfoCircleOutlined,\n error: CloseCircleOutlined,\n warning: ExclamationCircleOutlined\n};\n\nfunction getRCNoticeProps(args, prefixCls) {\n var durationArg = args.duration,\n icon = args.icon,\n type = args.type,\n description = args.description,\n message = args.message,\n btn = args.btn,\n onClose = args.onClose,\n onClick = args.onClick,\n key = args.key,\n style = args.style,\n className = args.className;\n var duration = durationArg === undefined ? defaultDuration : durationArg;\n var iconNode = null;\n\n if (icon) {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, args.icon);\n } else if (type) {\n iconNode = /*#__PURE__*/React.createElement(typeToIcon[type] || null, {\n className: \"\".concat(prefixCls, \"-icon \").concat(prefixCls, \"-icon-\").concat(type)\n });\n }\n\n var autoMarginTag = !description && iconNode ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-message-single-line-auto-margin\")\n }) : null;\n return {\n content: /*#__PURE__*/React.createElement(\"div\", {\n className: iconNode ? \"\".concat(prefixCls, \"-with-icon\") : '',\n role: \"alert\"\n }, iconNode, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-message\")\n }, autoMarginTag, message), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, description), btn ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-btn\")\n }, btn) : null),\n duration: duration,\n closable: true,\n onClose: onClose,\n onClick: onClick,\n key: key,\n style: style || {},\n className: classNames(className, _defineProperty({}, \"\".concat(prefixCls, \"-\").concat(type), !!type))\n };\n}\n\nfunction notice(args) {\n getNotificationInstance(args, function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n instance.notice(getRCNoticeProps(args, prefixCls));\n });\n}\n\nvar api = {\n open: notice,\n close: function close(key) {\n Object.keys(notificationInstance).forEach(function (cacheKey) {\n return Promise.resolve(notificationInstance[cacheKey]).then(function (instance) {\n instance.removeNotice(key);\n });\n });\n },\n config: setNotificationConfig,\n destroy: function destroy() {\n Object.keys(notificationInstance).forEach(function (cacheKey) {\n Promise.resolve(notificationInstance[cacheKey]).then(function (instance) {\n instance.destroy();\n });\n delete notificationInstance[cacheKey]; // lgtm[js/missing-await]\n });\n }\n};\n['success', 'info', 'warning', 'error'].forEach(function (type) {\n api[type] = function (args) {\n return api.open(_extends(_extends({}, args), {\n type: type\n }));\n };\n});\napi.warn = api.warning;\napi.useNotification = createUseNotification(getNotificationInstance, getRCNoticeProps);\n/** @private test Only function. Not work on production */\n\nexport var getInstance = function getInstance(cacheKey) {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", process.env.NODE_ENV === 'test' ? notificationInstance[cacheKey] : null);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\nexport default api;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useRCNotification from \"rc-notification/es/useNotification\";\nimport { ConfigConsumer } from '../../config-provider';\nexport default function createUseNotification(getNotificationInstance, getRCNoticeProps) {\n var useNotification = function useNotification() {\n // We can only get content by render\n var getPrefixCls; // We create a proxy to handle delay created instance\n\n var innerInstance = null;\n var proxy = {\n add: function add(noticeProps, holderCallback) {\n innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n }\n };\n\n var _useRCNotification = useRCNotification(proxy),\n _useRCNotification2 = _slicedToArray(_useRCNotification, 2),\n hookNotify = _useRCNotification2[0],\n holder = _useRCNotification2[1];\n\n function notify(args) {\n var customizePrefixCls = args.prefixCls;\n var mergedPrefixCls = getPrefixCls('notification', customizePrefixCls);\n getNotificationInstance(_extends(_extends({}, args), {\n prefixCls: mergedPrefixCls\n }), function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n innerInstance = instance;\n hookNotify(getRCNoticeProps(args, prefixCls));\n });\n } // Fill functions\n\n\n var hookApiRef = React.useRef({});\n hookApiRef.current.open = notify;\n ['success', 'info', 'warning', 'error'].forEach(function (type) {\n hookApiRef.current[type] = function (args) {\n return hookApiRef.current.open(_extends(_extends({}, args), {\n type: type\n }));\n };\n });\n return [hookApiRef.current, /*#__PURE__*/React.createElement(ConfigConsumer, {\n key: \"holder\"\n }, function (context) {\n getPrefixCls = context.getPrefixCls;\n return holder;\n })];\n };\n\n return useNotification;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport LocaleProvider, { ANT_MARK } from '../locale-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { ConfigConsumer, ConfigContext } from './context';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport message from '../message';\nimport notification from '../notification';\nimport defaultLocale from '../locale/default';\nexport { ConfigContext, ConfigConsumer };\nexport var configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader']; // These props is used by `useContext` directly in sub component\n\nvar PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'form'];\nexport var defaultPrefixCls = 'ant';\nvar globalPrefixCls;\n\nvar setGlobalConfig = function setGlobalConfig(params) {\n if (params.prefixCls !== undefined) {\n globalPrefixCls = params.prefixCls;\n }\n};\n\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\n\nexport var globalConfig = function globalConfig() {\n return {\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"\".concat(getGlobalPrefixCls(), \"-\").concat(suffixCls) : getGlobalPrefixCls();\n },\n getRootPrefixCls: function getRootPrefixCls(rootPrefixCls, customizePrefixCls) {\n // Customize rootPrefixCls is first priority\n if (rootPrefixCls) {\n return rootPrefixCls;\n } // If Global prefixCls provided, use this\n\n\n if (globalPrefixCls) {\n return globalPrefixCls;\n } // [Legacy] If customize prefixCls provided, we cut it to get the prefixCls\n\n\n if (customizePrefixCls && customizePrefixCls.includes('-')) {\n return customizePrefixCls.replace(/^(.*)-[^-]*$/, '$1');\n } // Fallback to default prefixCls\n\n\n return getGlobalPrefixCls();\n }\n };\n};\n\nvar ProviderChildren = function ProviderChildren(props) {\n var _a, _b;\n\n var children = props.children,\n csp = props.csp,\n autoInsertSpaceInButton = props.autoInsertSpaceInButton,\n form = props.form,\n locale = props.locale,\n componentSize = props.componentSize,\n direction = props.direction,\n space = props.space,\n virtual = props.virtual,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n legacyLocale = props.legacyLocale,\n parentContext = props.parentContext,\n iconPrefixCls = props.iconPrefixCls;\n var getPrefixCls = React.useCallback(function (suffixCls, customizePrefixCls) {\n var prefixCls = props.prefixCls;\n if (customizePrefixCls) return customizePrefixCls;\n var mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? \"\".concat(mergedPrefixCls, \"-\").concat(suffixCls) : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n\n var config = _extends(_extends({}, parentContext), {\n csp: csp,\n autoInsertSpaceInButton: autoInsertSpaceInButton,\n locale: locale || legacyLocale,\n direction: direction,\n space: space,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n getPrefixCls: getPrefixCls\n }); // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n\n\n PASSED_PROPS.forEach(function (propName) {\n var propValue = props[propName];\n\n if (propValue) {\n config[propName] = propValue;\n }\n }); // https://github.com/ant-design/ant-design/issues/27617\n\n var memoedConfig = useMemo(function () {\n return config;\n }, config, function (prevConfig, currentConfig) {\n var prevKeys = Object.keys(prevConfig);\n var currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(function (key) {\n return prevConfig[key] !== currentConfig[key];\n });\n });\n var memoIconContextValue = React.useMemo(function () {\n return {\n prefixCls: iconPrefixCls,\n csp: csp\n };\n }, [iconPrefixCls]);\n var childNode = children; // Additional Form provider\n\n var validateMessages = {};\n\n if (locale) {\n validateMessages = ((_a = locale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || ((_b = defaultLocale.Form) === null || _b === void 0 ? void 0 : _b.defaultValidateMessages) || {};\n }\n\n if (form && form.validateMessages) {\n validateMessages = _extends(_extends({}, validateMessages), form.validateMessages);\n }\n\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(RcFormProvider, {\n validateMessages: validateMessages\n }, children);\n }\n\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n\n if (iconPrefixCls) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\n\nvar ConfigProvider = function ConfigProvider(props) {\n React.useEffect(function () {\n if (props.direction) {\n message.config({\n rtl: props.direction === 'rtl'\n });\n notification.config({\n rtl: props.direction === 'rtl'\n });\n }\n }, [props.direction]);\n return /*#__PURE__*/React.createElement(LocaleReceiver, null, function (_, __, legacyLocale) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ProviderChildren, _extends({\n parentContext: context,\n legacyLocale: legacyLocale\n }, props));\n });\n });\n};\n/** @private internal Usage. do not use in your production */\n\n\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nexport default ConfigProvider;","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","// TODO: Replace with React.createContext once we can assume React 16+\nimport createContext from \"mini-create-react-context\";\n\nconst createNamedContext = name => {\n const context = createContext();\n context.displayName = name;\n\n return context;\n};\n\nexport default createNamedContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst historyContext = /*#__PURE__*/ createNamedContext(\"Router-History\");\nexport default historyContext;\n","import createNamedContext from \"./createNameContext\";\n\nconst context = /*#__PURE__*/ createNamedContext(\"Router\");\nexport default context;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\nimport HistoryContext from \"./HistoryContext.js\";\nimport RouterContext from \"./RouterContext.js\";\n\n/**\n * The public API for putting history on context.\n */\nclass Router extends React.Component {\n static computeRootMatch(pathname) {\n return { path: \"/\", url: \"/\", params: {}, isExact: pathname === \"/\" };\n }\n\n constructor(props) {\n super(props);\n\n this.state = {\n location: props.history.location\n };\n\n // This is a bit of a hack. We have to start listening for location\n // changes here in the constructor in case there are any s\n // on the initial render. If there are, they will replace/push when\n // they mount and since cDM fires in children before parents, we may\n // get a new location before the is mounted.\n this._isMounted = false;\n this._pendingLocation = null;\n\n if (!props.staticContext) {\n this.unlisten = props.history.listen(location => {\n if (this._isMounted) {\n this.setState({ location });\n } else {\n this._pendingLocation = location;\n }\n });\n }\n }\n\n componentDidMount() {\n this._isMounted = true;\n\n if (this._pendingLocation) {\n this.setState({ location: this._pendingLocation });\n }\n }\n\n componentWillUnmount() {\n if (this.unlisten) {\n this.unlisten();\n this._isMounted = false;\n this._pendingLocation = null;\n }\n }\n\n render() {\n return (\n \n \n \n );\n }\n}\n\nif (__DEV__) {\n Router.propTypes = {\n children: PropTypes.node,\n history: PropTypes.object.isRequired,\n staticContext: PropTypes.object\n };\n\n Router.prototype.componentDidUpdate = function(prevProps) {\n warning(\n prevProps.history === this.props.history,\n \"You cannot change \"\n );\n };\n}\n\nexport default Router;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createMemoryHistory as createHistory } from \"history\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\n/**\n * The public API for a that stores location in memory.\n */\nclass MemoryRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n MemoryRouter.propTypes = {\n initialEntries: PropTypes.array,\n initialIndex: PropTypes.number,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number,\n children: PropTypes.node\n };\n\n MemoryRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { MemoryRouter as Router }`.\"\n );\n };\n}\n\nexport default MemoryRouter;\n","import React from \"react\";\n\nclass Lifecycle extends React.Component {\n componentDidMount() {\n if (this.props.onMount) this.props.onMount.call(this, this);\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.onUpdate) this.props.onUpdate.call(this, this, prevProps);\n }\n\n componentWillUnmount() {\n if (this.props.onUnmount) this.props.onUnmount.call(this, this);\n }\n\n render() {\n return null;\n }\n}\n\nexport default Lifecycle;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path) {\n if (cache[path]) return cache[path];\n\n const generator = pathToRegexp.compile(path);\n\n if (cacheCount < cacheLimit) {\n cache[path] = generator;\n cacheCount++;\n }\n\n return generator;\n}\n\n/**\n * Public API for generating a URL pathname from a path and parameters.\n */\nfunction generatePath(path = \"/\", params = {}) {\n return path === \"/\" ? path : compilePath(path)(params, { pretty: true });\n}\n\nexport default generatePath;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, locationsAreEqual } from \"history\";\nimport invariant from \"tiny-invariant\";\n\nimport Lifecycle from \"./Lifecycle.js\";\nimport RouterContext from \"./RouterContext.js\";\nimport generatePath from \"./generatePath.js\";\n\n/**\n * The public API for navigating programmatically with a component.\n */\nfunction Redirect({ computedMatch, to, push = false }) {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history, staticContext } = context;\n\n const method = push ? history.push : history.replace;\n const location = createLocation(\n computedMatch\n ? typeof to === \"string\"\n ? generatePath(to, computedMatch.params)\n : {\n ...to,\n pathname: generatePath(to.pathname, computedMatch.params)\n }\n : to\n );\n\n // When rendering in a static context,\n // set the new location immediately.\n if (staticContext) {\n method(location);\n return null;\n }\n\n return (\n {\n method(location);\n }}\n onUpdate={(self, prevProps) => {\n const prevLocation = createLocation(prevProps.to);\n if (\n !locationsAreEqual(prevLocation, {\n ...location,\n key: prevLocation.key\n })\n ) {\n method(location);\n }\n }}\n to={to}\n />\n );\n }}\n \n );\n}\n\nif (__DEV__) {\n Redirect.propTypes = {\n push: PropTypes.bool,\n from: PropTypes.string,\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n };\n}\n\nexport default Redirect;\n","import pathToRegexp from \"path-to-regexp\";\n\nconst cache = {};\nconst cacheLimit = 10000;\nlet cacheCount = 0;\n\nfunction compilePath(path, options) {\n const cacheKey = `${options.end}${options.strict}${options.sensitive}`;\n const pathCache = cache[cacheKey] || (cache[cacheKey] = {});\n\n if (pathCache[path]) return pathCache[path];\n\n const keys = [];\n const regexp = pathToRegexp(path, keys, options);\n const result = { regexp, keys };\n\n if (cacheCount < cacheLimit) {\n pathCache[path] = result;\n cacheCount++;\n }\n\n return result;\n}\n\n/**\n * Public API for matching a URL pathname to a path.\n */\nfunction matchPath(pathname, options = {}) {\n if (typeof options === \"string\" || Array.isArray(options)) {\n options = { path: options };\n }\n\n const { path, exact = false, strict = false, sensitive = false } = options;\n\n const paths = [].concat(path);\n\n return paths.reduce((matched, path) => {\n if (!path && path !== \"\") return null;\n if (matched) return matched;\n\n const { regexp, keys } = compilePath(path, {\n end: exact,\n strict,\n sensitive\n });\n const match = regexp.exec(pathname);\n\n if (!match) return null;\n\n const [url, ...values] = match;\n const isExact = pathname === url;\n\n if (exact && !isExact) return null;\n\n return {\n path, // the path used to match\n url: path === \"/\" && url === \"\" ? \"/\" : url, // the matched portion of the URL\n isExact, // whether or not we matched exactly\n params: keys.reduce((memo, key, index) => {\n memo[key.name] = values[index];\n return memo;\n }, {})\n };\n }, null);\n}\n\nexport default matchPath;\n","import React from \"react\";\nimport { isValidElementType } from \"react-is\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nfunction isEmptyChildren(children) {\n return React.Children.count(children) === 0;\n}\n\nfunction evalChildrenDev(children, props, path) {\n const value = children(props);\n\n warning(\n value !== undefined,\n \"You returned `undefined` from the `children` function of \" +\n `, but you ` +\n \"should have returned a React element or `null`\"\n );\n\n return value || null;\n}\n\n/**\n * The public API for matching a single path and rendering.\n */\nclass Route extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n const match = this.props.computedMatch\n ? this.props.computedMatch // already computed the match for us\n : this.props.path\n ? matchPath(location.pathname, this.props)\n : context.match;\n\n const props = { ...context, location, match };\n\n let { children, component, render } = this.props;\n\n // Preact uses an empty array as children by\n // default, so use null if that's the case.\n if (Array.isArray(children) && isEmptyChildren(children)) {\n children = null;\n }\n\n return (\n \n {props.match\n ? children\n ? typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : children\n : component\n ? React.createElement(component, props)\n : render\n ? render(props)\n : null\n : typeof children === \"function\"\n ? __DEV__\n ? evalChildrenDev(children, props, this.props.path)\n : children(props)\n : null}\n \n );\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Route.propTypes = {\n children: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n component: (props, propName) => {\n if (props[propName] && !isValidElementType(props[propName])) {\n return new Error(\n `Invalid prop 'component' supplied to 'Route': the prop is not a valid React component`\n );\n }\n },\n exact: PropTypes.bool,\n location: PropTypes.object,\n path: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n render: PropTypes.func,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool\n };\n\n Route.prototype.componentDidMount = function() {\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.component\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(\n this.props.children &&\n !isEmptyChildren(this.props.children) &&\n this.props.render\n ),\n \"You should not use and in the same route; will be ignored\"\n );\n\n warning(\n !(this.props.component && this.props.render),\n \"You should not use and in the same route; will be ignored\"\n );\n };\n\n Route.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Route;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { createLocation, createPath } from \"history\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport Router from \"./Router.js\";\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === \"/\" ? path : \"/\" + path;\n}\n\nfunction addBasename(basename, location) {\n if (!basename) return location;\n\n return {\n ...location,\n pathname: addLeadingSlash(basename) + location.pathname\n };\n}\n\nfunction stripBasename(basename, location) {\n if (!basename) return location;\n\n const base = addLeadingSlash(basename);\n\n if (location.pathname.indexOf(base) !== 0) return location;\n\n return {\n ...location,\n pathname: location.pathname.substr(base.length)\n };\n}\n\nfunction createURL(location) {\n return typeof location === \"string\" ? location : createPath(location);\n}\n\nfunction staticHandler(methodName) {\n return () => {\n invariant(false, \"You cannot %s with \", methodName);\n };\n}\n\nfunction noop() {}\n\n/**\n * The public top-level API for a \"static\" , so-called because it\n * can't actually change the current location. Instead, it just records\n * location changes in a context object. Useful mainly in testing and\n * server-rendering scenarios.\n */\nclass StaticRouter extends React.Component {\n navigateTo(location, action) {\n const { basename = \"\", context = {} } = this.props;\n context.action = action;\n context.location = addBasename(basename, createLocation(location));\n context.url = createURL(context.location);\n }\n\n handlePush = location => this.navigateTo(location, \"PUSH\");\n handleReplace = location => this.navigateTo(location, \"REPLACE\");\n handleListen = () => noop;\n handleBlock = () => noop;\n\n render() {\n const { basename = \"\", context = {}, location = \"/\", ...rest } = this.props;\n\n const history = {\n createHref: path => addLeadingSlash(basename + createURL(path)),\n action: \"POP\",\n location: stripBasename(basename, createLocation(location)),\n push: this.handlePush,\n replace: this.handleReplace,\n go: staticHandler(\"go\"),\n goBack: staticHandler(\"goBack\"),\n goForward: staticHandler(\"goForward\"),\n listen: this.handleListen,\n block: this.handleBlock\n };\n\n return ;\n }\n}\n\nif (__DEV__) {\n StaticRouter.propTypes = {\n basename: PropTypes.string,\n context: PropTypes.object,\n location: PropTypes.oneOfType([PropTypes.string, PropTypes.object])\n };\n\n StaticRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { StaticRouter as Router }`.\"\n );\n };\n}\n\nexport default StaticRouter;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport warning from \"tiny-warning\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport matchPath from \"./matchPath.js\";\n\n/**\n * The public API for rendering the first that matches.\n */\nclass Switch extends React.Component {\n render() {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const location = this.props.location || context.location;\n\n let element, match;\n\n // We use React.Children.forEach instead of React.Children.toArray().find()\n // here because toArray adds keys to all child elements and we do not want\n // to trigger an unmount/remount for two s that render the same\n // component at different URLs.\n React.Children.forEach(this.props.children, child => {\n if (match == null && React.isValidElement(child)) {\n element = child;\n\n const path = child.props.path || child.props.from;\n\n match = path\n ? matchPath(location.pathname, { ...child.props, path })\n : context.match;\n }\n });\n\n return match\n ? React.cloneElement(element, { location, computedMatch: match })\n : null;\n }}\n \n );\n }\n}\n\nif (__DEV__) {\n Switch.propTypes = {\n children: PropTypes.node,\n location: PropTypes.object\n };\n\n Switch.prototype.componentDidUpdate = function(prevProps) {\n warning(\n !(this.props.location && !prevProps.location),\n ' elements should not change from uncontrolled to controlled (or vice versa). You initially used no \"location\" prop and then provided one on a subsequent render.'\n );\n\n warning(\n !(!this.props.location && prevProps.location),\n ' elements should not change from controlled to uncontrolled (or vice versa). You provided a \"location\" prop initially but omitted it on a subsequent render.'\n );\n };\n}\n\nexport default Switch;\n","import React from \"react\";\nimport invariant from \"tiny-invariant\";\n\nimport RouterContext from \"./RouterContext.js\";\nimport HistoryContext from \"./HistoryContext.js\";\nimport matchPath from \"./matchPath.js\";\n\nconst useContext = React.useContext;\n\nexport function useHistory() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useHistory()\"\n );\n }\n\n return useContext(HistoryContext);\n}\n\nexport function useLocation() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useLocation()\"\n );\n }\n\n return useContext(RouterContext).location;\n}\n\nexport function useParams() {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useParams()\"\n );\n }\n\n const match = useContext(RouterContext).match;\n return match ? match.params : {};\n}\n\nexport function useRouteMatch(path) {\n if (__DEV__) {\n invariant(\n typeof useContext === \"function\",\n \"You must use React >= 16.8 in order to use useRouteMatch()\"\n );\n }\n\n const location = useLocation();\n const match = useContext(RouterContext).match;\n return path ? matchPath(location.pathname, path) : match;\n}\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n\n /**\n * TAB\n */\n TAB: 9,\n\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n\n /**\n * ENTER\n */\n ENTER: 13,\n\n /**\n * SHIFT\n */\n SHIFT: 16,\n\n /**\n * CTRL\n */\n CTRL: 17,\n\n /**\n * ALT\n */\n ALT: 18,\n\n /**\n * PAUSE\n */\n PAUSE: 19,\n\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n\n /**\n * ESC\n */\n ESC: 27,\n\n /**\n * SPACE\n */\n SPACE: 32,\n\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n\n /**\n * END\n */\n END: 35,\n\n /**\n * HOME\n */\n HOME: 36,\n\n /**\n * LEFT\n */\n LEFT: 37,\n\n /**\n * UP\n */\n UP: 38,\n\n /**\n * RIGHT\n */\n RIGHT: 39,\n\n /**\n * DOWN\n */\n DOWN: 40,\n\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n\n /**\n * INSERT\n */\n INSERT: 45,\n\n /**\n * DELETE\n */\n DELETE: 46,\n\n /**\n * ZERO\n */\n ZERO: 48,\n\n /**\n * ONE\n */\n ONE: 49,\n\n /**\n * TWO\n */\n TWO: 50,\n\n /**\n * THREE\n */\n THREE: 51,\n\n /**\n * FOUR\n */\n FOUR: 52,\n\n /**\n * FIVE\n */\n FIVE: 53,\n\n /**\n * SIX\n */\n SIX: 54,\n\n /**\n * SEVEN\n */\n SEVEN: 55,\n\n /**\n * EIGHT\n */\n EIGHT: 56,\n\n /**\n * NINE\n */\n NINE: 57,\n\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n\n /**\n * A\n */\n A: 65,\n\n /**\n * B\n */\n B: 66,\n\n /**\n * C\n */\n C: 67,\n\n /**\n * D\n */\n D: 68,\n\n /**\n * E\n */\n E: 69,\n\n /**\n * F\n */\n F: 70,\n\n /**\n * G\n */\n G: 71,\n\n /**\n * H\n */\n H: 72,\n\n /**\n * I\n */\n I: 73,\n\n /**\n * J\n */\n J: 74,\n\n /**\n * K\n */\n K: 75,\n\n /**\n * L\n */\n L: 76,\n\n /**\n * M\n */\n M: 77,\n\n /**\n * N\n */\n N: 78,\n\n /**\n * O\n */\n O: 79,\n\n /**\n * P\n */\n P: 80,\n\n /**\n * Q\n */\n Q: 81,\n\n /**\n * R\n */\n R: 82,\n\n /**\n * S\n */\n S: 83,\n\n /**\n * T\n */\n T: 84,\n\n /**\n * U\n */\n U: 85,\n\n /**\n * V\n */\n V: 86,\n\n /**\n * W\n */\n W: 87,\n\n /**\n * X\n */\n X: 88,\n\n /**\n * Y\n */\n Y: 89,\n\n /**\n * Z\n */\n Z: 90,\n\n /**\n * META\n */\n META: 91,\n\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n\n /**\n * F1\n */\n F1: 112,\n\n /**\n * F2\n */\n F2: 113,\n\n /**\n * F3\n */\n F3: 114,\n\n /**\n * F4\n */\n F4: 115,\n\n /**\n * F5\n */\n F5: 116,\n\n /**\n * F6\n */\n F6: 117,\n\n /**\n * F7\n */\n F7: 118,\n\n /**\n * F8\n */\n F8: 119,\n\n /**\n * F9\n */\n F9: 120,\n\n /**\n * F10\n */\n F10: 121,\n\n /**\n * F11\n */\n F11: 122,\n\n /**\n * F12\n */\n F12: 123,\n\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n\n /**\n * DASH\n */\n DASH: 189,\n\n /**\n * EQUALS\n */\n EQUALS: 187,\n\n /**\n * COMMA\n */\n COMMA: 188,\n\n /**\n * PERIOD\n */\n PERIOD: 190,\n\n /**\n * SLASH\n */\n SLASH: 191,\n\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n\n if (e.altKey && !e.ctrlKey || e.metaKey || keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n } // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n\n\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n\n default:\n return true;\n }\n },\n\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n } // Safari sends zero key code for non-latin characters.\n\n\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createBrowserHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses HTML5 history.\n */\nclass BrowserRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n BrowserRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n forceRefresh: PropTypes.bool,\n getUserConfirmation: PropTypes.func,\n keyLength: PropTypes.number\n };\n\n BrowserRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\"\n );\n };\n}\n\nexport default BrowserRouter;\n","import React from \"react\";\nimport { Router } from \"react-router\";\nimport { createHashHistory as createHistory } from \"history\";\nimport PropTypes from \"prop-types\";\nimport warning from \"tiny-warning\";\n\n/**\n * The public API for a that uses window.location.hash.\n */\nclass HashRouter extends React.Component {\n history = createHistory(this.props);\n\n render() {\n return ;\n }\n}\n\nif (__DEV__) {\n HashRouter.propTypes = {\n basename: PropTypes.string,\n children: PropTypes.node,\n getUserConfirmation: PropTypes.func,\n hashType: PropTypes.oneOf([\"hashbang\", \"noslash\", \"slash\"])\n };\n\n HashRouter.prototype.componentDidMount = function() {\n warning(\n !this.props.history,\n \" ignores the history prop. To use a custom history, \" +\n \"use `import { Router }` instead of `import { HashRouter as Router }`.\"\n );\n };\n}\n\nexport default HashRouter;\n","import { createLocation } from \"history\";\n\nexport const resolveToLocation = (to, currentLocation) =>\n typeof to === \"function\" ? to(currentLocation) : to;\n\nexport const normalizeToLocation = (to, currentLocation) => {\n return typeof to === \"string\"\n ? createLocation(to, null, null, currentLocation)\n : to;\n};\n","import React from \"react\";\nimport { __RouterContext as RouterContext } from \"react-router\";\nimport { createPath } from 'history';\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nconst LinkAnchor = forwardRef(\n (\n {\n innerRef, // TODO: deprecate\n navigate,\n onClick,\n ...rest\n },\n forwardedRef\n ) => {\n const { target } = rest;\n\n let props = {\n ...rest,\n onClick: event => {\n try {\n if (onClick) onClick(event);\n } catch (ex) {\n event.preventDefault();\n throw ex;\n }\n\n if (\n !event.defaultPrevented && // onClick prevented default\n event.button === 0 && // ignore everything but left clicks\n (!target || target === \"_self\") && // let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // ignore clicks with modifier keys\n ) {\n event.preventDefault();\n navigate();\n }\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.ref = innerRef;\n }\n\n /* eslint-disable-next-line jsx-a11y/anchor-has-content */\n return ;\n }\n);\n\nif (__DEV__) {\n LinkAnchor.displayName = \"LinkAnchor\";\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nconst Link = forwardRef(\n (\n {\n component = LinkAnchor,\n replace,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const { history } = context;\n\n const location = normalizeToLocation(\n resolveToLocation(to, context.location),\n context.location\n );\n\n const href = location ? history.createHref(location) : \"\";\n const props = {\n ...rest,\n href,\n navigate() {\n const location = resolveToLocation(to, context.location);\n const isDuplicateNavigation = createPath(context.location) === createPath(normalizeToLocation(location));\n const method = (replace || isDuplicateNavigation) ? history.replace : history.push;\n\n method(location);\n }\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return React.createElement(component, props);\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n const toType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func\n ]);\n const refType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.any })\n ]);\n\n Link.displayName = \"Link\";\n\n Link.propTypes = {\n innerRef: refType,\n onClick: PropTypes.func,\n replace: PropTypes.bool,\n target: PropTypes.string,\n to: toType.isRequired\n };\n}\n\nexport default Link;\n","import React from \"react\";\nimport { __RouterContext as RouterContext, matchPath } from \"react-router\";\nimport PropTypes from \"prop-types\";\nimport invariant from \"tiny-invariant\";\nimport Link from \"./Link.js\";\nimport {\n resolveToLocation,\n normalizeToLocation\n} from \"./utils/locationUtils.js\";\n\n// React 15 compat\nconst forwardRefShim = C => C;\nlet { forwardRef } = React;\nif (typeof forwardRef === \"undefined\") {\n forwardRef = forwardRefShim;\n}\n\nfunction joinClassnames(...classnames) {\n return classnames.filter(i => i).join(\" \");\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = forwardRef(\n (\n {\n \"aria-current\": ariaCurrent = \"page\",\n activeClassName = \"active\", // TODO: deprecate\n activeStyle, // TODO: deprecate\n className: classNameProp,\n exact,\n isActive: isActiveProp,\n location: locationProp,\n sensitive,\n strict,\n style: styleProp,\n to,\n innerRef, // TODO: deprecate\n ...rest\n },\n forwardedRef\n ) => {\n return (\n \n {context => {\n invariant(context, \"You should not use outside a \");\n\n const currentLocation = locationProp || context.location;\n const toLocation = normalizeToLocation(\n resolveToLocation(to, currentLocation),\n currentLocation\n );\n const { pathname: path } = toLocation;\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath =\n path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n const match = escapedPath\n ? matchPath(currentLocation.pathname, {\n path: escapedPath,\n exact,\n sensitive,\n strict\n })\n : null;\n const isActive = !!(isActiveProp\n ? isActiveProp(match, currentLocation)\n : match);\n\n let className =\n typeof classNameProp === \"function\"\n ? classNameProp(isActive)\n : classNameProp;\n\n let style =\n typeof styleProp === \"function\" ? styleProp(isActive) : styleProp;\n\n if (isActive) {\n className = joinClassnames(className, activeClassName);\n style = { ...style, ...activeStyle };\n }\n\n const props = {\n \"aria-current\": (isActive && ariaCurrent) || null,\n className,\n style,\n to: toLocation,\n ...rest\n };\n\n // React 15 compat\n if (forwardRefShim !== forwardRef) {\n props.ref = forwardedRef || innerRef;\n } else {\n props.innerRef = innerRef;\n }\n\n return ;\n }}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n\n const ariaCurrentType = PropTypes.oneOf([\n \"page\",\n \"step\",\n \"location\",\n \"date\",\n \"time\",\n \"true\",\n \"false\"\n ]);\n\n NavLink.propTypes = {\n ...Link.propTypes,\n \"aria-current\": ariaCurrentType,\n activeClassName: PropTypes.string,\n activeStyle: PropTypes.object,\n className: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n exact: PropTypes.bool,\n isActive: PropTypes.func,\n location: PropTypes.object,\n sensitive: PropTypes.bool,\n strict: PropTypes.bool,\n style: PropTypes.oneOfType([PropTypes.object, PropTypes.func])\n };\n}\n\nexport default NavLink;\n","import devWarning, { resetWarned } from \"rc-util/es/warning\";\nexport { resetWarned };\nexport default (function (valid, component, message) {\n devWarning(valid, \"[antd: \".concat(component, \"] \").concat(message));\n});","import * as React from 'react';\nvar isValidElement = React.isValidElement;\nexport { isValidElement };\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) return replacement;\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { _isSSR } from './setSSR';\n\nlet _window: Window | undefined = undefined;\n\n// Note: Accessing \"window\" in IE11 is somewhat expensive, and calling \"typeof window\"\n// hits a memory leak, whereas aliasing it and calling \"typeof _window\" does not.\n// Caching the window value at the file scope lets us minimize the impact.\ntry {\n _window = window;\n} catch (e) {\n /* no-op */\n}\n\n/**\n * Helper to get the window object. The helper will make sure to use a cached variable\n * of \"window\", to avoid overhead and memory leaks in IE11. Note that in popup scenarios the\n * window object won't match the \"global\" window object, and for these scenarios, you should\n * pass in an element hosted within the popup.\n *\n * @public\n */\nexport function getWindow(rootElement?: Element | null): Window | undefined {\n if (_isSSR || typeof _window === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument && el.ownerDocument.defaultView ? el.ownerDocument.defaultView : _window;\n }\n}\n","export const DirectionalHint = {\n /**\n * Appear above the target element, with the left edges of the callout and target aligning.\n */\n topLeftEdge: 0 as 0,\n\n /**\n * Appear above the target element, with the centers of the callout and target aligning.\n */\n topCenter: 1 as 1,\n\n /**\n * Appear above the target element, with the right edges of the callout and target aligning.\n */\n topRightEdge: 2 as 2,\n\n /**\n * Appear above the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n topAutoEdge: 3 as 3,\n\n /**\n * Appear below the target element, with the left edges of the callout and target aligning.\n */\n bottomLeftEdge: 4 as 4,\n\n /**\n * Appear below the target element, with the centers of the callout and target aligning.\n */\n bottomCenter: 5 as 5,\n\n /**\n * Appear below the target element, with the right edges of the callout and target aligning.\n */\n bottomRightEdge: 6 as 6,\n\n /**\n * Appear below the target element, aligning with the target element such that the callout tends toward\n * the center of the screen.\n */\n bottomAutoEdge: 7 as 7,\n\n /**\n * Appear to the left of the target element, with the top edges of the callout and target aligning.\n */\n leftTopEdge: 8 as 8,\n\n /**\n * Appear to the left of the target element, with the centers of the callout and target aligning.\n */\n leftCenter: 9 as 9,\n\n /**\n * Appear to the left of the target element, with the bottom edges of the callout and target aligning.\n */\n leftBottomEdge: 10 as 10,\n\n /**\n * Appear to the right of the target element, with the top edges of the callout and target aligning.\n */\n rightTopEdge: 11 as 11,\n\n /**\n * Appear to the right of the target element, with the centers of the callout and target aligning.\n */\n rightCenter: 12 as 12,\n\n /**\n * Appear to the right of the target element, with the bottom edges of the callout and target aligning.\n */\n rightBottomEdge: 13 as 13,\n};\n\nexport type DirectionalHint = typeof DirectionalHint[keyof typeof DirectionalHint];\n","import * as React from 'react';\nimport type { IStyle, ITheme } from '../../Styling';\nimport type { IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Image}\n */\nexport interface IImage {}\n\n/**\n * {@docCategory Image}\n */\nexport interface IImageProps extends React.ImgHTMLAttributes, React.RefAttributes {\n /**\n * Call to provide customized styling that will layer on top of the variant rules\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by HOC.\n */\n theme?: ITheme;\n\n /**\n * Additional css class to apply to the Component\n * @defaultvalue undefined\n */\n className?: string;\n\n /**\n * If true, fades the image in when loaded.\n * @defaultvalue true\n */\n shouldFadeIn?: boolean;\n\n /**\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\n * it is successfully loaded. This disables shouldFadeIn.\n * @defaultvalue false;\n */\n shouldStartVisible?: boolean;\n\n /**\n * Used to determine how the image is scaled and cropped to fit the frame.\n *\n * @defaultvalue If both dimensions are provided, then the image is fit using `ImageFit.scale`.\n * Otherwise, the image won't be scaled or cropped.\n */\n imageFit?: ImageFit;\n\n /**\n * @deprecated Not used. Use `onLoadingStateChange` and re-render the Image with a different src.\n */\n errorSrc?: string;\n\n /**\n * If true, the image frame will expand to fill its parent container.\n */\n maximizeFrame?: boolean;\n\n /**\n * Optional callback method for when the image load state has changed.\n * The 'loadState' parameter indicates the current state of the Image.\n */\n onLoadingStateChange?: (loadState: ImageLoadState) => void;\n\n /**\n * Specifies the cover style to be used for this image. If not\n * specified, this will be dynamically calculated based on the\n * aspect ratio for the image.\n */\n coverStyle?: ImageCoverStyle;\n\n /**\n * Allows for browser-level image lazy-loading.\n */\n loading?: 'lazy' | 'eager';\n}\n\n/**\n * The possible methods that can be used to fit the image.\n * {@docCategory Image}\n */\nexport enum ImageFit {\n /**\n * The image is not scaled. The image is centered and cropped within the content box.\n */\n center = 0,\n\n /**\n * The image is scaled to maintain its aspect ratio while being fully contained within the frame. The image will\n * be centered horizontally and vertically within the frame. The space in the top and bottom or in the sides of\n * the frame will be empty depending on the difference in aspect ratio between the image and the frame.\n */\n contain = 1,\n\n /**\n * The image is scaled to maintain its aspect ratio while filling the frame. Portions of the image will be cropped\n * from the top and bottom, or the sides, depending on the difference in aspect ratio between the image and the frame.\n */\n cover = 2,\n\n /**\n * Neither the image nor the frame are scaled. If their sizes do not match, the image will either be cropped or the\n * frame will have empty space.\n */\n none = 3,\n\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height or width is less than the Image frame's height or width,\n * but if both natural height and width are larger than the frame it will behave as ImageFit.cover.\n */\n centerCover = 4,\n\n /**\n * The image will be centered horizontally and vertically within the frame and maintains its aspect ratio. It will\n * behave as ImageFit.center if the image's natural height and width is less than the Image frame's height and width,\n * but if either natural height or width are larger than the frame it will behave as ImageFit.contain.\n */\n centerContain = 5,\n}\n\n/**\n * The cover style to be used on the image\n * {@docCategory Image}\n */\nexport enum ImageCoverStyle {\n /**\n * The image will be shown at 100% height of container and the width will be scaled accordingly\n */\n landscape = 0,\n\n /**\n * The image will be shown at 100% width of container and the height will be scaled accordingly\n */\n portrait = 1,\n}\n\n/**\n * {@docCategory Image}\n */\nexport enum ImageLoadState {\n /**\n * The image has not yet been loaded, and there is no error yet.\n */\n notLoaded = 0,\n\n /**\n * The image has been loaded successfully.\n */\n loaded = 1,\n\n /**\n * An error has been encountered while loading the image.\n */\n error = 2,\n\n /**\n * @deprecated Not used. Use `onLoadingStateChange` and re-render the Image with a different src.\n */\n errorLoaded = 3,\n}\n\n/**\n * {@docCategory Image}\n */\nexport interface IImageStyleProps {\n /**\n * Accept theme prop.\n */\n theme: ITheme;\n\n /**\n * Accept custom classNames\n */\n className?: string;\n\n /**\n * If true, the image frame will expand to fill its parent container.\n */\n maximizeFrame?: boolean;\n\n /**\n * If true, the image is loaded\n */\n isLoaded?: boolean;\n\n /**\n * If true, fades the image in when loaded.\n * @defaultvalue true\n */\n shouldFadeIn?: boolean;\n\n /**\n * If true, the image starts as visible and is hidden on error. Otherwise, the image is hidden until\n * it is successfully loaded. This disables shouldFadeIn.\n * @defaultvalue false;\n */\n shouldStartVisible?: boolean;\n\n /**\n * If true the image is coverStyle landscape instead of portrait\n */\n isLandscape?: boolean;\n\n /**\n * ImageFit booleans for center, cover, contain, centerContain, centerCover, none\n */\n isCenter?: boolean;\n isContain?: boolean;\n isCover?: boolean;\n isCenterContain?: boolean;\n isCenterCover?: boolean;\n isNone?: boolean;\n\n /**\n * if true image load is in error\n */\n isError?: boolean;\n\n /**\n * if true, imageFit is undefined\n */\n isNotImageFit?: boolean;\n\n /**\n * Image width value\n */\n width?: number | string;\n\n /**\n * Image height value\n */\n height?: number | string;\n}\n\n/**\n * {@docCategory Image}\n */\nexport interface IImageStyles {\n /**\n * Style set for the root div element.\n */\n root: IStyle;\n /**\n * Style set for the img element.\n */\n image: IStyle;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","const toObjectMap = (...items: (string[] | Record)[]) => {\n const result: Record = {};\n\n for (const item of items) {\n const keys = Array.isArray(item) ? item : Object.keys(item);\n\n for (const key of keys) {\n result[key] = 1;\n }\n }\n\n return result;\n};\n\n/**\n * An array of events that are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementEvents = toObjectMap([\n 'onCopy',\n 'onCut',\n 'onPaste',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onFocus',\n 'onFocusCapture',\n 'onBlur',\n 'onBlurCapture',\n 'onChange',\n 'onInput',\n 'onSubmit',\n 'onLoad',\n 'onError',\n 'onKeyDown',\n 'onKeyDownCapture',\n 'onKeyPress',\n 'onKeyUp',\n 'onAbort',\n 'onCanPlay',\n 'onCanPlayThrough',\n 'onDurationChange',\n 'onEmptied',\n 'onEncrypted',\n 'onEnded',\n 'onLoadedData',\n 'onLoadedMetadata',\n 'onLoadStart',\n 'onPause',\n 'onPlay',\n 'onPlaying',\n 'onProgress',\n 'onRateChange',\n 'onSeeked',\n 'onSeeking',\n 'onStalled',\n 'onSuspend',\n 'onTimeUpdate',\n 'onVolumeChange',\n 'onWaiting',\n 'onClick',\n 'onClickCapture',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseDownCapture',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onMouseUpCapture',\n 'onSelect',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onScroll',\n 'onWheel',\n 'onPointerCancel',\n 'onPointerDown',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerOut',\n 'onPointerOver',\n 'onPointerUp',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n]);\n\n/**\n * An array of element attributes which are allowed on every html element type.\n *\n * @public\n */\nexport const baseElementProperties = toObjectMap([\n 'accessKey', // global\n 'children', // global\n 'className', // global\n 'contentEditable', // global\n 'dir', // global\n 'draggable', // global\n 'hidden', // global\n 'htmlFor', // global\n 'id', // global\n 'lang', // global\n 'ref', // global\n 'role', // global\n 'style', // global\n 'tabIndex', // global\n 'title', // global\n 'translate', // global\n 'spellCheck', // global\n 'name', // global\n]);\n\n/**\n * An array of HTML element properties and events.\n *\n * @public\n */\nexport const htmlElementProperties = toObjectMap(baseElementProperties, baseElementEvents);\n\n/**\n * An array of LABEL tag properties and events.\n *\n * @public\n */\nexport const labelProperties = toObjectMap(htmlElementProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n]);\n\n/**\n * An array of AUDIO tag properties and events.\n\n * @public\n */\nexport const audioProperties = toObjectMap(htmlElementProperties, [\n 'height', // canvas, embed, iframe, img, input, object, video\n 'loop', // audio, video\n 'muted', // audio, video\n 'preload', // audio, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of VIDEO tag properties and events.\n *\n * @public\n */\nexport const videoProperties = toObjectMap(audioProperties, [\n 'poster', // video\n]);\n\n/**\n * An array of OL tag properties and events.\n *\n * @public\n */\nexport const olProperties = toObjectMap(htmlElementProperties, [\n 'start', // ol\n]);\n\n/**\n * An array of LI tag properties and events.\n *\n * @public\n */\nexport const liProperties = toObjectMap(htmlElementProperties, [\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of A tag properties and events.\n *\n * @public\n */\nexport const anchorProperties = toObjectMap(htmlElementProperties, [\n 'download', // a, area\n 'href', // a, area, base, link\n 'hrefLang', // a, area, link\n 'media', // a, area, link, source, style\n 'rel', // a, area, link\n 'target', // a, area, base, form\n 'type', // a, button, input, link, menu, object, script, source, style\n]);\n\n/**\n * An array of BUTTON tag properties and events.\n *\n * @public\n */\nexport const buttonProperties = toObjectMap(htmlElementProperties, [\n 'autoFocus', // button, input, select, textarea\n 'disabled', // button, fieldset, input, optgroup, option, select, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'formAction', // input, button\n 'formEncType', // input, button\n 'formMethod', // input, button\n 'formNoValidate', // input, button\n 'formTarget', // input, button\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param,\n]);\n\n/**\n * An array of INPUT tag properties and events.\n *\n * @public\n */\nexport const inputProperties = toObjectMap(buttonProperties, [\n 'accept', // input\n 'alt', // area, img, input\n 'autoCapitalize', // input, textarea\n 'autoComplete', // form, input\n 'checked', // input\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'height', // canvas, embed, iframe, img, input, object, video\n 'inputMode', // input\n 'list', // input\n 'max', // input, meter\n 'maxLength', // input, textarea\n 'min', // input, meter\n 'multiple', // input, select\n 'pattern', // input\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'step', // input\n 'size', // input\n 'type', // a, button, input, link, menu, object, script, source, style\n 'value', // button, input, li, option, meter, progress, param\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * An array of TEXTAREA tag properties and events.\n *\n * @public\n */\nexport const textAreaProperties = toObjectMap(buttonProperties, [\n 'autoCapitalize', // input, textarea\n 'cols', // textarea\n 'dirname', // input, textarea\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'maxLength', // input, textarea\n 'placeholder', // input, textarea\n 'readOnly', // input, textarea\n 'required', // input, select, textarea\n 'rows', // textarea\n 'wrap', // textarea\n]);\n\n/**\n * An array of SELECT tag properties and events.\n *\n * @public\n */\nexport const selectProperties = toObjectMap(buttonProperties, [\n 'form', // button, fieldset, input, label, meter, object, output, select, textarea\n 'multiple', // input, select\n 'required', // input, select, textarea\n]);\n\nexport const optionProperties = toObjectMap(htmlElementProperties, [\n 'selected', // option\n 'value', // button, input, li, option, meter, progress, param\n]);\n\n/**\n * An array of TABLE tag properties and events.\n *\n * @public\n */\nexport const tableProperties = toObjectMap(htmlElementProperties, [\n 'cellPadding', // table\n 'cellSpacing', // table\n]);\n\n/**\n * An array of TR tag properties and events.\n *\n * @public\n */\nexport const trProperties = htmlElementProperties;\n\n/**\n * An array of TH tag properties and events.\n *\n * @public\n */\nexport const thProperties = toObjectMap(htmlElementProperties, [\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\n/**\n * An array of TD tag properties and events.\n *\n * @public\n */\nexport const tdProperties = toObjectMap(htmlElementProperties, [\n 'colSpan', // td\n 'headers', // td\n 'rowSpan', // td, th\n 'scope', // th\n]);\n\nexport const colGroupProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\nexport const colProperties = toObjectMap(htmlElementProperties, [\n 'span', // col, colgroup\n]);\n\n/**\n * An array of FORM tag properties and events.\n *\n * @public\n */\nexport const formProperties = toObjectMap(htmlElementProperties, [\n 'acceptCharset', // form\n 'action', // form\n 'encType', // form\n 'encType', // form\n 'method', // form\n 'noValidate', // form\n 'target', // form\n]);\n\n/**\n * An array of IFRAME tag properties and events.\n *\n * @public\n */\nexport const iframeProperties = toObjectMap(htmlElementProperties, [\n 'allow', // iframe\n 'allowFullScreen', // iframe\n 'allowPaymentRequest', // iframe\n 'allowTransparency', // iframe\n 'csp', // iframe\n 'height', // canvas, embed, iframe, img, input, object, video\n 'importance', // iframe\n 'referrerPolicy', // iframe\n 'sandbox', // iframe\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcDoc', // iframe\n 'width', // canvas, embed, iframe, img, input, object, video,\n]);\n\n/**\n * An array of IMAGE tag properties and events.\n *\n * @public\n */\nexport const imgProperties = toObjectMap(htmlElementProperties, [\n 'alt', // area, img, input\n 'crossOrigin', // img\n 'height', // canvas, embed, iframe, img, input, object, video\n 'src', // audio, embed, iframe, img, input, script, source, track, video\n 'srcSet', // img, source\n 'useMap', // img, object,\n 'width', // canvas, embed, iframe, img, input, object, video\n]);\n\n/**\n * @deprecated Use imgProperties for img elements.\n */\nexport const imageProperties = imgProperties;\n\n/**\n * An array of DIV tag properties and events.\n *\n * @public\n */\nexport const divProperties = htmlElementProperties;\n\n/**\n * Gets native supported props for an html element provided the allowance set. Use one of the property\n * sets defined (divProperties, buttonPropertes, etc) to filter out supported properties from a given\n * props set. Note that all data- and aria- prefixed attributes will be allowed.\n * NOTE: getNativeProps should always be applied first when adding props to a react component. The\n * non-native props should be applied second. This will prevent getNativeProps from overriding your custom props.\n * For example, if props passed to getNativeProps has an onClick function and getNativeProps is added to\n * the component after an onClick function is added, then the getNativeProps onClick will override it.\n *\n * @public\n * @param props - The unfiltered input props\n * @param allowedPropsNames - The array or record of allowed prop names.\n * @returns The filtered props\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeProps>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: Record,\n allowedPropNames: string[] | Record,\n excludedPropNames?: string[],\n): T {\n // It'd be great to properly type this while allowing 'aria-` and 'data-' attributes like TypeScript does for\n // JSX attributes, but that ability is hardcoded into the TS compiler with no analog in TypeScript typings.\n // Then we'd be able to enforce props extends native props (including aria- and data- attributes), and then\n // return native props.\n // We should be able to do this once this PR is merged: https://github.com/microsoft/TypeScript/pull/26797\n\n const isArray = Array.isArray(allowedPropNames);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n const keys = Object.keys(props);\n\n for (const key of keys) {\n const isNativeProp =\n (!isArray && (allowedPropNames as Record)[key]) ||\n (isArray && (allowedPropNames as string[]).indexOf(key) >= 0) ||\n key.indexOf('data-') === 0 ||\n key.indexOf('aria-') === 0;\n\n if (isNativeProp && (!excludedPropNames || excludedPropNames?.indexOf(key) === -1)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n result[key] = props![key] as any;\n }\n }\n\n return result as T;\n}\n","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n\n return clone;\n}","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import * as React from 'react';\nvar SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport var SizeContextProvider = function SizeContextProvider(_ref) {\n var children = _ref.children,\n size = _ref.size;\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (originSize) {\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n });\n};\nexport default SizeContext;","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import * as React from 'react';\nimport omit from \"rc-util/es/omit\";\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nexport var FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: function itemRef() {}\n});\nexport var FormItemContext = /*#__PURE__*/React.createContext({\n updateItemErrors: function updateItemErrors() {}\n});\nexport var FormProvider = function FormProvider(props) {\n var providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, providerProps);\n};\nexport var FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});","//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useState, useRef } from 'react';\nexport default function useMountStatus(defaultValue) {\n var destroyRef = useRef(false);\n\n var _useState = useState(defaultValue),\n _useState2 = _slicedToArray(_useState, 2),\n val = _useState2[0],\n setVal = _useState2[1];\n\n function setValue(next) {\n if (!destroyRef.current) {\n setVal(next);\n }\n }\n\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return [val, setValue];\n}","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport useNextFrame from './useNextFrame';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _React$useState = React.useState(STEP_NONE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n step = _React$useState2[0],\n setStep = _React$useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useState from './useState';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null);\n var destroyedRef = useRef(false); // =========================== Dom Node ===========================\n\n var cacheElementRef = useRef(null);\n\n function getDomElement() {\n var element = getElement();\n return element || cacheElementRef.current;\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var canEnd;\n\n if (status === STATUS_APPEAR && activeRef.current) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && activeRef.current) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && activeRef.current) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (canEnd !== false && !destroyedRef.current) {\n setStatus(STATUS_NONE);\n setStyle(null);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case 'appear':\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case 'enter':\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case 'leave':\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n clearTimeout(deadlineRef.current);\n destroyedRef.current = true;\n };\n }, []); // Trigger `onVisibleChanged`\n\n useEffect(function () {\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n return findDOMNode(nodeRef.current || wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rended\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var originRef = useRef(ref);\n originRef.current = ref;\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(originRef.current, node);\n }, []); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys); // Check prev keys to insert or keep\n\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n } // If not hit, it means key is removed\n\n\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n }); // Add rest to the list\n\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n\n\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n }); // Update `STATUS_ADD` to `STATUS_KEEP`\n\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from './CSSMotion';\nimport { supportTransition } from './util/motion';\nimport { STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED, diffKeys, parseKeys } from './util/diff';\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\n\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n\n var _super = _createSuper(CSSMotionList);\n\n function CSSMotionList() {\n var _this;\n\n _classCallCheck(this, CSSMotionList);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n keyEntities: []\n };\n\n _this.removeKey = function (removeKey) {\n _this.setState(function (_ref) {\n var keyEntities = _ref.keyEntities;\n return {\n keyEntities: keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n })\n };\n });\n };\n\n return _this;\n }\n\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var keyEntities = this.state.keyEntities;\n\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n restProps = _objectWithoutProperties(_this$props, [\"component\", \"children\", \"onVisibleChanged\"]);\n\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, [\"status\"]);\n\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n\n if (!changedVisible) {\n _this2.removeKey(eventProps.key);\n }\n }\n }), children);\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n }); // Remove if already mark as removed\n\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n\n return true;\n })\n };\n }\n }]);\n\n return CSSMotionList;\n }(React.Component);\n\n CSSMotionList.defaultProps = {\n component: 'div'\n };\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from './CSSMotion';\nimport CSSMotionList from './CSSMotionList';\nexport { CSSMotionList };\nexport default CSSMotion;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n\n return Array.isArray(value) ? value : [value];\n}","export default function get(entity, path) {\n var current = entity;\n\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n\n current = current[path[i]];\n }\n\n return current;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from './get';\n\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n\n var clone;\n\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n } // Delete prop if `removeIfUndefined` and value is undefined\n\n\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n\n return clone;\n}\n\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n\n return internalSet(entity, paths, value, removeIfUndefined);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport get from \"rc-util/es/utils/get\";\nimport set from \"rc-util/es/utils/set\";\nimport { toArray } from './typeUtil';\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\n\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function getValue(store, namePath) {\n var value = get(store, namePath);\n return value;\n}\nexport function setValue(store, namePath, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var newStore = set(store, namePath, value, removeIfUndefined);\n return newStore;\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\nexport function containsNamePath(namePathList, namePath) {\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(path, namePath);\n });\n}\n\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\n/**\n * Copy values into store and return a new values object\n * ({ a: 1, b: { c: 2 } }, { a: 4, b: { d: 5 } }) => { a: 4, b: { c: 2, d: 5 } }\n */\n\n\nfunction internalSetValues(store, values) {\n var newStore = Array.isArray(store) ? _toConsumableArray(store) : _objectSpread({}, store);\n\n if (!values) {\n return newStore;\n }\n\n Object.keys(values).forEach(function (key) {\n var prevValue = newStore[key];\n var value = values[key]; // If both are object (but target is not array), we use recursion to set deep value\n\n var recursive = isObject(prevValue) && isObject(value);\n newStore[key] = recursive ? internalSetValues(prevValue, value || {}) : value;\n });\n return newStore;\n}\n\nexport function setValues(store) {\n for (var _len = arguments.length, restValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n restValues[_key - 1] = arguments[_key];\n }\n\n return restValues.reduce(function (current, newStore) {\n return internalSetValues(current, newStore);\n }, store);\n}\nexport function matchNamePath(namePath, changedNamePath) {\n if (!namePath || !changedNamePath || namePath.length !== changedNamePath.length) {\n return false;\n }\n\n return namePath.every(function (nameUnit, i) {\n return changedNamePath[i] === nameUnit;\n });\n}\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n\n if (!source && target || source && !target) {\n return false;\n }\n\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(_toConsumableArray(sourceKeys), _toConsumableArray(targetKeys)));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n\n if (event && event.target && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n\n return event;\n}\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\n\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n\n return array;\n}","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport RawAsyncValidator from 'async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { setValues } from './valueUtil';\nimport { defaultValidateMessages } from './messages'; // Remove incorrect original ts define\n\nvar AsyncValidator = RawAsyncValidator;\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\n\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\n/**\n * We use `async-validator` to validate rules. So have to hot replace the message with validator.\n * { required: '${name} is required' } => { required: () => 'field is required' }\n */\n\n\nfunction convertMessages(messages, name, rule, messageVariables) {\n var kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n });\n\n var replaceFunc = function replaceFunc(template, additionalKV) {\n return function () {\n return replaceMessage(template, _objectSpread(_objectSpread({}, kv), additionalKV));\n };\n };\n /* eslint-disable no-param-reassign */\n\n\n function fillTemplate(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Object.keys(source).forEach(function (ruleName) {\n var value = source[ruleName];\n\n if (typeof value === 'string') {\n target[ruleName] = replaceFunc(value, messageVariables);\n } else if (value && _typeof(value) === 'object') {\n target[ruleName] = {};\n fillTemplate(value, target[ruleName]);\n } else {\n target[ruleName] = value;\n }\n });\n return target;\n }\n /* eslint-enable */\n\n\n return fillTemplate(setValues({}, defaultValidateMessages, messages));\n}\n\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\n\n\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, subRuleField, validator, messages, result, subResults;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // We should special handle array validate\n\n subRuleField = null;\n\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = convertMessages(options.validateMessages, name, cloneRule, messageVariables);\n validator.messages(messages);\n result = [];\n _context2.prev = 7;\n _context2.next = 10;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n\n case 10:\n _context2.next = 15;\n break;\n\n case 12:\n _context2.prev = 12;\n _context2.t0 = _context2[\"catch\"](7);\n\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref2, index) {\n var message = _ref2.message;\n return (// Wrap ReactNode with `key`\n\n /*#__PURE__*/\n React.isValidElement(message) ? /*#__PURE__*/React.cloneElement(message, {\n key: \"error_\".concat(index)\n }) : message\n );\n });\n } else {\n console.error(_context2.t0);\n result = [messages.default()];\n }\n\n case 15:\n if (!(!result.length && subRuleField)) {\n _context2.next = 20;\n break;\n }\n\n _context2.next = 18;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n\n case 18:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n\n case 20:\n return _context2.abrupt(\"return\", result);\n\n case 21:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[7, 12]]);\n }));\n return _validateRule.apply(this, arguments);\n}\n\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.'); // Fill rule with context\n\n var filledRules = rules.map(function (currentRule) {\n var originValidatorFunc = currentRule.validator;\n\n if (!originValidatorFunc) {\n return currentRule;\n }\n\n return _objectSpread(_objectSpread({}, currentRule), {}, {\n validator: function validator(rule, val, callback) {\n var hasPromise = false; // Wrap callback only accept when promise not provided\n\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n }; // Get promise\n\n\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n }\n });\n });\n var summaryPromise;\n\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var i, errors;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 11;\n break;\n }\n\n _context.next = 4;\n return validateRule(name, value, filledRules[i], options, messageVariables);\n\n case 4:\n errors = _context.sent;\n\n if (!errors.length) {\n _context.next = 8;\n break;\n }\n\n reject(errors);\n return _context.abrupt(\"return\");\n\n case 8:\n i += 1;\n _context.next = 1;\n break;\n\n case 11:\n /* eslint-enable */\n resolve([]);\n\n case 12:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x6, _x7) {\n return _ref.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables);\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n if (!errors.length) {\n return [];\n }\n\n return Promise.reject(errors);\n });\n } // Internal catch error to avoid console error log.\n\n\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\n\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\n\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(rulePromises) {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref3;\n\n var errors = (_ref3 = []).concat.apply(_ref3, _toConsumableArray(errorsList));\n\n return errors;\n }));\n\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\n\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\n\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (errors) {\n if (errors.length) {\n resolve(errors);\n }\n\n count += 1;\n\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport { toArray } from './utils/typeUtil';\nimport { validateRules } from './utils/validateUtil';\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from './utils/valueUtil';\n\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n\n return prevValue !== nextValue;\n} // We use Class instead of Hooks here since it will cost much code by using Hooks.\n\n\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n\n var _super = _createSuper(Field);\n\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n\n _classCallCheck(this, Field);\n\n _this = _super.call(this, props);\n _this.state = {\n resetCount: 0\n };\n _this.cancelRegisterFunc = null;\n _this.mounted = false;\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n\n _this.touched = false;\n /** Mark when touched & validated. Currently only used for `dependencies` */\n\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = [];\n\n _this.cancelRegister = function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n\n _this.cancelRegisterFunc = null;\n }; // ================================== Utils ==================================\n\n\n _this.getNamePath = function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n };\n\n _this.getRules = function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n\n return rule;\n });\n };\n\n _this.refresh = function () {\n if (!_this.mounted) return;\n /**\n * Clean up current node.\n */\n\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n }; // ========================= Field Entity Interfaces =========================\n // Trigger by store update. Check if need update the component\n\n\n _this.onStoreChange = function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n\n var namePath = _this.getNamePath();\n\n var prevValue = _this.getValue(prevStore);\n\n var curValue = _this.getValue(store);\n\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath); // `setFieldsValue` is a quick access to update related status\n\n if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = [];\n }\n\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = [];\n\n if (onReset) {\n onReset();\n }\n\n _this.refresh();\n\n return;\n }\n\n break;\n\n case 'setField':\n {\n if (namePathMatch) {\n var data = info.data;\n\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n\n if ('errors' in data) {\n _this.errors = data.errors || [];\n }\n\n _this.dirty = true;\n\n _this.reRender();\n\n return;\n } // Handle update by `setField` with `shouldUpdate`\n\n\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath); // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example \n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n\n return;\n }\n\n break;\n }\n\n if (shouldUpdate === true) {\n _this.reRender();\n }\n };\n\n _this.validateRules = function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n\n var currentValue = _this.getValue(); // Force change to async to avoid rule OOD under renderProps field\n\n\n var rootPromise = Promise.resolve().then(function () {\n if (!_this.mounted) {\n return [];\n }\n\n var _this$props5 = _this.props,\n _this$props5$validate = _this$props5.validateFirst,\n validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate,\n messageVariables = _this$props5.messageVariables;\n\n var _ref2 = options || {},\n triggerName = _ref2.triggerName;\n\n var filteredRules = _this.getRules();\n\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n\n if (!validateTrigger) {\n return true;\n }\n\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n\n var promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var errors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (_this.validatePromise === rootPromise) {\n _this.validatePromise = null;\n _this.errors = errors;\n\n _this.reRender();\n }\n });\n return promise;\n });\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = []; // Force trigger re-render since we need sync renderProps with new meta\n\n _this.reRender();\n\n return rootPromise;\n };\n\n _this.isFieldValidating = function () {\n return !!_this.validatePromise;\n };\n\n _this.isFieldTouched = function () {\n return _this.touched;\n };\n\n _this.isFieldDirty = function () {\n return _this.dirty;\n };\n\n _this.getErrors = function () {\n return _this.errors;\n };\n\n _this.isListField = function () {\n return _this.props.isListField;\n };\n\n _this.isList = function () {\n return _this.props.isList;\n };\n\n _this.isPreserve = function () {\n return _this.props.preserve;\n }; // ============================= Child Component =============================\n\n\n _this.getMeta = function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n name: _this.getNamePath()\n };\n return meta;\n }; // Only return validate child node. If invalidate, will do nothing about field.\n\n\n _this.getOnlyChild = function (children) {\n // Support render props\n if (typeof children === 'function') {\n var meta = _this.getMeta();\n\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), meta, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n } // Filed element only\n\n\n var childList = toChildrenArray(children);\n\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n\n return {\n child: childList[0],\n isFunction: false\n };\n }; // ============================== Field Control ==============================\n\n\n _this.getValue = function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n\n var namePath = _this.getNamePath();\n\n return getValue(store || getFieldsValue(true), namePath);\n };\n\n _this.getControlled = function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n\n var namePath = _this.getNamePath();\n\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n\n var value = _this.getValue();\n\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n }; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\n\n var originTriggerFunc = childProps[trigger];\n\n var control = _objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value)); // Add trigger\n\n\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n var newValue;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n }; // Add validateTrigger\n\n\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n } // Always use latest rules\n\n\n var rules = _this.props.rules;\n\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n }; // Register on init\n\n\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n\n initEntityValue(_assertThisInitialized(_this));\n }\n\n return _this;\n }\n\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true; // Register on init\n\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n\n this.cancelRegisterFunc = registerField(this);\n } // One more render for component in case fields not ready\n\n\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction; // Not need to `cloneElement` since user can handle this in render function self\n\n\n var returnChildNode;\n\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n\n return Field;\n}(React.Component);\n\nField.contextType = FieldContext;\nField.defaultProps = {\n trigger: 'onChange',\n valuePropName: 'value'\n};\n\nfunction WrapperField(_ref4) {\n var name = _ref4.name,\n restProps = _objectWithoutProperties(_ref4, [\"name\"]);\n\n var fieldContext = React.useContext(FieldContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n } // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n\n\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\n\nexport default WrapperField;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from './FieldContext';\nimport Field from './Field';\nimport { move as _move, getNamePath } from './utils/valueUtil';\n\nvar List = function List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger;\n var context = React.useContext(FieldContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current; // User should not pass `children` as other type.\n\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n\n var parentPrefixName = getNamePath(context.prefixName) || [];\n var prefixName = [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n\n if (source === 'internal') {\n return false;\n }\n\n return prevValue !== nextValue;\n };\n\n return /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n })\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n\n\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n\n if (indexSet.size <= 0) {\n return;\n }\n\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n }); // Trigger store change\n\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n\n var newValue = getNewValue(); // Do not handle out of range\n\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n\n keyManager.keys = _move(keyManager.keys, from, to); // Trigger store change\n\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n\n if (!Array.isArray(listValue)) {\n listValue = [];\n\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n }));\n};\n\nexport default List;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\n\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n }) // Magic split\n .join(SPLIT);\n}\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\n\n\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n\n this.kvs = new Map();\n }\n\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n } // Since we only use this in test, let simply realize this\n\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n\n return NameMap;\n}();\n\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { HOOK_MARK } from './FieldContext';\nimport { allPromiseFinish } from './utils/asyncUtil';\nimport NameMap from './utils/NameMap';\nimport { defaultValidateMessages } from './utils/messages';\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue, setValues } from './utils/valueUtil';\nexport var FormStore = function FormStore(forceRootUpdate) {\n var _this = this;\n\n _classCallCheck(this, FormStore);\n\n this.formHooked = false;\n this.subscribable = true;\n this.store = {};\n this.fieldEntities = [];\n this.initialValues = {};\n this.callbacks = {};\n this.validateMessages = null;\n this.preserve = null;\n this.lastValidatePromise = null;\n\n this.getForm = function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n getInternalHooks: _this.getInternalHooks\n };\n }; // ======================== Internal Hooks ========================\n\n\n this.getInternalHooks = function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve\n };\n }\n\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n };\n\n this.useSubscribe = function (subscribable) {\n _this.subscribable = subscribable;\n };\n /**\n * First time `setInitialValues` should update store with initial value\n */\n\n\n this.setInitialValues = function (initialValues, init) {\n _this.initialValues = initialValues || {};\n\n if (init) {\n _this.store = setValues({}, initialValues, _this.store);\n }\n };\n\n this.getInitialValue = function (namePath) {\n return getValue(_this.initialValues, namePath);\n };\n\n this.setCallbacks = function (callbacks) {\n _this.callbacks = callbacks;\n };\n\n this.setValidateMessages = function (validateMessages) {\n _this.validateMessages = validateMessages;\n };\n\n this.setPreserve = function (preserve) {\n _this.preserve = preserve;\n }; // ========================== Dev Warning =========================\n\n\n this.timeoutId = null;\n\n this.warningUnhooked = function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n }; // ============================ Fields ============================\n\n /**\n * Get registered field entities.\n * @param pure Only return field which has a `name`. Default: false\n */\n\n\n this.getFieldEntities = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!pure) {\n return _this.fieldEntities;\n }\n\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n };\n\n this.getFieldsMap = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n\n return cache;\n };\n\n this.getFieldEntitiesForNamePathList = function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n\n var cache = _this.getFieldsMap(true);\n\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n };\n\n this.getFieldsValue = function (nameList, filterFunc) {\n _this.warningUnhooked();\n\n if (nameList === true && !filterFunc) {\n return _this.store;\n }\n\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);\n\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _entity$isListField;\n\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath(); // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n\n if (!nameList && ((_entity$isListField = entity.isListField) === null || _entity$isListField === void 0 ? void 0 : _entity$isListField.call(entity))) {\n return;\n }\n\n if (!filterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n\n if (filterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n };\n\n this.getFieldValue = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n };\n\n this.getFieldsError = function (nameList) {\n _this.warningUnhooked();\n\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors()\n };\n }\n\n return {\n name: getNamePath(nameList[index]),\n errors: []\n };\n });\n };\n\n this.getFieldError = function (name) {\n _this.warningUnhooked();\n\n var namePath = getNamePath(name);\n\n var fieldError = _this.getFieldsError([namePath])[0];\n\n return fieldError.errors;\n };\n\n this.isFieldsTouched = function () {\n _this.warningUnhooked();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n\n var fieldEntities = _this.getFieldEntities(true);\n\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n }; // ===== Will get fully compare when not config namePathList =====\n\n\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);\n } // Generate a nest tree for validate\n\n\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath(); // Find matched entity and put into list\n\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n }); // Check if NameMap value is touched\n\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n\n var namePathListEntities = map.map(function (_ref) {\n var value = _ref.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n };\n\n this.isFieldTouched = function (name) {\n _this.warningUnhooked();\n\n return _this.isFieldsTouched([name]);\n };\n\n this.isFieldsValidating = function (nameList) {\n _this.warningUnhooked();\n\n var fieldEntities = _this.getFieldEntities();\n\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n };\n\n this.isFieldValidating = function (name) {\n _this.warningUnhooked();\n\n return _this.isFieldsValidating([name]);\n };\n /**\n * Reset Field with field `initialValue` prop.\n * Can pass `entities` or `namePathList` or just nothing.\n */\n\n\n this.resetWithFieldInitialValue = function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n\n var fieldEntities = _this.getFieldEntities(true);\n\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath(); // Record only if has `initialValue`\n\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n }); // Reset\n\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n\n var formInitialValue = _this.getInitialValue(namePath);\n\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath); // Set `initialValue`\n\n\n if (!info.skipExist || originValue === undefined) {\n _this.store = setValue(_this.store, namePath, _toConsumableArray(records)[0].value);\n }\n }\n }\n }\n });\n };\n\n var requiredFieldEntities;\n\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n\n if (records) {\n var _requiredFieldEntitie;\n\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n\n resetWithFields(requiredFieldEntities);\n };\n\n this.resetFields = function (nameList) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n\n if (!nameList) {\n _this.store = setValues({}, _this.initialValues);\n\n _this.resetWithFieldInitialValue();\n\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n\n return;\n } // Reset by `nameList`\n\n\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n\n _this.store = setValue(_this.store, namePath, initialValue);\n });\n\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n };\n\n this.setFields = function (fields) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n errors = fieldData.errors,\n data = _objectWithoutProperties(fieldData, [\"name\", \"errors\"]);\n\n var namePath = getNamePath(name); // Value\n\n if ('value' in data) {\n _this.store = setValue(_this.store, namePath, data.value);\n }\n\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n };\n\n this.getFields = function () {\n var entities = _this.getFieldEntities(true);\n\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n }; // =========================== Observer ===========================\n\n /**\n * This only trigger when a field is on constructor to avoid we get initialValue too late\n */\n\n\n this.initEntityValue = function (entity) {\n var initialValue = entity.props.initialValue;\n\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n\n if (prevValue === undefined) {\n _this.store = setValue(_this.store, namePath, initialValue);\n }\n }\n };\n\n this.registerField = function (entity) {\n _this.fieldEntities.push(entity); // Set initial values\n\n\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n } // un-register field callback\n\n\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n }); // Clean up store value if not preserve\n\n var mergedPreserve = preserve !== undefined ? preserve : _this.preserve;\n\n if (mergedPreserve === false && (!isListField || subNamePath.length > 1)) {\n var namePath = entity.getNamePath();\n var defaultValue = isListField ? undefined : getValue(_this.initialValues, namePath);\n\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (// Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n _this.store = setValue(_this.store, namePath, defaultValue, true);\n }\n }\n };\n };\n\n this.dispatch = function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n\n _this.updateValue(namePath, value);\n\n break;\n }\n\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n\n break;\n }\n\n default: // Currently we don't have other action. Do nothing.\n\n }\n };\n\n this.notifyObservers = function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n\n _this.getFieldEntities().forEach(function (_ref2) {\n var onStoreChange = _ref2.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n };\n\n this.updateValue = function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.store = setValue(_this.store, namePath, value);\n\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n }); // Notify dependencies children with parent update\n // We need delay to trigger validate in case Field is under render props\n\n\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n }); // trigger callback function\n\n\n var onValuesChange = _this.callbacks.onValuesChange;\n\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n }; // Let all child Field get update.\n\n\n this.setFieldsValue = function (store) {\n _this.warningUnhooked();\n\n var prevStore = _this.store;\n\n if (store) {\n _this.store = setValues(_this.store, store);\n }\n\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n };\n\n this.getDependencyChildrenFields = function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n\n fillChildren(rootNamePath);\n return childrenFields;\n };\n\n this.triggerOnFieldsChange = function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n\n if (onFieldsChange) {\n var fields = _this.getFields();\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n\n\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref3) {\n var name = _ref3.name,\n errors = _ref3.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n\n var changedFields = fields.filter(function (_ref4) {\n var fieldName = _ref4.name;\n return containsNamePath(namePathList, fieldName);\n });\n onFieldsChange(changedFields, fields);\n }\n }; // =========================== Validate ===========================\n\n\n this.validateFields = function (nameList, options) {\n _this.warningUnhooked();\n\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : []; // Collect result in promise list\n\n var promiseList = [];\n\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n /**\n * Recursive validate if configured.\n * TODO: perf improvement @zombieJ\n */\n\n\n if ((options === null || options === void 0 ? void 0 : options.recursive) && provideNameList) {\n var namePath = field.getNamePath();\n\n if ( // nameList[i] === undefined 说明是以 nameList 开头的\n // ['name'] -> ['name','list']\n namePath.every(function (nameUnit, i) {\n return nameList[i] === nameUnit || nameList[i] === undefined;\n })) {\n namePathList.push(namePath);\n }\n } // Skip if without rule\n\n\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n\n var fieldNamePath = field.getNamePath(); // Add field validate rule in to promise list\n\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options)); // Wrap promise with field\n\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: []\n };\n }).catch(function (errors) {\n return Promise.reject({\n name: fieldNamePath,\n errors: errors\n });\n }));\n }\n });\n\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise; // Notify fields with rule that validate has finished and need update\n\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref5) {\n var name = _ref5.name;\n return name;\n });\n\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n }); // Do not throw in console\n\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n }; // ============================ Submit ============================\n\n\n this.submit = function () {\n _this.warningUnhooked();\n\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n };\n\n this.forceRootUpdate = forceRootUpdate;\n};\n\nfunction useForm(form) {\n var formRef = React.useRef();\n\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n\n return [formRef.current];\n}\n\nexport default useForm;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n\n if (count > 0) {\n return;\n }\n\n if (hasError) {\n reject(results);\n }\n\n resolve(results);\n });\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\n\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\n\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport useForm from './useForm';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport FormContext from './FormContext';\nimport { isSimilar } from './utils/valueUtil';\n\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = _objectWithoutProperties(_ref, [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\"]);\n\n var formContext = React.useContext(FormContext); // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n\n var _formInstance$getInte = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _formInstance$getInte.useSubscribe,\n setInitialValues = _formInstance$getInte.setInitialValues,\n setCallbacks = _formInstance$getInte.setCallbacks,\n setValidateMessages = _formInstance$getInte.setValidateMessages,\n setPreserve = _formInstance$getInte.setPreserve; // Pass ref with form instance\n\n\n React.useImperativeHandle(ref, function () {\n return formInstance;\n }); // Register form into Context\n\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]); // Pass props to store\n\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve); // Set initial value, init store value when first mount\n\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n\n if (!mountRef.current) {\n mountRef.current = true;\n } // Prepare children by `children` type\n\n\n var childrenNode = children;\n var childrenRenderProps = typeof children === 'function';\n\n if (childrenRenderProps) {\n var values = formInstance.getFieldsValue(true);\n childrenNode = children(values, formInstance);\n } // Not use subscribe when using render props\n\n\n useSubscribe(!childrenRenderProps); // Listen if fields provided. We use ref to save prev data here to avoid additional render\n\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode);\n\n if (Component === false) {\n return wrapperNode;\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 ? void 0 : _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\n\nexport default Form;","import * as React from 'react';\nimport Field from './Field';\nimport List from './List';\nimport useForm from './useForm';\nimport FieldForm from './Form';\nimport { FormProvider } from './FormContext';\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nexport { Field, List, useForm, FormProvider };\nexport default RefForm;","// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args;\n};\nexport var tupleNum = function tupleNum() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args;\n};","module.exports = require(\"regenerator-runtime\");\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS'; // eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\n\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n setCallbacks: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc\n };\n }\n});\nexport default Context;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport ClearableLabeledInput from './ClearableLabeledInput';\nimport { ConfigConsumer } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport devWarning from '../_util/devWarning';\nimport { getInputClassName, hasPrefixSuffix } from './utils';\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n\n return value;\n}\nexport function resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n\n var event = e;\n var originalInputValue = target.value;\n\n if (e.type === 'click') {\n // click clear icon\n event = Object.create(e);\n event.target = target;\n event.currentTarget = target; // change target ref value cause e.target.value should be '' when clear input\n\n target.value = '';\n onChange(event); // reset target ref value\n\n target.value = originalInputValue;\n return;\n } // Trigger by composition event, this means we need force change the input value\n\n\n if (targetValue !== undefined) {\n event = Object.create(e);\n event.target = target;\n event.currentTarget = target;\n target.value = targetValue;\n onChange(event);\n return;\n }\n\n onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) return;\n element.focus(option); // Selection content\n\n var _ref = option || {},\n cursor = _ref.cursor;\n\n if (cursor) {\n var len = element.value.length;\n\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n\n case 'end':\n element.setSelectionRange(len, len);\n break;\n\n default:\n element.setSelectionRange(0, len);\n }\n }\n}\n\nvar Input = /*#__PURE__*/function (_React$Component) {\n _inherits(Input, _React$Component);\n\n var _super = _createSuper(Input);\n\n function Input(props) {\n var _this;\n\n _classCallCheck(this, Input);\n\n _this = _super.call(this, props);\n _this.direction = 'ltr';\n\n _this.focus = function (option) {\n triggerFocus(_this.input, option);\n };\n\n _this.saveClearableInput = function (input) {\n _this.clearableInput = input;\n };\n\n _this.saveInput = function (input) {\n _this.input = input;\n };\n\n _this.onFocus = function (e) {\n var onFocus = _this.props.onFocus;\n\n _this.setState({\n focused: true\n }, _this.clearPasswordValueAttribute);\n\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n _this.onBlur = function (e) {\n var onBlur = _this.props.onBlur;\n\n _this.setState({\n focused: false\n }, _this.clearPasswordValueAttribute);\n\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n\n _this.handleReset = function (e) {\n _this.setValue('', function () {\n _this.focus();\n });\n\n resolveOnChange(_this.input, e, _this.props.onChange);\n };\n\n _this.renderInput = function (prefixCls, size, bordered) {\n var input = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _this$props = _this.props,\n className = _this$props.className,\n addonBefore = _this$props.addonBefore,\n addonAfter = _this$props.addonAfter,\n customizeSize = _this$props.size,\n disabled = _this$props.disabled; // Fix https://fb.me/react-unknown-prop\n\n var otherProps = omit(_this.props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear', // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'size', 'inputType', 'bordered']);\n return /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: input.autoComplete\n }, otherProps, {\n onChange: _this.handleChange,\n onFocus: _this.onFocus,\n onBlur: _this.onBlur,\n onKeyDown: _this.handleKeyDown,\n className: classNames(getInputClassName(prefixCls, bordered, customizeSize || size, disabled, _this.direction), _defineProperty({}, className, className && !addonBefore && !addonAfter)),\n ref: _this.saveInput\n }));\n };\n\n _this.clearPasswordValueAttribute = function () {\n // https://github.com/ant-design/ant-design/issues/20541\n _this.removePasswordTimeout = setTimeout(function () {\n if (_this.input && _this.input.getAttribute('type') === 'password' && _this.input.hasAttribute('value')) {\n _this.input.removeAttribute('value');\n }\n });\n };\n\n _this.handleChange = function (e) {\n _this.setValue(e.target.value, _this.clearPasswordValueAttribute);\n\n resolveOnChange(_this.input, e, _this.props.onChange);\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props2 = _this.props,\n onPressEnter = _this$props2.onPressEnter,\n onKeyDown = _this$props2.onKeyDown;\n\n if (onPressEnter && e.keyCode === 13) {\n onPressEnter(e);\n }\n\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n\n _this.renderComponent = function (_ref2) {\n var getPrefixCls = _ref2.getPrefixCls,\n direction = _ref2.direction,\n input = _ref2.input;\n var _this$state = _this.state,\n value = _this$state.value,\n focused = _this$state.focused;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$bordered = _this$props3.bordered,\n bordered = _this$props3$bordered === void 0 ? true : _this$props3$bordered;\n var prefixCls = getPrefixCls('input', customizePrefixCls);\n _this.direction = direction;\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (size) {\n return /*#__PURE__*/React.createElement(ClearableLabeledInput, _extends({\n size: size\n }, _this.props, {\n prefixCls: prefixCls,\n inputType: \"input\",\n value: fixControlledValue(value),\n element: _this.renderInput(prefixCls, size, bordered, input),\n handleReset: _this.handleReset,\n ref: _this.saveClearableInput,\n direction: direction,\n focused: focused,\n triggerFocus: _this.focus,\n bordered: bordered\n }));\n });\n };\n\n var value = typeof props.value === 'undefined' ? props.defaultValue : props.value;\n _this.state = {\n value: value,\n focused: false,\n // eslint-disable-next-line react/no-unused-state\n prevValue: props.value\n };\n return _this;\n }\n\n _createClass(Input, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.clearPasswordValueAttribute();\n } // Since polyfill `getSnapshotBeforeUpdate` need work with `componentDidUpdate`.\n // We keep an empty function here.\n\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {}\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n if (hasPrefixSuffix(prevProps) !== hasPrefixSuffix(this.props)) {\n devWarning(this.input !== document.activeElement, 'Input', \"When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ\");\n }\n\n return null;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.removePasswordTimeout) {\n clearTimeout(this.removePasswordTimeout);\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: \"setSelectionRange\",\n value: function setSelectionRange(start, end, direction) {\n this.input.setSelectionRange(start, end, direction);\n }\n }, {\n key: \"select\",\n value: function select() {\n this.input.select();\n }\n }, {\n key: \"setValue\",\n value: function setValue(value, callback) {\n if (this.props.value === undefined) {\n this.setState({\n value: value\n }, callback);\n } else {\n callback === null || callback === void 0 ? void 0 : callback();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderComponent);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, _ref3) {\n var prevValue = _ref3.prevValue;\n var newState = {\n prevValue: nextProps.value\n };\n\n if (nextProps.value !== undefined || prevValue !== nextProps.value) {\n newState.value = nextProps.value;\n }\n\n return newState;\n }\n }]);\n\n return Input;\n}(React.Component);\n\nInput.defaultProps = {\n type: 'text'\n};\nexport default Input;","/**\n * Simulated enum for keycodes. These will get inlined by uglify when used much like an enum\n *\n * @public\n * {@docCategory KeyCodes}\n */\nexport const KeyCodes = {\n backspace: 8 as 8,\n tab: 9 as 9,\n enter: 13 as 13,\n shift: 16 as 16,\n ctrl: 17 as 17,\n alt: 18 as 18,\n pauseBreak: 19 as 19,\n capslock: 20 as 20,\n escape: 27 as 27,\n space: 32 as 32,\n pageUp: 33 as 33,\n pageDown: 34 as 34,\n end: 35 as 35,\n home: 36 as 36,\n left: 37 as 37,\n up: 38 as 38,\n right: 39 as 39,\n down: 40 as 40,\n insert: 45 as 45,\n del: 46 as 46,\n zero: 48 as 48,\n one: 49 as 49,\n two: 50 as 50,\n three: 51 as 51,\n four: 52 as 52,\n five: 53 as 53,\n six: 54 as 54,\n seven: 55 as 55,\n eight: 56 as 56,\n nine: 57 as 57,\n colon: 58 as 58,\n a: 65 as 65,\n b: 66 as 66,\n c: 67 as 67,\n d: 68 as 68,\n e: 69 as 69,\n f: 70 as 70,\n g: 71 as 71,\n h: 72 as 72,\n i: 73 as 73,\n j: 74 as 74,\n k: 75 as 75,\n l: 76 as 76,\n m: 77 as 77,\n n: 78 as 78,\n o: 79 as 79,\n p: 80 as 80,\n q: 81 as 81,\n r: 82 as 82,\n s: 83 as 83,\n t: 84 as 84,\n u: 85 as 85,\n v: 86 as 86,\n w: 87 as 87,\n x: 88 as 88,\n y: 89 as 89,\n z: 90 as 90,\n leftWindow: 91 as 91,\n rightWindow: 92 as 92,\n select: 93 as 93,\n /* eslint-disable @typescript-eslint/naming-convention */\n zero_numpad: 96 as 96,\n one_numpad: 97 as 97,\n two_numpad: 98 as 98,\n three_numpad: 99 as 99,\n four_numpad: 100 as 100,\n five_numpad: 101 as 101,\n six_numpad: 102 as 102,\n seven_numpad: 103 as 103,\n eight_numpad: 104 as 104,\n nine_numpad: 105 as 105,\n /* eslint-enable @typescript-eslint/naming-convention */\n multiply: 106 as 106,\n add: 107 as 107,\n subtract: 109 as 109,\n decimalPoint: 110 as 110,\n divide: 111 as 111,\n f1: 112 as 112,\n f2: 113 as 113,\n f3: 114 as 114,\n f4: 115 as 115,\n f5: 116 as 116,\n f6: 117 as 117,\n f7: 118 as 118,\n f8: 119 as 119,\n f9: 120 as 120,\n f10: 121 as 121,\n f11: 122 as 122,\n f12: 123 as 123,\n numlock: 144 as 144,\n scrollLock: 145 as 145,\n semicolon: 186 as 186,\n equalSign: 187 as 187,\n comma: 188 as 188,\n dash: 189 as 189,\n period: 190 as 190,\n forwardSlash: 191 as 191,\n graveAccent: 192 as 192,\n openBracket: 219 as 219,\n backSlash: 220 as 220,\n closeBracket: 221 as 221,\n singleQuote: 222 as 222,\n};\nexport type KeyCodes = number;\n","export const KTP_PREFIX = 'ktp';\nexport const KTP_SEPARATOR = '-';\nexport const KTP_FULL_PREFIX = KTP_PREFIX + KTP_SEPARATOR;\nexport const DATAKTP_TARGET = 'data-ktp-target';\nexport const DATAKTP_EXECUTE_TARGET = 'data-ktp-execute-target';\nexport const DATAKTP_ARIA_TARGET = 'data-ktp-aria-target';\nexport const KTP_LAYER_ID = 'ktp-layer-id';\nexport const KTP_ARIA_SEPARATOR = ', ';\n\n// Events\nexport namespace KeytipEvents {\n export const KEYTIP_ADDED = 'keytipAdded';\n export const KEYTIP_REMOVED = 'keytipRemoved';\n export const KEYTIP_UPDATED = 'keytipUpdated';\n export const PERSISTED_KEYTIP_ADDED = 'persistedKeytipAdded';\n export const PERSISTED_KEYTIP_REMOVED = 'persistedKeytipRemoved';\n export const PERSISTED_KEYTIP_EXECUTE = 'persistedKeytipExecute';\n export const ENTER_KEYTIP_MODE = 'enterKeytipMode';\n export const EXIT_KEYTIP_MODE = 'exitKeytipMode';\n}\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nmodule.exports = _interopRequireWildcard;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useControlledState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n\n var _React$useState = React.useState(function () {\n if (value !== undefined) {\n return value;\n }\n\n if (defaultValue !== undefined) {\n return typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n\n return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerValue = _React$useState2[0],\n setInnerValue = _React$useState2[1];\n\n var mergedValue = value !== undefined ? value : innerValue;\n\n if (postState) {\n mergedValue = postState(mergedValue);\n }\n\n function triggerChange(newValue) {\n setInnerValue(newValue);\n\n if (mergedValue !== newValue && onChange) {\n onChange(newValue, mergedValue);\n }\n } // Effect of reset value to `undefined`\n\n\n var firstRenderRef = React.useRef(true);\n React.useEffect(function () {\n if (firstRenderRef.current) {\n firstRenderRef.current = false;\n return;\n }\n\n if (value === undefined) {\n setInnerValue(value);\n }\n }, [value]);\n return [mergedValue, triggerChange];\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","import * as React from 'react';\nimport Empty from '../empty';\nimport { ConfigConsumer } from '.';\n\nvar renderEmpty = function renderEmpty(componentName) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var prefix = getPrefixCls('empty');\n\n switch (componentName) {\n case 'Table':\n case 'List':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n className: \"\".concat(prefix, \"-small\")\n });\n\n default:\n return /*#__PURE__*/React.createElement(Empty, null);\n }\n });\n};\n\nexport default renderEmpty;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport defaultRenderEmpty from './renderEmpty';\n\nvar defaultGetPrefixCls = function defaultGetPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"ant-\".concat(suffixCls) : 'ant';\n};\n\nexport var ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n renderEmpty: defaultRenderEmpty\n});\nexport var ConfigConsumer = ConfigContext.Consumer;\n/** @deprecated Use hooks instead. This is a legacy function */\n\nexport function withConfigConsumer(config) {\n return function withConfigConsumerFunc(Component) {\n // Wrap with ConfigConsumer. Since we need compatible with react 15, be care when using ref methods\n var SFC = function SFC(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configProps) {\n var basicPrefixCls = config.prefixCls;\n var getPrefixCls = configProps.getPrefixCls;\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(basicPrefixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(Component, _extends({}, configProps, props, {\n prefixCls: prefixCls\n }));\n });\n };\n\n var cons = Component.constructor;\n var name = cons && cons.displayName || Component.name || 'Component';\n SFC.displayName = \"withConfigConsumer(\".concat(name, \")\");\n return SFC;\n };\n}","import { _isSSR } from './setSSR';\n\n/**\n * Helper to get the document object. Note that in popup window cases, document\n * might be the wrong document, which is why we look at ownerDocument for the\n * truth. Also note that the SSR flag is used to test ssr scenarios even if\n * document is defined (from JSDOM for example.)\n *\n * @public\n */\nexport function getDocument(rootElement?: HTMLElement | null): Document | undefined {\n if (_isSSR || typeof document === 'undefined') {\n return undefined;\n } else {\n const el = rootElement as Element;\n\n return el && el.ownerDocument ? el.ownerDocument : document;\n }\n}\n","var defineProperty = require(\"./defineProperty.js\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread2;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import { IStyle } from './IStyle';\n\nexport const InjectionMode = {\n /**\n * Avoids style injection, use getRules() to read the styles.\n */\n none: 0 as 0,\n\n /**\n * Inserts rules using the insertRule api.\n */\n insertNode: 1 as 1,\n\n /**\n * Appends rules using appendChild.\n */\n appendChild: 2 as 2,\n};\n\nexport type InjectionMode = typeof InjectionMode[keyof typeof InjectionMode];\n\n/**\n * CSP settings for the stylesheet\n */\nexport interface ICSPSettings {\n /**\n * Nonce to inject into script tag\n */\n nonce?: string;\n}\n\n/**\n * Stylesheet config.\n *\n * @public\n */\nexport interface IStyleSheetConfig {\n /**\n * Injection mode for how rules are inserted.\n */\n injectionMode?: InjectionMode;\n\n /**\n * Default 'displayName' to use for a className.\n * @defaultvalue 'css'\n */\n defaultPrefix?: string;\n\n /**\n * Defines the default direction of rules for auto-rtlifying things.\n * While typically this is represented as a DIR attribute in the markup,\n * the DIR is not enough to control whether padding goes on the left or\n * right. Use this to set the default direction when rules are registered.\n */\n rtl?: boolean;\n\n /**\n * Default 'namespace' to attach before the className.\n */\n namespace?: string;\n\n /**\n * CSP settings\n */\n cspSettings?: ICSPSettings;\n\n /**\n * Callback executed when a rule is inserted.\n */\n onInsertRule?: (rule: string) => void;\n\n /**\n * Initial value for classnames cache. Key is serialized css rules associated with a classname.\n */\n classNameCache?: { [key: string]: string };\n}\n\nconst STYLESHEET_SETTING = '__stylesheet__';\n/**\n * MSIE 11 doesn't cascade styles based on DOM ordering, but rather on the order that each style node\n * is created. As such, to maintain consistent priority, IE11 should reuse a single style node.\n */\nconst REUSE_STYLE_NODE = typeof navigator !== 'undefined' && /rv:11.0/.test(navigator.userAgent);\n\nlet _global: { [key: string]: any } = {};\n\n// Grab window.\ntry {\n _global = window;\n} catch {\n /* leave as blank object */\n}\n\nlet _stylesheet: Stylesheet;\n\n/**\n * Represents the state of styles registered in the page. Abstracts\n * the surface for adding styles to the stylesheet, exposes helpers\n * for reading the styles registered in server rendered scenarios.\n *\n * @public\n */\nexport class Stylesheet {\n private _lastStyleElement?: HTMLStyleElement;\n private _styleElement?: HTMLStyleElement;\n private _rules: string[] = [];\n private _preservedRules: string[] = [];\n private _config: IStyleSheetConfig;\n private _rulesToInsert: string[] = [];\n private _counter = 0;\n private _keyToClassName: { [key: string]: string } = {};\n private _onResetCallbacks: (() => void)[] = [];\n\n private _classNameToArgs: { [key: string]: { args: any; rules: string[] } } = {};\n\n /**\n * Gets the singleton instance.\n */\n public static getInstance(): Stylesheet {\n _stylesheet = _global[STYLESHEET_SETTING] as Stylesheet;\n\n if (!_stylesheet || (_stylesheet._lastStyleElement && _stylesheet._lastStyleElement.ownerDocument !== document)) {\n const fabricConfig = _global?.FabricConfig || {};\n\n _stylesheet = _global[STYLESHEET_SETTING] = new Stylesheet(fabricConfig.mergeStyles);\n }\n\n return _stylesheet;\n }\n\n constructor(config?: IStyleSheetConfig) {\n this._config = {\n injectionMode: InjectionMode.insertNode,\n defaultPrefix: 'css',\n namespace: undefined,\n cspSettings: undefined,\n ...config,\n };\n\n this._keyToClassName = this._config.classNameCache || {};\n }\n\n /**\n * Configures the stylesheet.\n */\n public setConfig(config?: IStyleSheetConfig): void {\n this._config = {\n ...this._config,\n ...config,\n };\n }\n\n /**\n * Configures a reset callback.\n *\n * @param callback - A callback which will be called when the Stylesheet is reset.\n */\n public onReset(callback: () => void): void {\n this._onResetCallbacks.push(callback);\n }\n\n /**\n * Generates a unique classname.\n *\n * @param displayName - Optional value to use as a prefix.\n */\n public getClassName(displayName?: string): string {\n const { namespace } = this._config;\n const prefix = displayName || this._config.defaultPrefix;\n\n return `${namespace ? namespace + '-' : ''}${prefix}-${this._counter++}`;\n }\n\n /**\n * Used internally to cache information about a class which was\n * registered with the stylesheet.\n */\n public cacheClassName(className: string, key: string, args: IStyle[], rules: string[]): void {\n this._keyToClassName[key] = className;\n this._classNameToArgs[className] = {\n args,\n rules,\n };\n }\n\n /**\n * Gets the appropriate classname given a key which was previously\n * registered using cacheClassName.\n */\n public classNameFromKey(key: string): string | undefined {\n return this._keyToClassName[key];\n }\n\n /**\n * Gets all classnames cache with the stylesheet.\n */\n public getClassNameCache(): { [key: string]: string } {\n return this._keyToClassName;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public argsFromClassName(className: string): IStyle[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.args;\n }\n\n /**\n * Gets the arguments associated with a given classname which was\n * previously registered using cacheClassName.\n */\n public insertedRulesFromClassName(className: string): string[] | undefined {\n const entry = this._classNameToArgs[className];\n\n return entry && entry.rules;\n }\n\n /**\n * Inserts a css rule into the stylesheet.\n * @param preserve - Preserves the rule beyond a reset boundary.\n */\n public insertRule(rule: string, preserve?: boolean): void {\n const { injectionMode } = this._config;\n const element = injectionMode !== InjectionMode.none ? this._getStyleElement() : undefined;\n\n if (preserve) {\n this._preservedRules.push(rule);\n }\n\n if (element) {\n switch (this._config.injectionMode) {\n case InjectionMode.insertNode:\n const { sheet } = element!;\n\n try {\n (sheet as CSSStyleSheet).insertRule(rule, (sheet as CSSStyleSheet).cssRules.length);\n } catch (e) {\n // The browser will throw exceptions on unsupported rules (such as a moz prefix in webkit.)\n // We need to swallow the exceptions for this scenario, otherwise we'd need to filter\n // which could be slower and bulkier.\n }\n break;\n\n case InjectionMode.appendChild:\n element.appendChild(document.createTextNode(rule));\n break;\n }\n } else {\n this._rules.push(rule);\n }\n\n if (this._config.onInsertRule) {\n this._config.onInsertRule(rule);\n }\n }\n\n /**\n * Gets all rules registered with the stylesheet; only valid when\n * using InsertionMode.none.\n */\n public getRules(includePreservedRules?: boolean): string {\n return (\n (includePreservedRules ? this._preservedRules.join('') : '') + this._rules.join('') + this._rulesToInsert.join('')\n );\n }\n\n /**\n * Resets the internal state of the stylesheet. Only used in server\n * rendered scenarios where we're using InsertionMode.none.\n */\n public reset(): void {\n this._rules = [];\n this._rulesToInsert = [];\n this._counter = 0;\n this._classNameToArgs = {};\n this._keyToClassName = {};\n\n this._onResetCallbacks.forEach((callback: () => void) => callback());\n }\n\n // Forces the regeneration of incoming styles without totally resetting the stylesheet.\n public resetKeys(): void {\n this._keyToClassName = {};\n }\n\n private _getStyleElement(): HTMLStyleElement | undefined {\n if (!this._styleElement && typeof document !== 'undefined') {\n this._styleElement = this._createStyleElement();\n\n if (!REUSE_STYLE_NODE) {\n // Reset the style element on the next frame.\n window.requestAnimationFrame(() => {\n this._styleElement = undefined;\n });\n }\n }\n return this._styleElement;\n }\n\n private _createStyleElement(): HTMLStyleElement {\n const head: HTMLHeadElement = document.head;\n const styleElement = document.createElement('style');\n\n styleElement.setAttribute('data-merge-styles', 'true');\n\n const { cspSettings } = this._config;\n if (cspSettings) {\n if (cspSettings.nonce) {\n styleElement.setAttribute('nonce', cspSettings.nonce);\n }\n }\n if (this._lastStyleElement) {\n // If the `nextElementSibling` is null, then the insertBefore will act as a regular append.\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/insertBefore#Syntax\n head!.insertBefore(styleElement, this._lastStyleElement.nextElementSibling);\n } else {\n const placeholderStyleTag: Element | null = this._findPlaceholderStyleTag();\n\n if (placeholderStyleTag) {\n head!.insertBefore(styleElement, placeholderStyleTag.nextElementSibling);\n } else {\n head!.insertBefore(styleElement, head.childNodes[0]);\n }\n }\n this._lastStyleElement = styleElement;\n\n return styleElement;\n }\n\n private _findPlaceholderStyleTag(): Element | null {\n const head: HTMLHeadElement = document.head;\n if (head) {\n return head.querySelector('style[data-merge-styles]');\n }\n return null;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { Stylesheet } from '@uifabric/merge-styles';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ndeclare class WeakMap {\n public get(key: any): any;\n public set(key: any, value: any): void;\n public has(key: any): boolean;\n}\n\nlet _initializedStylesheetResets = false;\nlet _resetCounter = 0;\nconst _emptyObject = { empty: true };\nconst _dictionary: any = {};\nlet _weakMap = typeof WeakMap === 'undefined' ? null : WeakMap;\n\ninterface IMemoizeNode {\n map: WeakMap | null;\n value?: any;\n}\n\n/**\n * Test utility for providing a custom weakmap.\n *\n * @internal\n * */\nexport function setMemoizeWeakMap(weakMap: any): void {\n _weakMap = weakMap;\n}\n\n/**\n * Reset memoizations.\n */\nexport function resetMemoizations(): void {\n _resetCounter++;\n}\n\n/**\n * Memoize decorator to be used on class methods. WARNING: the `this` reference\n * will be inaccessible within a memoized method, given that a cached method's `this`\n * would not be instance-specific.\n *\n * @public\n */\nexport function memoize(\n target: any,\n key: string,\n descriptor: TypedPropertyDescriptor,\n): {\n configurable: boolean;\n get(): T;\n} {\n // We bind to \"null\" to prevent people from inadvertently pulling values from \"this\",\n // rather than passing them in as input values which can be memoized.\n let fn = memoizeFunction(descriptor.value && descriptor.value.bind(null));\n\n return {\n configurable: true,\n get(): T {\n return fn;\n },\n };\n}\n\n/**\n * Memoizes a function; when you pass in the same parameters multiple times, it returns a cached result.\n * Be careful when passing in objects, you need to pass in the same INSTANCE for caching to work. Otherwise\n * it will grow the cache unnecessarily. Also avoid using default values that evaluate functions; passing in\n * undefined for a value and relying on a default function will execute it the first time, but will not\n * re-evaluate subsequent times which may have been unexpected.\n *\n * By default, the cache will reset after 100 permutations, to avoid abuse cases where the function is\n * unintendedly called with unique objects. Without a reset, the cache could grow infinitely, so we safeguard\n * by resetting. To override this behavior, pass a value of 0 to the maxCacheSize parameter.\n *\n * @public\n * @param cb - The function to memoize.\n * @param maxCacheSize - Max results to cache. If the cache exceeds this value, it will reset on the next call.\n * @param ignoreNullOrUndefinedResult - Flag to decide whether to cache callback result if it is undefined/null.\n * If the flag is set to true, the callback result is recomputed every time till the callback result is\n * not undefined/null for the first time, and then the non-undefined/null version gets cached.\n * @returns A memoized version of the function.\n */\nexport function memoizeFunction RetType, RetType>(\n cb: T,\n maxCacheSize: number = 100,\n ignoreNullOrUndefinedResult: boolean = false,\n): T {\n // Avoid breaking scenarios which don't have weak map.\n if (!_weakMap) {\n return cb;\n }\n\n if (!_initializedStylesheetResets) {\n const stylesheet = Stylesheet.getInstance();\n\n if (stylesheet && stylesheet.onReset) {\n Stylesheet.getInstance().onReset(resetMemoizations);\n }\n _initializedStylesheetResets = true;\n }\n\n let rootNode: any;\n let cacheSize = 0;\n let localResetCounter = _resetCounter;\n\n return function memoizedFunction(...args: any[]): RetType {\n let currentNode: any = rootNode;\n\n if (\n rootNode === undefined ||\n localResetCounter !== _resetCounter ||\n (maxCacheSize > 0 && cacheSize > maxCacheSize)\n ) {\n rootNode = _createNode();\n cacheSize = 0;\n localResetCounter = _resetCounter;\n }\n\n currentNode = rootNode;\n\n // Traverse the tree until we find the match.\n for (let i = 0; i < args.length; i++) {\n let arg = _normalizeArg(args[i]);\n\n if (!currentNode.map.has(arg)) {\n currentNode.map.set(arg, _createNode());\n }\n\n currentNode = currentNode.map.get(arg);\n }\n\n if (!currentNode.hasOwnProperty('value')) {\n currentNode.value = cb(...args);\n cacheSize++;\n }\n\n if (ignoreNullOrUndefinedResult && (currentNode.value === null || currentNode.value === undefined)) {\n currentNode.value = cb(...args);\n }\n\n return currentNode.value;\n } as any;\n}\n\n/**\n * Creates a memoizer for a single-value function, backed by a WeakMap.\n * With a WeakMap, the memoized values are only kept as long as the source objects,\n * ensuring that there is no memory leak.\n *\n * This function assumes that the input values passed to the wrapped function will be\n * `function` or `object` types. To memoize functions which accept other inputs, use\n * `memoizeFunction`, which memoizes against arbitrary inputs using a lookup cache.\n *\n * @public\n */\nexport function createMemoizer any>(getValue: F): F {\n if (!_weakMap) {\n // Without a `WeakMap` implementation, memoization is not possible.\n return getValue;\n }\n\n const cache = new _weakMap();\n\n function memoizedGetValue(input: any): any {\n if (!input || (typeof input !== 'function' && typeof input !== 'object')) {\n // A WeakMap can only be used to test against reference values, i.e. 'function' and 'object'.\n // All other inputs cannot be memoized against in this manner.\n return getValue(input);\n }\n\n if (cache.has(input)) {\n return cache.get(input)!;\n }\n\n const value = getValue(input);\n\n cache.set(input, value);\n\n return value;\n }\n\n return memoizedGetValue as F;\n}\n\nfunction _normalizeArg(val: null | undefined): { empty: boolean } | any;\nfunction _normalizeArg(val: object): any;\nfunction _normalizeArg(val: any): any {\n if (!val) {\n return _emptyObject;\n } else if (typeof val === 'object' || typeof val === 'function') {\n return val;\n } else if (!_dictionary[val]) {\n _dictionary[val] = { val };\n }\n\n return _dictionary[val];\n}\n\nfunction _createNode(): IMemoizeNode {\n return {\n map: _weakMap ? new _weakMap() : null,\n };\n}\n","import * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport type { IFocusZoneProps } from '../../FocusZone';\nimport type { IIconProps } from '../../Icon';\nimport type { ICalloutProps, ICalloutContentStyleProps } from '../../Callout';\nimport type { ITheme, IStyle } from '../../Styling';\nimport type { IButtonStyles } from '../../Button';\nimport type { IRefObject, IBaseProps, IRectangle, IRenderFunction, IStyleFunctionOrObject } from '../../Utilities';\nimport type { IWithResponsiveModeState } from '../../ResponsiveMode';\nimport type { IContextualMenuClassNames, IMenuItemClassNames } from './ContextualMenu.classNames';\nimport type { IVerticalDividerClassNames } from '../Divider/VerticalDivider.types';\nimport type {\n IContextualMenuItemProps,\n IContextualMenuRenderItem,\n IContextualMenuItemStyleProps,\n IContextualMenuItemRenderFunctions,\n} from './ContextualMenuItem.types';\nimport type { IKeytipProps } from '../../Keytip';\nimport type { Target } from '@fluentui/react-hooks';\nimport type { IPopupRestoreFocusParams } from '../../Popup';\n\nexport { DirectionalHint } from '../../common/DirectionalHint';\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport enum ContextualMenuItemType {\n Normal = 0,\n Divider = 1,\n Header = 2,\n Section = 3,\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenu {}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuProps\n extends IBaseProps,\n React.RefAttributes,\n // eslint-disable-next-line deprecation/deprecation\n IWithResponsiveModeState {\n /**\n * Optional callback to access the IContextualMenu interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by higher-order component.\n */\n theme?: ITheme;\n\n /**\n * Additional CSS class to apply to the ContextualMenu.\n */\n className?: string;\n\n /**\n * The target that the ContextualMenu should try to position itself based on.\n * It can be either an element, a query selector string resolving to a valid element,\n * or a MouseEvent. If a MouseEvent is given, the origin point of the event will be used.\n */\n target?: Target;\n\n /**\n * How the menu should be positioned\n * @defaultvalue DirectionalHint.bottomAutoEdge\n */\n directionalHint?: DirectionalHint;\n\n /**\n * How the menu should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used.\n */\n directionalHintForRTL?: DirectionalHint;\n\n /**\n * The gap between the ContextualMenu and the target\n * @defaultvalue 0\n */\n gapSpace?: number;\n\n /**\n * The width of the beak.\n * @defaultvalue 16\n */\n beakWidth?: number;\n\n /**\n * If true the context menu will render as the same width as the target element\n * @defaultvalue false\n */\n useTargetWidth?: boolean;\n\n /**\n * If true the context menu will have a minimum width equal to the width of the target element\n * @defaultvalue false\n */\n useTargetAsMinWidth?: boolean;\n\n /**\n * The bounding rectangle (or callback that returns a rectangle) which the contextual menu can appear in.\n */\n bounds?: IRectangle | ((target?: Target, targetWindow?: Window) => IRectangle | undefined);\n\n /**\n * If true then the beak is visible. If false it will not be shown.\n */\n isBeakVisible?: boolean;\n\n /**\n * If true, the menu will be positioned to cover the target.\n * If false, it will be positioned next to the target.\n * @defaultvalue false\n */\n coverTarget?: boolean;\n\n /**\n * If true the positioning logic will prefer to flip edges rather than to nudge the rectangle to fit within bounds,\n * thus making sure the element aligns perfectly with target's alignment edge\n */\n alignTargetEdge?: boolean;\n\n /**\n * Menu items to display.\n */\n items: IContextualMenuItem[];\n\n /**\n * Used as `aria-labelledby` for the menu element inside the callout.\n */\n labelElementId?: string;\n\n /**\n * Whether to focus on the menu when mounted.\n * @defaultvalue true\n */\n shouldFocusOnMount?: boolean;\n\n /**\n * Whether to focus on the contextual menu container (as opposed to the first menu item).\n */\n shouldFocusOnContainer?: boolean;\n\n /**\n * Callback when the ContextualMenu tries to close. If `dismissAll` is true then all\n * submenus will be dismissed.\n */\n onDismiss?: (ev?: Event | React.MouseEvent | React.KeyboardEvent, dismissAll?: boolean) => void;\n\n /**\n * Click handler which is invoked if `onClick` is not passed for individual contextual\n * menu item.\n * Returning true will dismiss the menu even if `ev.preventDefault()` was called.\n */\n onItemClick?: (\n ev?: React.MouseEvent | React.KeyboardEvent,\n item?: IContextualMenuItem,\n ) => boolean | void;\n\n /**\n * Whether this menu is a submenu of another menu.\n */\n isSubMenu?: boolean;\n\n /**\n * ID for the ContextualMenu's root element (inside the callout).\n * Should be used for `aria-owns` and other such uses, rather than direct reference for programmatic purposes.\n */\n id?: string;\n\n /**\n * Accessible label for the ContextualMenu's root element (inside the callout).\n */\n ariaLabel?: string;\n\n /**\n * If true do not render on a new layer. If false render on a new layer.\n * @defaultvalue false\n */\n doNotLayer?: boolean;\n\n /**\n * If true the position will not change sides in an attempt to fit the ContextualMenu within bounds.\n * It will still attempt to align it to whatever bounds are given.\n * @defaultvalue false\n */\n directionalHintFixed?: boolean;\n\n /**\n * Callback for when the menu has been opened.\n */\n onMenuOpened?: (contextualMenu?: IContextualMenuProps) => void;\n\n /**\n * Callback for when the menu is being closed (removing from the DOM).\n */\n onMenuDismissed?: (contextualMenu?: IContextualMenuProps) => void;\n\n /**\n * Additional custom props for the Callout.\n */\n calloutProps?: ICalloutProps;\n\n /**\n * Title to be displayed at the top of the menu, above the items.\n */\n title?: string;\n\n /**\n * Method to provide the classnames to style the contextual menu.\n * @deprecated Use `styles` instead to leverage mergeStyles API.\n */\n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames?: (theme: ITheme, className?: string) => IContextualMenuClassNames;\n\n /** Custom render function for a submenu. */\n onRenderSubMenu?: IRenderFunction;\n\n /**\n * Method to override the render of the list of menu items.\n */\n onRenderMenuList?: IRenderFunction;\n\n /**\n * Delay (in milliseconds) to wait before expanding / dismissing a submenu on mouseEnter or mouseLeave\n */\n subMenuHoverDelay?: number;\n\n /**\n * Custom component to use for rendering individual menu items.\n * @defaultvalue ContextualMenuItem\n */\n contextualMenuItemAs?:\n | React.ComponentClass\n | React.FunctionComponent;\n\n /**\n * Props to pass down to the FocusZone.\n * NOTE: the default FocusZoneDirection will be used unless a direction\n * is specified in the focusZoneProps (even if other focusZoneProps are defined)\n * @defaultvalue \\{ direction: FocusZoneDirection.vertical \\}\n */\n focusZoneProps?: IFocusZoneProps;\n\n /**\n * Custom component to use for rendering the focus zone (the root).\n * @defaultValue FocusZone\n */\n focusZoneAs?: React.ComponentClass | React.FunctionComponent;\n\n /**\n * If true, renders the ContextualMenu in a hidden state.\n * Use this flag, rather than rendering a ContextualMenu conditionally based on visibility,\n * to improve rendering performance when it becomes visible.\n * Note: When ContextualMenu is hidden its content will not be rendered. It will only render\n * once the ContextualMenu is visible.\n */\n hidden?: boolean;\n\n /**\n * If true, the menu will be updated even when `hidden=true`. Note that this will consume\n * resources to update even when nothing is being shown to the user. This might be helpful if\n * your updates are small and you want the menu to display quickly when `hidden` is set to false.\n */\n shouldUpdateWhenHidden?: boolean;\n\n /**\n * If true, the contextual menu will not be updated until focus enters the menu via other means.\n * This will only result in different behavior when `shouldFocusOnMount = false`.\n */\n delayUpdateFocusOnHover?: boolean;\n\n /**\n * Called when the component is unmounting, and focus needs to be restored. If this is provided,\n * focus will not be restored automatically, and you'll need to call `params.originalElement.focus()`.\n */\n onRestoreFocus?: (params: IPopupRestoreFocusParams) => void;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuItemRenderProps extends IContextualMenuItem {\n index: number;\n focusableElementIndex: number;\n totalItemCount: number;\n hasCheckmarks: boolean;\n hasIcons: boolean;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuListProps {\n items: IContextualMenuItem[];\n totalItemCount: number;\n hasCheckmarks: boolean;\n hasIcons: boolean;\n defaultMenuItemRenderer: (item: IContextualMenuItemRenderProps) => React.ReactNode;\n ariaLabel?: string;\n labelElementId?: string;\n role?: string;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuItem {\n /**\n * Optional callback to access the IContextualMenuRenderItem interface.\n * This will get passed down to ContextualMenuItem.\n */\n componentRef?: IRefObject;\n\n /**\n * Unique id to identify the item\n */\n key: string;\n\n /**\n * Text of the menu item.\n * If a standard hyphen (-) is passed in, then the item will be rendered as a divider.\n * If a dash must appear as text, use an emdash (—), figuredash (‒), or minus symbol (−) instead.\n */\n text?: string;\n\n /**\n * Secondary description for the menu item to display\n */\n secondaryText?: string;\n\n itemType?: ContextualMenuItemType;\n\n /**\n * Props for an icon to display next to the item.\n */\n iconProps?: IIconProps;\n\n /**\n * Custom render function for the menu item icon\n */\n onRenderIcon?: IRenderFunction;\n\n /**\n * Props for the Icon used for the chevron.\n */\n submenuIconProps?: IIconProps;\n\n /**\n * Whether the menu item is disabled\n * @defaultvalue false\n */\n disabled?: boolean;\n\n /**\n * If the menu item is a split button, this prop disables purely the primary action of the button.\n * @defaultvalue false\n */\n primaryDisabled?: boolean;\n\n /**\n * @deprecated Not used\n */\n shortCut?: string;\n\n /**\n * Whether or not this menu item can be checked\n * @defaultvalue false\n */\n canCheck?: boolean;\n\n /**\n * Whether or not this menu item is currently checked.\n * @defaultvalue false\n */\n checked?: boolean;\n\n /**\n * Whether or not this menu item is a splitButton.\n * @defaultvalue false\n */\n split?: boolean;\n\n /**\n * Any custom data the developer wishes to associate with the menu item.\n */\n data?: any;\n\n /**\n * Callback for when the menu item is invoked. If `ev.preventDefault()` is called in `onClick`,\n * the click will not close the menu.\n *\n * Only for ContextualMenu items, returning true will dismiss the menu even if `ev.preventDefault()`\n * was called (does not apply for button or CommandBar sub-menu items).\n */\n onClick?: (\n ev?: React.MouseEvent | React.KeyboardEvent,\n item?: IContextualMenuItem,\n ) => boolean | void;\n\n /**\n * Navigate to this URL when the menu item is clicked.\n */\n href?: string;\n\n /**\n * Target window when using `href`.\n */\n target?: string;\n\n /**\n * Link relation setting when using `href`.\n * If `target` is `_blank`, `rel` is defaulted to a value to prevent clickjacking.\n */\n rel?: string;\n\n /**\n * Properties to apply to a submenu to this item.\n *\n * The ContextualMenu will provide default values for `target`, `onDismiss`, `isSubMenu`,\n * `id`, `shouldFocusOnMount`, `directionalHint`, `className`, and `gapSpace`, all of which\n * can be overridden.\n */\n subMenuProps?: IContextualMenuProps;\n\n /**\n * Method to provide the classnames to style the individual items inside a menu.\n * @deprecated Use `styles` prop of `IContextualMenuItemProps` to leverage mergeStyles API.\n */\n getItemClassNames?: (\n theme: ITheme,\n disabled: boolean,\n expanded: boolean,\n checked: boolean,\n isAnchorLink: boolean,\n knownIcon: boolean,\n itemClassName?: string,\n dividerClassName?: string,\n iconClassName?: string,\n subMenuClassName?: string,\n primaryDisabled?: boolean,\n ) => // eslint-disable-next-line deprecation/deprecation\n IMenuItemClassNames;\n\n /**\n * Optional IContextualMenuItemProps overrides to customize behaviors such as item styling via `styles`.\n */\n itemProps?: Partial;\n\n /**\n * Method to provide the classnames to style the Vertical Divider of a split button inside a menu.\n * Default value is the `getSplitButtonVerticalDividerClassNames` func defined in `ContextualMenu.classnames.ts`.\n * @defaultvalue getSplitButtonVerticalDividerClassNames\n */\n // eslint-disable-next-line deprecation/deprecation\n getSplitButtonVerticalDividerClassNames?: (theme: ITheme) => IVerticalDividerClassNames;\n\n /**\n * Properties to apply to render this item as a section.\n * This prop is mutually exclusive with `subMenuProps`.\n */\n sectionProps?: IContextualMenuSection;\n\n /**\n * Additional CSS class to apply to the menu item.\n */\n className?: string;\n\n /**\n * Additional styles to apply to the menu item\n * @deprecated Use `styles` instead to leverage mergeStyles API.\n */\n style?: React.CSSProperties;\n\n /**\n * Custom accessible label for the element.\n * If no override is specified, the `aria-label` attribute will contain the item name.\n */\n ariaLabel?: string;\n\n /**\n * Title (tooltip) text displayed when hovering over an item.\n */\n title?: string;\n\n /**\n * Method to custom render this menu item.\n * For keyboard accessibility, the top-level rendered item should be a focusable element\n * (like an anchor or a button) or have the `data-is-focusable` property set to true.\n *\n * @param item - Item to render. Will typically be of type `IContextualMenuItem`.\n * (When rendering a command bar item, will be `ICommandBarItemProps`.)\n * @param dismissMenu - Function to dismiss the menu. Can be used to ensure that a custom menu\n * item click dismisses the menu. (Will be undefined if rendering a command bar item.)\n */\n onRender?: (item: any, dismissMenu: (ev?: any, dismissAll?: boolean) => void) => React.ReactNode;\n\n /**\n * Method to customize sub-components rendering of this menu item.\n *\n * @param props - Props used to pass into render functions\n * @param defaultRenders - Default render functions that renders default sub-components\n */\n onRenderContent?: (\n props: IContextualMenuItemProps,\n defaultRenders: IContextualMenuItemRenderFunctions,\n ) => React.ReactNode;\n\n /**\n * A function to be executed on mouse down. This is executed before an `onClick` event and can\n * be used to interrupt native on click events as well. The click event should still handle\n * the commands. This should only be used in special cases when react and non-react are mixed.\n */\n onMouseDown?: (item: IContextualMenuItem, event: React.MouseEvent) => void;\n\n /**\n * Optional override for the menu button's role.\n * @default `menuitem` or `menuitemcheckbox`\n */\n role?: string;\n\n /**\n * When rendering a custom menu component that is passed in, the component might also be a list of\n * elements. We want to keep track of the correct index our menu is using based off of\n * the length of the custom list. It is up to the user to increment the count for their list.\n */\n customOnRenderListLength?: number;\n\n /**\n * Keytip for this contextual menu item\n */\n keytipProps?: IKeytipProps;\n\n /**\n * Any additional properties to use when custom rendering menu items.\n */\n [propertyName: string]: any;\n\n /**\n * Detailed description of the menu item for the benefit of screen readers.\n */\n ariaDescription?: string;\n\n /**\n * ID of the element that contains additional detailed descriptive information for screen readers\n */\n ariaDescribedBy?: string;\n\n /**\n * @deprecated No longer used. All contextual menu items are now focusable when disabled.\n */\n inactive?: boolean;\n\n /**\n * Text of the menu item.\n * @deprecated Use `text` instead.\n */\n name?: string;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuSection extends React.ClassAttributes {\n /**\n * The items to include inside the section.\n */\n items: IContextualMenuItem[];\n\n /**\n * The optional section title.\n */\n title?: string | IContextualMenuItem;\n\n /**\n * If set to true, the section will display a divider at the top of the section.\n */\n topDivider?: boolean;\n\n /**\n * If set to true, the section will display a divider at the bottom of the section.\n */\n bottomDivider?: boolean;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IMenuItemStyles extends IButtonStyles {\n /**\n * Styles for a menu item that is an anchor link.\n */\n item?: IStyle;\n\n /**\n * Styles for the content inside the button/link of the menuItem.\n */\n linkContent?: IStyle;\n\n /**\n * Styles for a menu item that is an anchor link.\n */\n anchorLink?: IStyle;\n\n /**\n * Default icon color style for known icons.\n */\n iconColor?: IStyle;\n\n /**\n * Default style for checkmark icons.\n */\n checkmarkIcon?: IStyle;\n\n /**\n * Styles for the submenu icon of a menu item.\n */\n subMenuIcon?: IStyle;\n\n /**\n * Styles for a divider item of a ContextualMenu.\n */\n divider?: IStyle;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuStyleProps {\n theme: ITheme;\n\n className?: string;\n\n // Insert ContextualMenu style props below\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuStyles {\n /**\n * Style override for the contextual menu title.\n */\n title: IStyle;\n\n /**\n * Style for the container which parents all menu items.\n */\n container: IStyle;\n\n /**\n * Base styles for the root element of all ContextualMenus.\n */\n root: IStyle;\n\n /**\n * Styles for the header item of a ContextualMenu\n */\n header: IStyle;\n\n /**\n * Styles for the list that contains all menuItems.\n */\n list: IStyle;\n\n /**\n * SubComponent styles.\n */\n subComponentStyles: IContextualMenuSubComponentStyles;\n}\n\n/**\n * {@docCategory ContextualMenu}\n */\nexport interface IContextualMenuSubComponentStyles {\n /** Styles for the callout that hosts the ContextualMenu options. */\n callout: IStyleFunctionOrObject;\n\n /** Styles for each menu item. */\n menuItem: IStyleFunctionOrObject;\n}\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to, from) {\n if (from === undefined) from = '';\n\n var toParts = (to && to.split('/')) || [];\n var fromParts = (from && from.split('/')) || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) fromParts.unshift('..');\n\n if (\n mustEndAbs &&\n fromParts[0] !== '' &&\n (!fromParts[0] || !isAbsolute(fromParts[0]))\n )\n fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;\n","function valueOf(obj) {\n return obj.valueOf ? obj.valueOf() : Object.prototype.valueOf.call(obj);\n}\n\nfunction valueEqual(a, b) {\n // Test for strict equality first.\n if (a === b) return true;\n\n // Otherwise, if either of them == null they are not equal.\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return (\n Array.isArray(b) &&\n a.length === b.length &&\n a.every(function(item, index) {\n return valueEqual(item, b[index]);\n })\n );\n }\n\n if (typeof a === 'object' || typeof b === 'object') {\n var aValue = valueOf(a);\n var bValue = valueOf(b);\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n return Object.keys(Object.assign({}, a, b)).every(function(key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return path.toLowerCase().indexOf(prefix.toLowerCase()) === 0 && '/?#'.indexOf(path.charAt(prefix.length)) !== -1;\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction stripHash(url) {\n var hashIndex = url.indexOf('#');\n return hashIndex === -1 ? url : url.slice(0, hashIndex);\n}\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n window.location.replace(stripHash(window.location.href) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function locationsAreEqual$$1(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash;\n }\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual$$1(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n var baseTag = document.querySelector('base');\n var href = '';\n\n if (baseTag && baseTag.getAttribute('href')) {\n href = stripHash(window.location.href);\n }\n\n return href + '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\n","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n throw new Error(prefix + \": \" + (message || ''));\n}\n\nexport default invariant;\n","import * as React from 'react';\nimport type { IRefObject, Point } from '@fluentui/utilities';\n\n/**\n * FocusZone component class interface.\n * {@docCategory FocusZone}\n */\nexport interface IFocusZone {\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even\n * if focus is already in the focus zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n focus(forceIntoFirstElement?: boolean): boolean;\n\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n focusLast(): boolean;\n\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param childElement - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n focusElement(childElement?: HTMLElement, forceAlignment?: boolean): boolean;\n\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference, rather\n * than a center based on the last horizontal motion.\n * @param point - the new reference point.\n */\n setFocusAlignment(point: Point): void;\n}\n\n/**\n * FocusZone component props.\n * {@docCategory FocusZone}\n */\nexport interface IFocusZoneProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the IFocusZone interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Optional callback to access the root DOM element.\n * @deprecated Temporary solution which will be replaced with ref in the V8 release.\n */\n elementRef?: React.Ref;\n\n /**\n * Additional class name to provide on the root element, in addition to the ms-FocusZone class.\n */\n className?: string;\n\n /**\n * Defines which arrows to react to.\n * @defaultvalue FocusZoneDirection.bidirectional\n */\n direction?: FocusZoneDirection;\n\n /**\n * Optionally defines the initial tabbable element inside the FocusZone.\n * If a string is passed then it is treated as a selector for identifying the initial tabbable element.\n * If a function is passed then it uses the root element as a parameter to return the initial tabbable element.\n */\n defaultTabbableElement?: string | ((root: HTMLElement) => HTMLElement);\n\n /**\n * Optionally provide a selector for identifying the initial active element.\n * @deprecated Use `defaultTabbableElement` instead.\n */\n defaultActiveElement?: string;\n\n /**\n * Determines if a default tabbable element should be force focused on FocusZone mount.\n * @default false\n */\n shouldFocusOnMount?: boolean;\n\n /**\n * If set, the FocusZone will not be tabbable and keyboard navigation will be disabled.\n * This does not affect disabled attribute of any child.\n */\n disabled?: boolean;\n\n /**\n * Element type the root element will use. Default is \"div\".\n * @deprecated Use `as` instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n elementType?: any /* TODO should be `keyof React.ReactHTML`, tracking with https://github.com/Microsoft/TypeScript/issues/30050 */;\n\n /**\n * A component that should be used as the root element of the FocusZone component.\n */\n as?: React.ElementType;\n\n /**\n * If set, will cycle to the beginning of the targets once the user navigates to the\n * next target while at the end, and to the end when navigate to the previous at the beginning.\n */\n isCircularNavigation?: boolean;\n\n /**\n * If provided, this callback will be executed on keypresses to determine if the user\n * intends to navigate into the inner zone. Returning true will ask the first inner zone to\n * set focus.\n * @deprecated Use `shouldEnterInnerZone` instead.\n */\n isInnerZoneKeystroke?: (ev: React.KeyboardEvent) => boolean;\n\n /**\n * Callback function that will be executed on keypresses to determine if the user intends to navigate into\n * the inner (nested) zone. Returning true will ask the first inner zone to set focus.\n */\n shouldEnterInnerZone?: (ev: React.KeyboardEvent) => boolean;\n\n /**\n * Sets the aria-labelledby attribute.\n * @deprecated Directly use the `aria-labelledby` attribute instead\n */\n ariaLabelledBy?: string;\n\n /**\n * Sets the aria-describedby attribute.\n * @deprecated Directly use the `aria-describedby` attribute instead\n */\n ariaDescribedBy?: string;\n\n /**\n * Callback for when one of immediate children elements gets active by getting focused\n * or by having one of its respective children elements focused.\n */\n onActiveElementChanged?: (element?: HTMLElement, ev?: React.FocusEvent) => void;\n\n /**\n * @deprecated Div props provided to the FocusZone will be mixed into the root element.\n * Deprecated at v1.12.1.\n */\n rootProps?: React.HTMLAttributes;\n\n /**\n * Callback method for determining if focus should indeed be set on the given element.\n * @param element - The child element within the zone to focus.\n * @returns True if focus should be set to the given element, false to avoid setting focus.\n * @deprecated Use `shouldReceiveFocus` instead.\n */\n onBeforeFocus?: (childElement?: HTMLElement) => boolean;\n\n /**\n * Callback method for determining if focus should indeed be set on the given element.\n * @param element - The child element within the zone to focus.\n * @returns True if focus should be set to the given element, false to avoid setting focus.\n */\n shouldReceiveFocus?: (childElement?: HTMLElement) => boolean;\n\n /** Allows focus to park on root when focus is in the `FocusZone` at render time. */\n allowFocusRoot?: boolean;\n\n /**\n * Allows tab key to be handled to tab through a list of items in the focus zone,\n * an unfortunate side effect is that users will not be able to tab out of the focus zone\n * and have to hit escape or some other key.\n * @deprecated Use `handleTabKey` instead.\n *\n */\n allowTabKey?: boolean;\n\n /**\n * Allows tab key to be handled to tab through a list of items in the focus zone,\n * an unfortunate side effect is that users will not be able to tab out of the focus zone\n * and have to hit escape or some other key.\n */\n handleTabKey?: FocusZoneTabbableElements;\n\n /**\n * If true and FocusZone's root element (container) receives focus, the focus will land either on the\n * defaultTabbableElement (if set) or on the first tabbable element of this FocusZone.\n * Usually a case for nested focus zones, when the nested focus zone's container is a focusable element.\n */\n shouldFocusInnerElementWhenReceivedFocus?: boolean;\n\n /**\n * If true and TAB key is not handled by FocusZone, resets current active element to null value.\n * For example, when roving index is not desirable and focus should always reset to the default tabbable element.\n */\n shouldResetActiveElementWhenTabFromZone?: boolean;\n\n /**\n * Determines whether the FocusZone will walk up the DOM trying to invoke click callbacks on focusable elements on\n * Enter and Space keydowns to ensure accessibility for tags that don't guarantee this behavior.\n * @defaultvalue true\n */\n shouldRaiseClicks?: boolean;\n\n /**\n * A callback method to determine if the input element should lose focus on arrow keys\n * @param inputElement - The input element which is to loose focus.\n * @returns True if input element should loose focus or false otherwise.\n */\n shouldInputLoseFocusOnArrowKey?: (inputElement: HTMLInputElement) => boolean;\n\n /**\n * Determines whether to disable the paging support for Page Up and Page Down keyboard scenarios.\n * @defaultvalue false\n */\n pagingSupportDisabled?: boolean;\n\n /**\n * Determines whether to check for data-no-horizontal-wrap or data-no-vertical-wrap attributes\n * when determining how to move focus\n * @defaultvalue false\n */\n checkForNoWrap?: boolean;\n\n /**\n * Whether the FocusZone should allow focus events to propagate past the FocusZone.\n * @deprecated Use `stopFocusPropagation` instead.\n */\n doNotAllowFocusEventToPropagate?: boolean;\n\n /**\n * Whether the FocusZone should allow focus events to propagate past the FocusZone.\n */\n stopFocusPropagation?: boolean;\n\n /**\n * Callback to notify creators that focus has been set on the FocusZone\n * @deprecated Use `onFocus` instead.\n */\n onFocusNotification?: () => void;\n\n /**\n * Callback called when \"focus\" event triggered in FocusZone.\n * @param event - React's original FocusEvent.\n */\n onFocus?: (event: React.FocusEvent) => void;\n\n /**\n * If true, FocusZone prevents the default behavior of Keyboard events when changing focus between elements.\n * @defaultvalue false\n */\n preventDefaultWhenHandled?: boolean;\n\n /**\n * If true, prevents the FocusZone from attempting to restore the focus to the inner element when the focus is on the\n * root element after componentDidUpdate.\n * @defaultvalue false\n */\n preventFocusRestoration?: boolean;\n}\n/**\n * {@docCategory FocusZone}\n */\nexport const FocusZoneTabbableElements = {\n /** Tabbing is not allowed */\n none: 0 as 0,\n\n /** All tabbing action is allowed */\n all: 1 as 1,\n\n /** Tabbing is allowed only on input elements */\n inputOnly: 2 as 2,\n};\n\n/**\n * {@docCategory FocusZone}\n */\nexport type FocusZoneTabbableElements = typeof FocusZoneTabbableElements[keyof typeof FocusZoneTabbableElements];\n\n/**\n * {@docCategory FocusZone}\n */\nexport enum FocusZoneDirection {\n /** Only react to up/down arrows. */\n vertical = 0,\n\n /** Only react to left/right arrows. */\n horizontal = 1,\n\n /** React to all arrows. */\n bidirectional = 2,\n\n /**\n * React to all arrows. Navigate next item in DOM on right/down arrow keys and previous - left/up arrow keys.\n * Right and Left arrow keys are swapped in RTL mode.\n */\n domOrder = 3,\n}\n","// ================== Collapse Motion ==================\nvar getCollapsedHeight = function getCollapsedHeight() {\n return {\n height: 0,\n opacity: 0\n };\n};\n\nvar getRealHeight = function getRealHeight(node) {\n return {\n height: node.scrollHeight,\n opacity: 1\n };\n};\n\nvar getCurrentHeight = function getCurrentHeight(node) {\n return {\n height: node ? node.offsetHeight : 0\n };\n};\n\nvar skipOpacityTransition = function skipOpacityTransition(_, event) {\n return (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\n};\n\nvar collapseMotion = {\n motionName: 'ant-motion-collapse',\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n};\n\nvar getTransitionName = function getTransitionName(rootPrefixCls, motion, transitionName) {\n if (transitionName !== undefined) {\n return transitionName;\n }\n\n return \"\".concat(rootPrefixCls, \"-\").concat(motion);\n};\n\nexport { getTransitionName };\nexport default collapseMotion;","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n\n return value !== undefined ? [value] : [];\n}\n/**\n * Convert outer props value into internal value\n */\n\nexport function toInnerValue(value, _ref) {\n var labelInValue = _ref.labelInValue,\n combobox = _ref.combobox;\n var valueMap = new Map();\n\n if (value === undefined || value === '' && combobox) {\n return [[], valueMap];\n }\n\n var values = Array.isArray(value) ? value : [value];\n var rawValues = values;\n\n if (labelInValue) {\n rawValues = values.filter(function (item) {\n return item !== null;\n }).map(function (itemValue) {\n var key = itemValue.key,\n val = itemValue.value;\n var finalVal = val !== undefined ? val : key;\n valueMap.set(finalVal, itemValue);\n return finalVal;\n });\n }\n\n return [rawValues, valueMap];\n}\n/**\n * Convert internal value into out event value\n */\n\nexport function toOuterValues(valueList, _ref2) {\n var optionLabelProp = _ref2.optionLabelProp,\n labelInValue = _ref2.labelInValue,\n prevValueMap = _ref2.prevValueMap,\n options = _ref2.options,\n getLabeledValue = _ref2.getLabeledValue;\n var values = valueList;\n\n if (labelInValue) {\n values = values.map(function (val) {\n return getLabeledValue(val, {\n options: options,\n prevValueMap: prevValueMap,\n labelInValue: labelInValue,\n optionLabelProp: optionLabelProp\n });\n });\n }\n\n return values;\n}\nexport function removeLastEnabledValue(measureValues, values) {\n var newValues = _toConsumableArray(values);\n\n var removeIndex;\n\n for (removeIndex = measureValues.length - 1; removeIndex >= 0; removeIndex -= 1) {\n if (!measureValues[removeIndex].disabled) {\n break;\n }\n }\n\n var removedValue = null;\n\n if (removeIndex !== -1) {\n removedValue = newValues[removeIndex];\n newValues.splice(removeIndex, 1);\n }\n\n return {\n values: newValues,\n removedValue: removedValue\n };\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n/** Is client side and not jsdom */\n\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nvar uuid = 0;\n/** Get unique id for accessibility usage */\n\nexport function getUUID() {\n var retId; // Test never reach\n\n /* istanbul ignore if */\n\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n\n return retId;\n}","import { GlobalSettings } from '../GlobalSettings';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ISettings = { [key: string]: any };\nexport type ISettingsFunction = (settings: ISettings) => ISettings;\n\n/**\n * @deprecated Use ISettings.\n */\nexport type Settings = ISettings;\n\n/**\n * @deprecated Use ISettingsFunction.\n */\nexport type SettingsFunction = ISettingsFunction;\n\nexport interface ICustomizations {\n settings: ISettings;\n scopedSettings: { [key: string]: ISettings };\n inCustomizerContext?: boolean;\n}\n\nconst CustomizationsGlobalKey = 'customizations';\nconst NO_CUSTOMIZATIONS = { settings: {}, scopedSettings: {}, inCustomizerContext: false };\n\nlet _allSettings = GlobalSettings.getValue(CustomizationsGlobalKey, {\n settings: {},\n scopedSettings: {},\n inCustomizerContext: false,\n});\n\nlet _events: (() => void)[] = [];\n\nexport class Customizations {\n private static _suppressUpdates: boolean;\n\n public static reset(): void {\n _allSettings.settings = {};\n _allSettings.scopedSettings = {};\n }\n\n /** Apply global Customization settings.\n * @example Customizations.applySettings(\\{ theme: \\{...\\} \\});\n */\n public static applySettings(settings: ISettings): void {\n _allSettings.settings = { ..._allSettings.settings, ...settings };\n Customizations._raiseChange();\n }\n\n /** Apply Customizations to a particular named scope, like a component.\n * @example Customizations.applyScopedSettings('Nav', \\{ styles: () =\\> \\{\\} \\});\n */\n public static applyScopedSettings(scopeName: string, settings: ISettings): void {\n _allSettings.scopedSettings[scopeName] = { ..._allSettings.scopedSettings[scopeName], ...settings };\n Customizations._raiseChange();\n }\n\n public static getSettings(\n properties: string[],\n scopeName?: string,\n localSettings: ICustomizations = NO_CUSTOMIZATIONS,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): any {\n const settings: ISettings = {};\n const localScopedSettings = (scopeName && localSettings.scopedSettings[scopeName]) || {};\n const globalScopedSettings = (scopeName && _allSettings.scopedSettings[scopeName]) || {};\n\n for (let property of properties) {\n settings[property] =\n localScopedSettings[property] ||\n localSettings.settings[property] ||\n globalScopedSettings[property] ||\n _allSettings.settings[property];\n }\n\n return settings;\n }\n\n /** Used to run some code that sets Customizations without triggering an update until the end.\n * Useful for applying Customizations that don't affect anything currently rendered, or for\n * applying many customizations at once.\n * @param suppressUpdate - Do not raise the change event at the end, preventing all updates\n */\n public static applyBatchedUpdates(code: () => void, suppressUpdate?: boolean): void {\n Customizations._suppressUpdates = true;\n try {\n code();\n } catch {\n /* do nothing */\n }\n Customizations._suppressUpdates = false;\n if (!suppressUpdate) {\n Customizations._raiseChange();\n }\n }\n\n public static observe(onChange: () => void): void {\n _events.push(onChange);\n }\n\n public static unobserve(onChange: () => void): void {\n _events = _events.filter((cb: () => void) => cb !== onChange);\n }\n\n private static _raiseChange(): void {\n if (!Customizations._suppressUpdates) {\n _events.forEach((cb: () => void) => cb());\n }\n }\n}\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import Button from './button';\nexport default Button;","import enUS from '../../date-picker/locale/en_US';\nexport default enUS;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nimport Calendar from '../calendar/locale/en_US';\nvar typeTemplate = '${label} is not a valid ${type}';\nvar localeValues = {\n locale: 'en',\n Pagination: Pagination,\n DatePicker: DatePicker,\n TimePicker: TimePicker,\n Calendar: Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No Data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n \"default\": 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n \"enum\": '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n }\n};\nexport default localeValues;","import * as React from 'react';\nimport type { ITheme, IStyle } from '../../Styling';\nimport type { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * {@docCategory Spinner}\n */\nexport interface ISpinner {}\n\n/**\n * Spinner component props.\n * {@docCategory Spinner}\n */\nexport interface ISpinnerProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the ISpinner interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * @deprecated Use `size` instead. Will be removed at \\>= 2.0.0.\n */\n // eslint-disable-next-line deprecation/deprecation\n type?: SpinnerType;\n\n /**\n * The size of Spinner to render.\n * @defaultvalue SpinnerType.medium\n */\n size?: SpinnerSize;\n\n /**\n * The label to show next to the Spinner. Label updates will be announced to the screen readers.\n * Use ariaLive to control politeness level.\n */\n label?: string;\n\n /**\n * Additional CSS class(es) to apply to the Spinner.\n */\n className?: string;\n\n /**\n * Politeness setting for label update announcement.\n * @defaultvalue polite\n */\n ariaLive?: 'assertive' | 'polite' | 'off';\n\n /**\n * Alternative status label for screen reader\n */\n ariaLabel?: string;\n\n /**\n * Theme (provided through customization.)\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * The position of the label in regards of the spinner animation.\n * @defaultvalue SpinnerLabelPosition.bottom\n */\n labelPosition?: SpinnerLabelPosition;\n}\n\n/**\n * Possible variations of the spinner circle size.\n * {@docCategory Spinner}\n */\nexport enum SpinnerSize {\n /**\n * 12px Spinner diameter\n */\n xSmall = 0,\n\n /**\n * 16px Spinner diameter\n */\n small = 1,\n\n /**\n * 20px Spinner diameter\n */\n medium = 2,\n\n /**\n * 28px Spinner diameter\n */\n large = 3,\n}\n\n/**\n * Possible locations of the label in regards to the spinner\n * {@docCategory Spinner}\n */\nexport type SpinnerLabelPosition = 'top' | 'right' | 'bottom' | 'left';\n\n/**\n * @deprecated Use `SpinnerSize` instead. Will be removed at \\>= 2.0.0.\n * {@docCategory Spinner}\n */\nexport enum SpinnerType {\n /**\n * @deprecated Use `SpinnerSize.medium` instead. Will be removed at \\>= 2.0.0.\n */\n normal = 0,\n\n /**\n * @deprecated Use `SpinnerSize.large` instead. Will be removed at \\>= 2.0.0.\n */\n large = 1,\n}\n\n/**\n * The props needed to construct styles.\n * This represents the simplified set of immutable things which control the class names.\n * {@docCategory Spinner}\n */\nexport interface ISpinnerStyleProps {\n /** Theme provided by High-Order Component. */\n theme: ITheme;\n\n /** Size of the spinner animation. */\n size?: SpinnerSize;\n\n /** CSS class name for the component attached to the root stylable area. */\n className?: string;\n\n /** Position of the label in regards to the spinner animation. */\n labelPosition?: SpinnerLabelPosition;\n}\n\n/**\n * Represents the stylable areas of the control.\n * {@docCategory Spinner}\n */\nexport interface ISpinnerStyles {\n /** Styles for the root element. Refers to the wrapper containing both the circle and the label. */\n root?: IStyle;\n\n /** Styles for the spinner circle animation. */\n circle?: IStyle;\n\n /** Styles for the label accompanying the circle. */\n label?: IStyle;\n\n /** Styles for the hidden helper element to aid with screen readers. */\n screenReaderText?: IStyle;\n}\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Context = _interopRequireDefault(require(\"./Context\"));\n\nvar _IconBase = _interopRequireDefault(require(\"./IconBase\"));\n\nvar _twoTonePrimaryColor = require(\"./twoTonePrimaryColor\");\n\nvar _utils = require(\"../utils\");\n\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\n// Initial setting\n// should move it to antd main repo?\n(0, _twoTonePrimaryColor.setTwoToneColor)('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = (0, _objectWithoutProperties2.default)(props, _excluded);\n\n var _React$useContext = React.useContext(_Context.default),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre;\n\n var classString = (0, _classnames.default)(prefixCls, (_classNames = {}, (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), (0, _defineProperty2.default)(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n\n var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor),\n _normalizeTwoToneColo2 = (0, _slicedToArray2.default)(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return /*#__PURE__*/React.createElement(\"span\", (0, _objectSpread2.default)((0, _objectSpread2.default)({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(_IconBase.default, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = _twoTonePrimaryColor.getTwoToneColor;\nIcon.setTwoToneColor = _twoTonePrimaryColor.setTwoToneColor;\nvar _default = Icon;\nexports.default = _default;","import locale from '../locale/default';\nexport default locale;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport defaultLocaleData from './default';\nimport LocaleContext from './context';\n\nvar LocaleReceiver = /*#__PURE__*/function (_React$Component) {\n _inherits(LocaleReceiver, _React$Component);\n\n var _super = _createSuper(LocaleReceiver);\n\n function LocaleReceiver() {\n _classCallCheck(this, LocaleReceiver);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LocaleReceiver, [{\n key: \"getLocale\",\n value: function getLocale() {\n var _this$props = this.props,\n componentName = _this$props.componentName,\n defaultLocale = _this$props.defaultLocale;\n var locale = defaultLocale || defaultLocaleData[componentName !== null && componentName !== void 0 ? componentName : 'global'];\n var antLocale = this.context;\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return _extends(_extends({}, locale instanceof Function ? locale() : locale), localeFromContext || {});\n }\n }, {\n key: \"getLocaleCode\",\n value: function getLocaleCode() {\n var antLocale = this.context;\n var localeCode = antLocale && antLocale.locale; // Had use LocaleProvide but didn't set locale\n\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n\n return localeCode;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children(this.getLocale(), this.getLocaleCode(), this.context);\n }\n }]);\n\n return LocaleReceiver;\n}(React.Component);\n\nexport { LocaleReceiver as default };\nLocaleReceiver.defaultProps = {\n componentName: 'global'\n};\nLocaleReceiver.contextType = LocaleContext;\nexport function useLocaleReceiver(componentName, defaultLocale) {\n var antLocale = React.useContext(LocaleContext);\n var componentLocale = React.useMemo(function () {\n var locale = defaultLocale || defaultLocaleData[componentName || 'global'];\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return _extends(_extends({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n return [componentLocale];\n}","// This icon file is generated automatically.\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexport default CloseCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CloseCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseCircleFilledSvg\n }));\n};\n\nCloseCircleFilled.displayName = 'CloseCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(CloseCircleFilled);","//download.js v4.2, by dandavis; 2008-2016. [MIT] see http://danml.com/download.html for tests/usage\n// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime\n// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs\n// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support. 3.1 improved safari handling.\n// v4 adds AMD/UMD, commonJS, and plain browser support\n// v4.1 adds url download capability via solo URL argument (same domain/CORS only)\n// v4.2 adds semantic variable names, long (over 2MB) dataURL support, and hidden by default temp anchors\n// https://github.com/rndme/download\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof exports === 'object') {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.download = factory();\n }\n}(this, function () {\n\n\treturn function download(data, strFileName, strMimeType) {\n\n\t\tvar self = window, // this script is only for browsers anyway...\n\t\t\tdefaultMime = \"application/octet-stream\", // this default mime also triggers iframe downloads\n\t\t\tmimeType = strMimeType || defaultMime,\n\t\t\tpayload = data,\n\t\t\turl = !strFileName && !strMimeType && payload,\n\t\t\tanchor = document.createElement(\"a\"),\n\t\t\ttoString = function(a){return String(a);},\n\t\t\tmyBlob = (self.Blob || self.MozBlob || self.WebKitBlob || toString),\n\t\t\tfileName = strFileName || \"download\",\n\t\t\tblob,\n\t\t\treader;\n\t\t\tmyBlob= myBlob.call ? myBlob.bind(self) : Blob ;\n\t \n\t\tif(String(this)===\"true\"){ //reverse arguments, allowing download.bind(true, \"text/xml\", \"export.xml\") to act as a callback\n\t\t\tpayload=[payload, mimeType];\n\t\t\tmimeType=payload[0];\n\t\t\tpayload=payload[1];\n\t\t}\n\n\n\t\tif(url && url.length< 2048){ // if no filename and no mime, assume a url was passed as the only argument\n\t\t\tfileName = url.split(\"/\").pop().split(\"?\")[0];\n\t\t\tanchor.href = url; // assign href prop to temp anchor\n\t\t \tif(anchor.href.indexOf(url) !== -1){ // if the browser determines that it's a potentially valid url path:\n \t\tvar ajax=new XMLHttpRequest();\n \t\tajax.open( \"GET\", url, true);\n \t\tajax.responseType = 'blob';\n \t\tajax.onload= function(e){ \n\t\t\t\t download(e.target.response, fileName, defaultMime);\n\t\t\t\t};\n \t\tsetTimeout(function(){ ajax.send();}, 0); // allows setting custom ajax headers using the return:\n\t\t\t return ajax;\n\t\t\t} // end if valid url?\n\t\t} // end if url?\n\n\n\t\t//go ahead and download dataURLs right away\n\t\tif(/^data:([\\w+-]+\\/[\\w+.-]+)?[,;]/.test(payload)){\n\t\t\n\t\t\tif(payload.length > (1024*1024*1.999) && myBlob !== toString ){\n\t\t\t\tpayload=dataUrlToBlob(payload);\n\t\t\t\tmimeType=payload.type || defaultMime;\n\t\t\t}else{\t\t\t\n\t\t\t\treturn navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:\n\t\t\t\t\tnavigator.msSaveBlob(dataUrlToBlob(payload), fileName) :\n\t\t\t\t\tsaver(payload) ; // everyone else can save dataURLs un-processed\n\t\t\t}\n\t\t\t\n\t\t}else{//not data url, is it a string with special needs?\n\t\t\tif(/([\\x80-\\xff])/.test(payload)){\t\t\t \n\t\t\t\tvar i=0, tempUiArr= new Uint8Array(payload.length), mx=tempUiArr.length;\n\t\t\t\tfor(i;i true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import { IStyleOptions } from './IStyleOptions';\n\n/**\n * Sets the current RTL value.\n */\nexport function setRTL(isRTL: boolean): void {\n if (_rtl !== isRTL) {\n _rtl = isRTL;\n }\n}\n\n/**\n * Gets the current RTL value.\n */\nexport function getRTL(): boolean {\n if (_rtl === undefined) {\n _rtl =\n typeof document !== 'undefined' &&\n !!document.documentElement &&\n document.documentElement.getAttribute('dir') === 'rtl';\n }\n return _rtl;\n}\n\n// This has been split into 2 lines because it was working in Fabric due to the code being transpiled to es5, so this\n// was converted to var while not working in Fluent that uses babel to transpile the code to be es6-like. Splitting the\n// logic into two lines, however, allows it to work in both scenarios.\nlet _rtl: boolean;\n_rtl = getRTL();\n\nexport function getStyleOptions(): IStyleOptions {\n return {\n rtl: getRTL(),\n };\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer'; // Use shared variable to save bundle size\n\nvar UNDEFINED = undefined;\n\nfunction InternalItem(props, ref) {\n var prefixCls = props.prefixCls,\n invalidate = props.invalidate,\n item = props.item,\n renderItem = props.renderItem,\n responsive = props.responsive,\n registerSize = props.registerSize,\n itemKey = props.itemKey,\n className = props.className,\n style = props.style,\n children = props.children,\n display = props.display,\n order = props.order,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"invalidate\", \"item\", \"renderItem\", \"responsive\", \"registerSize\", \"itemKey\", \"className\", \"style\", \"children\", \"display\", \"order\", \"component\"]);\n\n var mergedHidden = responsive && !display; // ================================ Effect ================================\n\n function internalRegisterSize(width) {\n registerSize(itemKey, width);\n }\n\n React.useEffect(function () {\n return function () {\n internalRegisterSize(null);\n };\n }, []); // ================================ Render ================================\n\n var childNode = renderItem && item !== UNDEFINED ? renderItem(item) : children;\n var overflowStyle;\n\n if (!invalidate) {\n overflowStyle = {\n opacity: mergedHidden ? 0 : 1,\n height: mergedHidden ? 0 : UNDEFINED,\n overflowY: mergedHidden ? 'hidden' : UNDEFINED,\n order: responsive ? order : UNDEFINED,\n pointerEvents: mergedHidden ? 'none' : UNDEFINED,\n position: mergedHidden ? 'absolute' : UNDEFINED\n };\n }\n\n var overflowProps = {};\n\n if (mergedHidden) {\n overflowProps['aria-hidden'] = true;\n }\n\n var itemNode = /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(!invalidate && prefixCls, className),\n style: _objectSpread(_objectSpread({}, overflowStyle), style)\n }, overflowProps, restProps, {\n ref: ref\n }), childNode);\n\n if (responsive) {\n itemNode = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref) {\n var offsetWidth = _ref.offsetWidth;\n internalRegisterSize(offsetWidth);\n }\n }, itemNode);\n }\n\n return itemNode;\n}\n\nvar Item = /*#__PURE__*/React.forwardRef(InternalItem);\nItem.displayName = 'Item';\nexport default Item;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Item from './Item';\nimport { OverflowContext } from './Overflow';\n\nvar InternalRawItem = function InternalRawItem(props, ref) {\n var context = React.useContext(OverflowContext); // Render directly when context not provided\n\n if (!context) {\n var _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _restProps = _objectWithoutProperties(props, [\"component\"]);\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, _restProps, {\n ref: ref\n }));\n }\n\n var contextClassName = context.className,\n restContext = _objectWithoutProperties(context, [\"className\"]);\n\n var className = props.className,\n restProps = _objectWithoutProperties(props, [\"className\"]); // Do not pass context to sub item to avoid multiple measure\n\n\n return /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n value: null\n }, /*#__PURE__*/React.createElement(Item, _extends({\n ref: ref,\n className: classNames(contextClassName, className)\n }, restContext, restProps)));\n};\n\nvar RawItem = /*#__PURE__*/React.forwardRef(InternalRawItem);\nRawItem.displayName = 'RawItem';\nexport default RawItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { useState, useMemo, useCallback } from 'react';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport Item from './Item';\nimport { useBatchFrameState } from './hooks/useBatchFrameState';\nimport RawItem from './RawItem';\nexport var OverflowContext = /*#__PURE__*/React.createContext(null);\nvar RESPONSIVE = 'responsive';\nvar INVALIDATE = 'invalidate';\n\nfunction defaultRenderRest(omittedItems) {\n return \"+ \".concat(omittedItems.length, \" ...\");\n}\n\nfunction Overflow(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-overflow' : _props$prefixCls,\n _props$data = props.data,\n data = _props$data === void 0 ? [] : _props$data,\n renderItem = props.renderItem,\n renderRawItem = props.renderRawItem,\n itemKey = props.itemKey,\n _props$itemWidth = props.itemWidth,\n itemWidth = _props$itemWidth === void 0 ? 10 : _props$itemWidth,\n ssr = props.ssr,\n style = props.style,\n className = props.className,\n maxCount = props.maxCount,\n renderRest = props.renderRest,\n renderRawRest = props.renderRawRest,\n suffix = props.suffix,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n itemComponent = props.itemComponent,\n onVisibleChange = props.onVisibleChange,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"data\", \"renderItem\", \"renderRawItem\", \"itemKey\", \"itemWidth\", \"ssr\", \"style\", \"className\", \"maxCount\", \"renderRest\", \"renderRawRest\", \"suffix\", \"component\", \"itemComponent\", \"onVisibleChange\"]);\n\n var createUseState = useBatchFrameState();\n var fullySSR = ssr === 'full';\n\n var _createUseState = createUseState(null),\n _createUseState2 = _slicedToArray(_createUseState, 2),\n containerWidth = _createUseState2[0],\n setContainerWidth = _createUseState2[1];\n\n var mergedContainerWidth = containerWidth || 0;\n\n var _createUseState3 = createUseState(new Map()),\n _createUseState4 = _slicedToArray(_createUseState3, 2),\n itemWidths = _createUseState4[0],\n setItemWidths = _createUseState4[1];\n\n var _createUseState5 = createUseState(0),\n _createUseState6 = _slicedToArray(_createUseState5, 2),\n prevRestWidth = _createUseState6[0],\n setPrevRestWidth = _createUseState6[1];\n\n var _createUseState7 = createUseState(0),\n _createUseState8 = _slicedToArray(_createUseState7, 2),\n restWidth = _createUseState8[0],\n setRestWidth = _createUseState8[1];\n\n var _createUseState9 = createUseState(0),\n _createUseState10 = _slicedToArray(_createUseState9, 2),\n suffixWidth = _createUseState10[0],\n setSuffixWidth = _createUseState10[1];\n\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n suffixFixedStart = _useState2[0],\n setSuffixFixedStart = _useState2[1];\n\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n displayCount = _useState4[0],\n setDisplayCount = _useState4[1];\n\n var mergedDisplayCount = React.useMemo(function () {\n if (displayCount === null && fullySSR) {\n return Number.MAX_SAFE_INTEGER;\n }\n\n return displayCount || 0;\n }, [displayCount, containerWidth]);\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n restReady = _useState6[0],\n setRestReady = _useState6[1];\n\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\"); // Always use the max width to avoid blink\n\n var mergedRestWidth = Math.max(prevRestWidth, restWidth); // ================================= Data =================================\n\n var isResponsive = data.length && maxCount === RESPONSIVE;\n var invalidate = maxCount === INVALIDATE;\n /**\n * When is `responsive`, we will always render rest node to get the real width of it for calculation\n */\n\n var showRest = isResponsive || typeof maxCount === 'number' && data.length > maxCount;\n var mergedData = useMemo(function () {\n var items = data;\n\n if (isResponsive) {\n if (containerWidth === null && fullySSR) {\n items = data;\n } else {\n items = data.slice(0, Math.min(data.length, mergedContainerWidth / itemWidth));\n }\n } else if (typeof maxCount === 'number') {\n items = data.slice(0, maxCount);\n }\n\n return items;\n }, [data, itemWidth, containerWidth, maxCount, isResponsive]);\n var omittedItems = useMemo(function () {\n if (isResponsive) {\n return data.slice(mergedDisplayCount + 1);\n }\n\n return data.slice(mergedData.length);\n }, [data, mergedData, isResponsive, mergedDisplayCount]); // ================================= Item =================================\n\n var getKey = useCallback(function (item, index) {\n var _ref;\n\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n\n return (_ref = itemKey && (item === null || item === void 0 ? void 0 : item[itemKey])) !== null && _ref !== void 0 ? _ref : index;\n }, [itemKey]);\n var mergedRenderItem = useCallback(renderItem || function (item) {\n return item;\n }, [renderItem]);\n\n function updateDisplayCount(count, notReady) {\n setDisplayCount(count);\n\n if (!notReady) {\n setRestReady(count < data.length - 1);\n onVisibleChange === null || onVisibleChange === void 0 ? void 0 : onVisibleChange(count);\n }\n } // ================================= Size =================================\n\n\n function onOverflowResize(_, element) {\n setContainerWidth(element.clientWidth);\n }\n\n function registerSize(key, width) {\n setItemWidths(function (origin) {\n var clone = new Map(origin);\n\n if (width === null) {\n clone.delete(key);\n } else {\n clone.set(key, width);\n }\n\n return clone;\n });\n }\n\n function registerOverflowSize(_, width) {\n setRestWidth(width);\n setPrevRestWidth(restWidth);\n }\n\n function registerSuffixSize(_, width) {\n setSuffixWidth(width);\n } // ================================ Effect ================================\n\n\n function getItemWidth(index) {\n return itemWidths.get(getKey(mergedData[index], index));\n }\n\n React.useLayoutEffect(function () {\n if (mergedContainerWidth && mergedRestWidth && mergedData) {\n var totalWidth = suffixWidth;\n var len = mergedData.length;\n var lastIndex = len - 1; // When data count change to 0, reset this since not loop will reach\n\n if (!len) {\n updateDisplayCount(0);\n setSuffixFixedStart(null);\n return;\n }\n\n for (var i = 0; i < len; i += 1) {\n var currentItemWidth = getItemWidth(i); // Break since data not ready\n\n if (currentItemWidth === undefined) {\n updateDisplayCount(i - 1, true);\n break;\n } // Find best match\n\n\n totalWidth += currentItemWidth;\n\n if ( // Only one means `totalWidth` is the final width\n lastIndex === 0 && totalWidth <= mergedContainerWidth || // Last two width will be the final width\n i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth) {\n // Additional check if match the end\n updateDisplayCount(lastIndex);\n setSuffixFixedStart(null);\n break;\n } else if (totalWidth + mergedRestWidth > mergedContainerWidth) {\n // Can not hold all the content to show rest\n updateDisplayCount(i - 1);\n setSuffixFixedStart(totalWidth - currentItemWidth - suffixWidth + restWidth);\n break;\n }\n }\n\n if (suffix && getItemWidth(0) + suffixWidth > mergedContainerWidth) {\n setSuffixFixedStart(null);\n }\n }\n }, [mergedContainerWidth, itemWidths, restWidth, suffixWidth, getKey, mergedData]); // ================================ Render ================================\n\n var displayRest = restReady && !!omittedItems.length;\n var suffixStyle = {};\n\n if (suffixFixedStart !== null && isResponsive) {\n suffixStyle = {\n position: 'absolute',\n left: suffixFixedStart,\n top: 0\n };\n }\n\n var itemSharedProps = {\n prefixCls: itemPrefixCls,\n responsive: isResponsive,\n component: itemComponent,\n invalidate: invalidate\n }; // >>>>> Choice render fun by `renderRawItem`\n\n var internalRenderItemNode = renderRawItem ? function (item, index) {\n var key = getKey(item, index);\n return /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n key: key,\n value: _objectSpread(_objectSpread({}, itemSharedProps), {}, {\n order: index,\n item: item,\n itemKey: key,\n registerSize: registerSize,\n display: index <= mergedDisplayCount\n })\n }, renderRawItem(item, index));\n } : function (item, index) {\n var key = getKey(item, index);\n return /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, {\n order: index,\n key: key,\n item: item,\n renderItem: mergedRenderItem,\n itemKey: key,\n registerSize: registerSize,\n display: index <= mergedDisplayCount\n }));\n }; // >>>>> Rest node\n\n var restNode;\n var restContextProps = {\n order: displayRest ? mergedDisplayCount : Number.MAX_SAFE_INTEGER,\n className: \"\".concat(itemPrefixCls, \"-rest\"),\n registerSize: registerOverflowSize,\n display: displayRest\n };\n\n if (!renderRawRest) {\n var mergedRenderRest = renderRest || defaultRenderRest;\n restNode = /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, restContextProps), typeof mergedRenderRest === 'function' ? mergedRenderRest(omittedItems) : mergedRenderRest);\n } else if (renderRawRest) {\n restNode = /*#__PURE__*/React.createElement(OverflowContext.Provider, {\n value: _objectSpread(_objectSpread({}, itemSharedProps), restContextProps)\n }, renderRawRest(omittedItems));\n }\n\n var overflowNode = /*#__PURE__*/React.createElement(Component, _extends({\n className: classNames(!invalidate && prefixCls, className),\n style: style,\n ref: ref\n }, restProps), mergedData.map(internalRenderItemNode), showRest ? restNode : null, suffix && /*#__PURE__*/React.createElement(Item, _extends({}, itemSharedProps, {\n order: mergedDisplayCount,\n className: \"\".concat(itemPrefixCls, \"-suffix\"),\n registerSize: registerSuffixSize,\n display: true,\n style: suffixStyle\n }), suffix));\n\n if (isResponsive) {\n overflowNode = /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onOverflowResize\n }, overflowNode);\n }\n\n return overflowNode;\n}\n\nvar ForwardOverflow = /*#__PURE__*/React.forwardRef(Overflow);\nForwardOverflow.displayName = 'Overflow';\nForwardOverflow.Item = RawItem;\nForwardOverflow.RESPONSIVE = RESPONSIVE;\nForwardOverflow.INVALIDATE = INVALIDATE; // Convert to generic type\n\nexport default ForwardOverflow;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useRef, useState, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\n/**\n * State generate. Return a `setState` but it will flush all state with one render to save perf.\n * This is not a realization of `unstable_batchedUpdates`.\n */\n\nexport function useBatchFrameState() {\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n forceUpdate = _useState2[1];\n\n var statesRef = useRef([]);\n var destroyRef = useRef(false);\n var walkingIndex = 0;\n var beforeFrameId = 0;\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n\n function createState(defaultValue) {\n var myIndex = walkingIndex;\n walkingIndex += 1; // Fill value if not exist yet\n\n if (statesRef.current.length < myIndex + 1) {\n statesRef.current[myIndex] = defaultValue;\n } // Return filled as `setState`\n\n\n var value = statesRef.current[myIndex];\n\n function setValue(val) {\n statesRef.current[myIndex] = typeof val === 'function' ? val(statesRef.current[myIndex]) : val;\n raf.cancel(beforeFrameId); // Flush with batch\n\n beforeFrameId = raf(function () {\n if (!destroyRef.current) {\n forceUpdate({});\n }\n });\n }\n\n return [value, setValue];\n }\n\n return createState;\n}","import Overflow from './Overflow';\nexport default Overflow;","import { mergeStyleSets } from '../../Styling';\nimport type { IIconStyleProps, IIconStyles } from './Icon.types';\n\n/** Class names used in themeable and non-themeable Icon components */\nexport const classNames = mergeStyleSets({\n root: {\n display: 'inline-block',\n },\n placeholder: [\n 'ms-Icon-placeHolder',\n {\n width: '1em',\n },\n ],\n image: [\n 'ms-Icon-imageContainer',\n {\n overflow: 'hidden',\n },\n ],\n});\n/** Class name used only in non-themeable Icon components */\nexport const MS_ICON = 'ms-Icon';\n\nexport const getStyles = (props: IIconStyleProps): IIconStyles => {\n const { className, iconClassName, isPlaceholder, isImage, styles } = props;\n\n return {\n root: [\n isPlaceholder && classNames.placeholder,\n classNames.root,\n isImage && classNames.image,\n iconClassName,\n className,\n styles && styles.root,\n // eslint-disable-next-line deprecation/deprecation\n styles && styles.imageContainer,\n ],\n };\n};\n","export function toArray(candidate) {\n if (candidate === undefined || candidate === false) return [];\n return Array.isArray(candidate) ? candidate : [candidate];\n}\nexport function getFieldId(namePath, formName) {\n if (!namePath.length) return undefined;\n var mergedId = namePath.join('_');\n return formName ? \"\".concat(formName, \"_\").concat(mergedId) : mergedId;\n}","// The minimum length of the national significant number.\r\nexport const MIN_LENGTH_FOR_NSN = 2\r\n\r\n// The ITU says the maximum length should be 15,\r\n// but one can find longer numbers in Germany.\r\nexport const MAX_LENGTH_FOR_NSN = 17\r\n\r\n// The maximum length of the country calling code.\r\nexport const MAX_LENGTH_COUNTRY_CODE = 3\r\n\r\n// Digits accepted in phone numbers\r\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\r\nexport const VALID_DIGITS = '0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9'\r\n\r\n// `DASHES` will be right after the opening square bracket of the \"character class\"\r\nconst DASHES = '-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D'\r\nconst SLASHES = '\\uFF0F/'\r\nconst DOTS = '\\uFF0E.'\r\nexport const WHITESPACE = ' \\u00A0\\u00AD\\u200B\\u2060\\u3000'\r\nconst BRACKETS = '()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]'\r\n// export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\r\nconst TILDES = '~\\u2053\\u223C\\uFF5E'\r\n\r\n// Regular expression of acceptable punctuation found in phone numbers. This\r\n// excludes punctuation found as a leading character only. This consists of dash\r\n// characters, white space characters, full stops, slashes, square brackets,\r\n// parentheses and tildes. Full-width variants are also present.\r\nexport const VALID_PUNCTUATION = `${DASHES}${SLASHES}${DOTS}${WHITESPACE}${BRACKETS}${TILDES}`\r\n\r\nexport const PLUS_CHARS = '+\\uFF0B'\r\n// const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')","// https://stackoverflow.com/a/46971044/970769\r\nexport default class ParseError {\r\n constructor(code) {\r\n this.name = this.constructor.name\r\n this.message = code\r\n this.stack = (new Error(code)).stack\r\n }\r\n}\r\n\r\nParseError.prototype = Object.create(Error.prototype)\r\nParseError.prototype.constructor = ParseError","// Copy-pasted from:\r\n// https://github.com/substack/semver-compare/blob/master/index.js\r\n//\r\n// Inlining this function because some users reported issues with\r\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\r\n//\r\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\r\nexport default function(a, b) {\r\n a = a.split('-')\r\n b = b.split('-')\r\n var pa = a[0].split('.')\r\n var pb = b[0].split('.')\r\n for (var i = 0; i < 3; i++) {\r\n var na = Number(pa[i])\r\n var nb = Number(pb[i])\r\n if (na > nb) return 1\r\n if (nb > na) return -1\r\n if (!isNaN(na) && isNaN(nb)) return 1\r\n if (isNaN(na) && !isNaN(nb)) return -1\r\n }\r\n if (a[1] && b[1]) {\r\n return a[1] > b[1] ? 1 : (a[1] < b[1] ? -1 : 0)\r\n }\r\n return !a[1] && b[1] ? 1 : (a[1] && !b[1] ? -1 : 0)\r\n}","import compare from './tools/semver-compare'\r\n\r\n// Added \"possibleLengths\" and renamed\r\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\r\nconst V2 = '1.0.18'\r\n\r\n// Added \"idd_prefix\" and \"default_idd_prefix\".\r\nconst V3 = '1.2.0'\r\n\r\n// Moved `001` country code to \"nonGeographic\" section of metadata.\r\nconst V4 = '1.7.35'\r\n\r\nconst DEFAULT_EXT_PREFIX = ' ext. '\r\n\r\nconst CALLING_CODE_REG_EXP = /^\\d+$/\r\n\r\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\r\nexport default class Metadata {\r\n\tconstructor(metadata) {\r\n\t\tvalidateMetadata(metadata)\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, metadata)\r\n\t}\r\n\r\n\tgetCountries() {\r\n\t\treturn Object.keys(this.metadata.countries).filter(_ => _ !== '001')\r\n\t}\r\n\r\n\tgetCountryMetadata(countryCode) {\r\n\t\treturn this.metadata.countries[countryCode]\r\n\t}\r\n\r\n\tnonGeographic() {\r\n\t\tif (this.v1 || this.v2 || this.v3) return\r\n\t\t// `nonGeographical` was a typo.\r\n\t\t// It's present in metadata generated from `1.7.35` to `1.7.37`.\r\n\t\treturn this.metadata.nonGeographic || this.metadata.nonGeographical\r\n\t}\r\n\r\n\thasCountry(country) {\r\n\t\treturn this.getCountryMetadata(country) !== undefined\r\n\t}\r\n\r\n\thasCallingCode(callingCode) {\r\n\t\tif (this.getCountryCodesForCallingCode(callingCode)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tif (this.nonGeographic()[callingCode]) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNonGeographicCallingCode(callingCode) {\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\treturn this.nonGeographic()[callingCode] ? true : false\r\n\t\t} else {\r\n\t\t\treturn this.getCountryCodesForCallingCode(callingCode) ? false : true\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountry(countryCode) {\r\n\t\treturn this.selectNumberingPlan(countryCode)\r\n\t}\r\n\r\n\tselectNumberingPlan(countryCode, callingCode) {\r\n\t\t// Supports just passing `callingCode` as the first argument.\r\n\t\tif (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\r\n\t\t\tcallingCode = countryCode\r\n\t\t\tcountryCode = null\r\n\t\t}\r\n\t\tif (countryCode && countryCode !== '001') {\r\n\t\t\tif (!this.hasCountry(countryCode)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${countryCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this)\r\n\t\t} else if (callingCode) {\r\n\t\t\tif (!this.hasCallingCode(callingCode)) {\r\n\t\t\t\tthrow new Error(`Unknown calling code: ${callingCode}`)\r\n\t\t\t}\r\n\t\t\tthis.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this)\r\n\t\t} else {\r\n\t\t\tthis.numberingPlan = undefined\r\n\t\t}\r\n\t\treturn this\r\n\t}\r\n\r\n\tgetCountryCodesForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\tif (countryCodes) {\r\n\t\t\t// Metadata before V4 included \"non-geographic entity\" calling codes\r\n\t\t\t// inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\r\n\t\t\t// Now the semantics of `country_calling_codes` has changed:\r\n\t\t\t// it's specifically for \"countries\" now.\r\n\t\t\t// Older versions of custom metadata will simply skip parsing\r\n\t\t\t// \"non-geographic entity\" phone numbers with new versions\r\n\t\t\t// of this library: it's not considered a bug,\r\n\t\t\t// because such numbers are extremely rare,\r\n\t\t\t// and developers extremely rarely use custom metadata.\r\n\t\t\tif (countryCodes.length === 1 && countryCodes[0].length === 3) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\treturn countryCodes\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountryCodeForCallingCode(callingCode) {\r\n\t\tconst countryCodes = this.getCountryCodesForCallingCode(callingCode)\r\n\t\tif (countryCodes) {\r\n\t\t\treturn countryCodes[0]\r\n\t\t}\r\n\t}\r\n\r\n\tgetNumberingPlanMetadata(callingCode) {\r\n\t\tconst countryCode = this.getCountryCodeForCallingCode(callingCode)\r\n\t\tif (countryCode) {\r\n\t\t\treturn this.getCountryMetadata(countryCode)\r\n\t\t}\r\n\t\tif (this.nonGeographic()) {\r\n\t\t\tconst metadata = this.nonGeographic()[callingCode]\r\n\t\t\tif (metadata) {\r\n\t\t\t\treturn metadata\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// A hacky workaround for old custom metadata (generated before V4).\r\n\t\t\tconst countryCodes = this.countryCallingCodes()[callingCode]\r\n\t\t\tif (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\r\n\t\t\t\treturn this.metadata.countries['001']\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tcountryCallingCode() {\r\n\t\treturn this.numberingPlan.callingCode()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tIDDPrefix() {\r\n\t\treturn this.numberingPlan.IDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tdefaultIDDPrefix() {\r\n\t\treturn this.numberingPlan.defaultIDDPrefix()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalNumberPattern() {\r\n\t\treturn this.numberingPlan.nationalNumberPattern()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tpossibleLengths() {\r\n\t\treturn this.numberingPlan.possibleLengths()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tformats() {\r\n\t\treturn this.numberingPlan.formats()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixForParsing() {\r\n\t\treturn this.numberingPlan.nationalPrefixForParsing()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.numberingPlan.nationalPrefixTransformRule()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tleadingDigits() {\r\n\t\treturn this.numberingPlan.leadingDigits()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\thasTypes() {\r\n\t\treturn this.numberingPlan.hasTypes()\r\n\t}\r\n\r\n\t// Deprecated.\r\n\ttype(type) {\r\n\t\treturn this.numberingPlan.type(type)\r\n\t}\r\n\r\n\t// Deprecated.\r\n\text() {\r\n\t\treturn this.numberingPlan.ext()\r\n\t}\r\n\r\n\tcountryCallingCodes() {\r\n\t\tif (this.v1) return this.metadata.country_phone_code_to_countries\r\n\t\treturn this.metadata.country_calling_codes\r\n\t}\r\n\r\n\t// Deprecated.\r\n\tchooseCountryByCountryCallingCode(callingCode) {\r\n\t\treturn this.selectNumberingPlan(callingCode)\r\n\t}\r\n\r\n\thasSelectedNumberingPlan() {\r\n\t\treturn this.numberingPlan !== undefined\r\n\t}\r\n}\r\n\r\nclass NumberingPlan {\r\n\tconstructor(metadata, globalMetadataObject) {\r\n\t\tthis.globalMetadataObject = globalMetadataObject\r\n\t\tthis.metadata = metadata\r\n\t\tsetVersion.call(this, globalMetadataObject.metadata)\r\n\t}\r\n\r\n\tcallingCode() {\r\n\t\treturn this.metadata[0]\r\n\t}\r\n\r\n\t// Formatting information for regions which share\r\n\t// a country calling code is contained by only one region\r\n\t// for performance reasons. For example, for NANPA region\r\n\t// (\"North American Numbering Plan Administration\",\r\n\t// which includes USA, Canada, Cayman Islands, Bahamas, etc)\r\n\t// it will be contained in the metadata for `US`.\r\n\tgetDefaultCountryMetadataForRegion() {\r\n\t\treturn this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode())\r\n\t}\r\n\r\n\t// Is always present.\r\n\tIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[1]\r\n\t}\r\n\r\n\t// Is only present when a country supports multiple IDD prefixes.\r\n\tdefaultIDDPrefix() {\r\n\t\tif (this.v1 || this.v2) return\r\n\t\treturn this.metadata[12]\r\n\t}\r\n\r\n\tnationalNumberPattern() {\r\n\t\tif (this.v1 || this.v2) return this.metadata[1]\r\n\t\treturn this.metadata[2]\r\n\t}\r\n\r\n\t// Is always present.\r\n\tpossibleLengths() {\r\n\t\tif (this.v1) return\r\n\t\treturn this.metadata[this.v2 ? 2 : 3]\r\n\t}\r\n\r\n\t_getFormats(metadata) {\r\n\t\treturn metadata[this.v1 ? 2 : this.v2 ? 3 : 4]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// formats are all stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tformats() {\r\n\t\tconst formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || []\r\n\t\treturn formats.map(_ => new Format(_, this))\r\n\t}\r\n\r\n\tnationalPrefix() {\r\n\t\treturn this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5]\r\n\t}\r\n\r\n\t_getNationalPrefixFormattingRule(metadata) {\r\n\t\treturn metadata[this.v1 ? 4 : this.v2 ? 5 : 6]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// national prefix formatting rule is stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\t_nationalPrefixForParsing() {\r\n\t\treturn this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7]\r\n\t}\r\n\r\n\tnationalPrefixForParsing() {\r\n\t\t// If `national_prefix_for_parsing` is not set explicitly,\r\n\t\t// then infer it from `national_prefix` (if any)\r\n\t\treturn this._nationalPrefixForParsing() || this.nationalPrefix()\r\n\t}\r\n\r\n\tnationalPrefixTransformRule() {\r\n\t\treturn this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8]\r\n\t}\r\n\r\n\t_getNationalPrefixIsOptionalWhenFormatting() {\r\n\t\treturn !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9]\r\n\t}\r\n\r\n\t// For countries of the same region (e.g. NANPA)\r\n\t// \"national prefix is optional when formatting\" flag is\r\n\t// stored in the \"main\" country for that region.\r\n\t// E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) ||\r\n\t\t\tthis._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion())\r\n\t}\r\n\r\n\tleadingDigits() {\r\n\t\treturn this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10]\r\n\t}\r\n\r\n\ttypes() {\r\n\t\treturn this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11]\r\n\t}\r\n\r\n\thasTypes() {\r\n\t\t// Versions 1.2.0 - 1.2.4: can be `[]`.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (this.types() && this.types().length === 0) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// Versions <= 1.2.4: can be `undefined`.\r\n\t\t// Version >= 1.2.5: can be `0`.\r\n\t\treturn !!this.types()\r\n\t}\r\n\r\n\ttype(type) {\r\n\t\tif (this.hasTypes() && getType(this.types(), type)) {\r\n\t\t\treturn new Type(getType(this.types(), type), this)\r\n\t\t}\r\n\t}\r\n\r\n\text() {\r\n\t\tif (this.v1 || this.v2) return DEFAULT_EXT_PREFIX\r\n\t\treturn this.metadata[13] || DEFAULT_EXT_PREFIX\r\n\t}\r\n}\r\n\r\nclass Format {\r\n\tconstructor(format, metadata) {\r\n\t\tthis._format = format\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\treturn this._format[0]\r\n\t}\r\n\r\n\tformat() {\r\n\t\treturn this._format[1]\r\n\t}\r\n\r\n\tleadingDigitsPatterns() {\r\n\t\treturn this._format[2] || []\r\n\t}\r\n\r\n\tnationalPrefixFormattingRule() {\r\n\t\treturn this._format[3] || this.metadata.nationalPrefixFormattingRule()\r\n\t}\r\n\r\n\tnationalPrefixIsOptionalWhenFormattingInNationalFormat() {\r\n\t\treturn !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\tnationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\r\n\t\t// National prefix is omitted if there's no national prefix formatting rule\r\n\t\t// set for this country, or when the national prefix formatting rule\r\n\t\t// contains no national prefix itself, or when this rule is set but\r\n\t\t// national prefix is optional for this phone number format\r\n\t\t// (and it is not enforced explicitly)\r\n\t\treturn this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat()\r\n\t}\r\n\r\n\t// Checks whether national prefix formatting rule contains national prefix.\r\n\tusesNationalPrefix() {\r\n\t\treturn this.nationalPrefixFormattingRule() &&\r\n\t\t\t// Check that national prefix formatting rule is not a \"dummy\" one.\r\n\t\t\t!FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule())\r\n\t\t\t// In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\r\n\t\t\t// when `national_prefix_formatting_rule` is not present.\r\n\t\t\t// So, `true` or `false` are returned explicitly here, so that\r\n\t\t\t// `0` number isn't returned.\r\n\t\t\t? true\r\n\t\t\t: false\r\n\t}\r\n\r\n\tinternationalFormat() {\r\n\t\treturn this._format[5] || this.format()\r\n\t}\r\n}\r\n\r\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\r\nconst FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/\r\n\r\nclass Type {\r\n\tconstructor(type, metadata) {\r\n\t\tthis.type = type\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tpattern() {\r\n\t\tif (this.metadata.v1) return this.type\r\n\t\treturn this.type[0]\r\n\t}\r\n\r\n\tpossibleLengths() {\r\n\t\tif (this.metadata.v1) return\r\n\t\treturn this.type[1] || this.metadata.possibleLengths()\r\n\t}\r\n}\r\n\r\nfunction getType(types, type) {\r\n\tswitch (type) {\r\n\t\tcase 'FIXED_LINE':\r\n\t\t\treturn types[0]\r\n\t\tcase 'MOBILE':\r\n\t\t\treturn types[1]\r\n\t\tcase 'TOLL_FREE':\r\n\t\t\treturn types[2]\r\n\t\tcase 'PREMIUM_RATE':\r\n\t\t\treturn types[3]\r\n\t\tcase 'PERSONAL_NUMBER':\r\n\t\t\treturn types[4]\r\n\t\tcase 'VOICEMAIL':\r\n\t\t\treturn types[5]\r\n\t\tcase 'UAN':\r\n\t\t\treturn types[6]\r\n\t\tcase 'PAGER':\r\n\t\t\treturn types[7]\r\n\t\tcase 'VOIP':\r\n\t\t\treturn types[8]\r\n\t\tcase 'SHARED_COST':\r\n\t\t\treturn types[9]\r\n\t}\r\n}\r\n\r\nexport function validateMetadata(metadata) {\r\n\tif (!metadata) {\r\n\t\tthrow new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.')\r\n\t}\r\n\r\n\t// `country_phone_code_to_countries` was renamed to\r\n\t// `country_calling_codes` in `1.0.18`.\r\n\tif (!is_object(metadata) || !is_object(metadata.countries)) {\r\n\t\tthrow new Error(`[libphonenumber-js] \\`metadata\\` argument was passed but it's not a valid metadata. Must be an object having \\`.countries\\` child object property. Got ${is_object(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + type_of(metadata) + ': ' + metadata}.`)\r\n\t}\r\n}\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst is_object = _ => typeof _ === 'object'\r\n\r\n// Babel transforms `typeof` into some \"branches\"\r\n// so istanbul will show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst type_of = _ => typeof _\r\n\r\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\r\nexport function getExtPrefix(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).ext()\r\n\t}\r\n\treturn DEFAULT_EXT_PREFIX\r\n}\r\n\r\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\r\nexport function getCountryCallingCode(country, metadata) {\r\n\tmetadata = new Metadata(metadata)\r\n\tif (metadata.hasCountry(country)) {\r\n\t\treturn metadata.country(country).countryCallingCode()\r\n\t}\r\n\tthrow new Error(`Unknown country: ${country}`)\r\n}\r\n\r\nexport function isSupportedCountry(country, metadata) {\r\n\t// metadata = new Metadata(metadata)\r\n\t// return metadata.hasCountry(country)\r\n\treturn metadata.countries[country] !== undefined\r\n}\r\n\r\nfunction setVersion(metadata) {\r\n\tconst { version } = metadata\r\n\tif (typeof version === 'number') {\r\n\t\tthis.v1 = version === 1\r\n\t\tthis.v2 = version === 2\r\n\t\tthis.v3 = version === 3\r\n\t\tthis.v4 = version === 4\r\n\t} else {\r\n\t\tif (!version) {\r\n\t\t\tthis.v1 = true\r\n\t\t} else if (compare(version, V3) === -1) {\r\n\t\t\tthis.v2 = true\r\n\t\t} else if (compare(version, V4) === -1) {\r\n\t\t\tthis.v3 = true\r\n\t\t} else {\r\n\t\t\tthis.v4 = true\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\r\n// function isCountryCode(countryCode) {\r\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\r\n// }","import { VALID_DIGITS } from '../../constants'\r\n\r\n// The RFC 3966 format for extensions.\r\nconst RFC3966_EXTN_PREFIX = ';ext='\r\n\r\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\r\nconst getExtensionDigitsPattern = (maxLength) => `([${VALID_DIGITS}]{1,${maxLength}})`\r\n\r\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\r\nexport default function createExtensionPattern(purpose) {\r\n\t// We cap the maximum length of an extension based on the ambiguity of the way\r\n\t// the extension is prefixed. As per ITU, the officially allowed length for\r\n\t// extensions is actually 40, but we don't support this since we haven't seen real\r\n\t// examples and this introduces many false interpretations as the extension labels\r\n\t// are not standardized.\r\n\t/** @type {string} */\r\n\tvar extLimitAfterExplicitLabel = '20';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterLikelyLabel = '15';\r\n\t/** @type {string} */\r\n\tvar extLimitAfterAmbiguousChar = '9';\r\n\t/** @type {string} */\r\n\tvar extLimitWhenNotSure = '6';\r\n\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\u00A0\\\\t,]*\";\r\n\t// Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\r\n\t/** @type {string} */\r\n\tvar possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\u00A0\\\\t,-]*\";\r\n\t/** @type {string} */\r\n\tvar optionalExtnSuffix = \"#?\";\r\n\r\n\t// Here the extension is called out in more explicit way, i.e mentioning it obvious\r\n\t// patterns like \"ext.\".\r\n\t/** @type {string} */\r\n\tvar explicitExtLabels =\r\n\t \"(?:e?xt(?:ensi(?:o\\u0301?|\\u00F3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\r\n\t// One-character symbols that can be used to indicate an extension, and less\r\n\t// commonly used or more ambiguous extension labels.\r\n\t/** @type {string} */\r\n\tvar ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\r\n\t// When extension is not separated clearly.\r\n\t/** @type {string} */\r\n\tvar ambiguousSeparator = \"[- ]+\";\r\n\t// This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\r\n\t// comma as extension label may have it.\r\n\t/** @type {string} */\r\n\tvar possibleSeparatorsNumberExtLabelNoComma = \"[ \\u00A0\\\\t]*\";\r\n\t// \",,\" is commonly used for auto dialling the extension when connected. First\r\n\t// comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\r\n\t// not repeat it here. Semi-colon works in Iphone and Android also to pop up a\r\n\t// button with the extension number following.\r\n\t/** @type {string} */\r\n\tvar autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\r\n\r\n\t/** @type {string} */\r\n\tvar rfcExtn = RFC3966_EXTN_PREFIX\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\r\n\t/** @type {string} */\r\n\tvar explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterExplicitLabel)\r\n\t + optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels\r\n\t + possibleCharsAfterExtLabel\r\n\t+ getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar americanStyleExtnWithSuffix = ambiguousSeparator\r\n\t+ getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\r\n\r\n\t/** @type {string} */\r\n\tvar autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterLikelyLabel)\r\n\t+ optionalExtnSuffix;\r\n\t/** @type {string} */\r\n\tvar onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma\r\n\t + \"(?:,)+\" + possibleCharsAfterExtLabel\r\n\t + getExtensionDigitsPattern(extLimitAfterAmbiguousChar)\r\n\t + optionalExtnSuffix;\r\n\r\n\t// The first regular expression covers RFC 3966 format, where the extension is added\r\n\t// using \";ext=\". The second more generic where extension is mentioned with explicit\r\n\t// labels like \"ext:\". In both the above cases we allow more numbers in extension than\r\n\t// any other extension labels. The third one captures when single character extension\r\n\t// labels or less commonly used labels are used. In such cases we capture fewer\r\n\t// extension digits in order to reduce the chance of falsely interpreting two\r\n\t// numbers beside each other as a number + extension. The fourth one covers the\r\n\t// special case of American numbers where the extension is written with a hash\r\n\t// at the end, such as \"- 503#\". The fifth one is exclusively for extension\r\n\t// autodialling formats which are used when dialling and in this case we accept longer\r\n\t// extensions. The last one is more liberal on the number of commas that acts as\r\n\t// extension labels, so we have a strict cap on the number of digits in such extensions.\r\n\treturn rfcExtn + \"|\"\r\n\t + explicitExtn + \"|\"\r\n\t + ambiguousExtn + \"|\"\r\n\t + americanStyleExtnWithSuffix + \"|\"\r\n\t + autoDiallingExtn + \"|\"\r\n\t + onlyCommasExtn;\r\n}","import {\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from '../constants'\r\n\r\nimport createExtensionPattern from './extension/createExtensionPattern'\r\n\r\n// Regular expression of viable phone numbers. This is location independent.\r\n// Checks we have at least three leading digits, and only valid punctuation,\r\n// alpha characters and digits in the phone number. Does not include extension\r\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\r\n// used as a placeholder for carrier codes, for example in Brazilian phone\r\n// numbers. We also allow multiple '+' characters at the start.\r\n//\r\n// Corresponds to the following:\r\n// [digits]{minLengthNsn}|\r\n// plus_sign*\r\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\r\n//\r\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\r\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\r\n// The second expression restricts the number of digits to three or more, but\r\n// then allows them to be in international form, and to have alpha-characters\r\n// and punctuation. We split up the two reg-exes here and combine them when\r\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\r\n// with ^ and append $ to each branch.\r\n//\r\n// \"Note VALID_PUNCTUATION starts with a -,\r\n// so must be the first in the range\" (c) Google devs.\r\n// (wtf did they mean by saying that; probably nothing)\r\n//\r\nconst MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'\r\n//\r\n// And this is the second reg-exp:\r\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\r\n//\r\nexport const VALID_PHONE_NUMBER =\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){3,}' +\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']*'\r\n\r\n// This regular expression isn't present in Google's `libphonenumber`\r\n// and is only used to determine whether the phone number being input\r\n// is too short for it to even consider it a \"valid\" number.\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nconst VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\r\n\t'^' +\r\n\t'[' + PLUS_CHARS + ']{0,1}' +\r\n\t'(?:' +\r\n\t\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t\t'[' + VALID_DIGITS + ']' +\r\n\t'){1,2}' +\r\n\t'$'\r\n, 'i')\r\n\r\nexport const VALID_PHONE_NUMBER_WITH_EXTENSION =\r\n\tVALID_PHONE_NUMBER +\r\n\t// Phone number extensions\r\n\t'(?:' + createExtensionPattern() + ')?'\r\n\r\n// The combined regular expression for valid phone numbers:\r\n//\r\nconst VALID_PHONE_NUMBER_PATTERN = new RegExp(\r\n\t// Either a short two-digit-only phone number\r\n\t'^' +\r\n\t\tMIN_LENGTH_PHONE_NUMBER_PATTERN +\r\n\t'$' +\r\n\t'|' +\r\n\t// Or a longer fully parsed phone number (min 3 characters)\r\n\t'^' +\r\n\t\tVALID_PHONE_NUMBER_WITH_EXTENSION +\r\n\t'$'\r\n, 'i')\r\n\r\n// Checks to see if the string of characters could possibly be a phone number at\r\n// all. At the moment, checks to see that the string begins with at least 2\r\n// digits, ignoring any punctuation commonly found in phone numbers. This method\r\n// does not require the number to be normalized in advance - but does assume\r\n// that leading non-number symbols have been removed, such as by the method\r\n// `extract_possible_number`.\r\n//\r\nexport default function isViablePhoneNumber(number) {\r\n\treturn number.length >= MIN_LENGTH_FOR_NSN &&\r\n\t\tVALID_PHONE_NUMBER_PATTERN.test(number)\r\n}\r\n\r\n// This is just a way to differentiate between a really invalid phone\r\n// number like \"abcde\" and a valid phone number that a user has just\r\n// started inputting, like \"+1\" or \"1\": both these cases would be\r\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\r\n// library can provide a more detailed error message — whether it's\r\n// really \"not a number\", or is it just a start of a valid phone number.\r\nexport function isViablePhoneNumberStart(number) {\r\n\treturn VALID_PHONE_NUMBER_START_REG_EXP.test(number)\r\n}","import createExtensionPattern from './createExtensionPattern'\r\n\r\n// Regexp of all known extension prefixes used by different regions followed by\r\n// 1 or more valid digits, for use when parsing.\r\nconst EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i')\r\n\r\n// Strips any extension (as in, the part of the number dialled after the call is\r\n// connected, usually indicated with extn, ext, x or similar) from the end of\r\n// the number, and returns it.\r\nexport default function extractExtension(number) {\r\n\tconst start = number.search(EXTN_PATTERN)\r\n\tif (start < 0) {\r\n\t\treturn {}\r\n\t}\r\n\t// If we find a potential extension, and the number preceding this is a viable\r\n\t// number, we assume it is an extension.\r\n\tconst numberWithoutExtension = number.slice(0, start)\r\n\tconst matches = number.match(EXTN_PATTERN)\r\n\tlet i = 1\r\n\twhile (i < matches.length) {\r\n\t\tif (matches[i]) {\r\n\t\t\treturn {\r\n\t\t\t\tnumber: numberWithoutExtension,\r\n\t\t\t\text: matches[i]\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n}","// These mappings map a character (key) to a specific digit that should\r\n// replace it for normalization purposes. Non-European digits that\r\n// may be used in phone numbers are mapped to a European equivalent.\r\n//\r\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n//\r\nexport const DIGITS = {\r\n\t'0': '0',\r\n\t'1': '1',\r\n\t'2': '2',\r\n\t'3': '3',\r\n\t'4': '4',\r\n\t'5': '5',\r\n\t'6': '6',\r\n\t'7': '7',\r\n\t'8': '8',\r\n\t'9': '9',\r\n\t'\\uFF10': '0', // Fullwidth digit 0\r\n\t'\\uFF11': '1', // Fullwidth digit 1\r\n\t'\\uFF12': '2', // Fullwidth digit 2\r\n\t'\\uFF13': '3', // Fullwidth digit 3\r\n\t'\\uFF14': '4', // Fullwidth digit 4\r\n\t'\\uFF15': '5', // Fullwidth digit 5\r\n\t'\\uFF16': '6', // Fullwidth digit 6\r\n\t'\\uFF17': '7', // Fullwidth digit 7\r\n\t'\\uFF18': '8', // Fullwidth digit 8\r\n\t'\\uFF19': '9', // Fullwidth digit 9\r\n\t'\\u0660': '0', // Arabic-indic digit 0\r\n\t'\\u0661': '1', // Arabic-indic digit 1\r\n\t'\\u0662': '2', // Arabic-indic digit 2\r\n\t'\\u0663': '3', // Arabic-indic digit 3\r\n\t'\\u0664': '4', // Arabic-indic digit 4\r\n\t'\\u0665': '5', // Arabic-indic digit 5\r\n\t'\\u0666': '6', // Arabic-indic digit 6\r\n\t'\\u0667': '7', // Arabic-indic digit 7\r\n\t'\\u0668': '8', // Arabic-indic digit 8\r\n\t'\\u0669': '9', // Arabic-indic digit 9\r\n\t'\\u06F0': '0', // Eastern-Arabic digit 0\r\n\t'\\u06F1': '1', // Eastern-Arabic digit 1\r\n\t'\\u06F2': '2', // Eastern-Arabic digit 2\r\n\t'\\u06F3': '3', // Eastern-Arabic digit 3\r\n\t'\\u06F4': '4', // Eastern-Arabic digit 4\r\n\t'\\u06F5': '5', // Eastern-Arabic digit 5\r\n\t'\\u06F6': '6', // Eastern-Arabic digit 6\r\n\t'\\u06F7': '7', // Eastern-Arabic digit 7\r\n\t'\\u06F8': '8', // Eastern-Arabic digit 8\r\n\t'\\u06F9': '9' // Eastern-Arabic digit 9\r\n}\r\n\r\nexport function parseDigit(character) {\r\n\treturn DIGITS[character]\r\n}\r\n\r\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\r\nexport default function parseDigits(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tconst digit = parseDigit(character)\r\n\t\tif (digit) {\r\n\t\t\tresult += digit\r\n\t\t}\r\n\t}\r\n\treturn result\r\n}","import { parseDigit } from './helpers/parseDigits'\r\n\r\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\r\nexport default function parseIncompletePhoneNumber(string) {\r\n\tlet result = ''\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes) but digits\r\n\t// (including non-European ones) don't fall into that range\r\n\t// so such \"exotic\" characters would be discarded anyway.\r\n\tfor (const character of string.split('')) {\r\n\t\tresult += parsePhoneNumberCharacter(character, result) || ''\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object} meta - Optional custom use-case-specific metadata.\r\n * @return {string?} The parsed character.\r\n */\r\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters) {\r\n\t// Only allow a leading `+`.\r\n\tif (character === '+') {\r\n\t\t// If this `+` is not the first parsed character\r\n\t\t// then discard it.\r\n\t\tif (prevParsedCharacters) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\t// Allow digits.\r\n\treturn parseDigit(character)\r\n}","import mergeArrays from './mergeArrays'\r\n\r\nexport default function checkNumberLength(nationalNumber, metadata) {\r\n\treturn checkNumberLengthForType(nationalNumber, undefined, metadata)\r\n}\r\n\r\n// Checks whether a number is possible for the country based on its length.\r\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\r\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\r\n\tconst type_info = metadata.type(type)\r\n\r\n\t// There should always be \"\" set for every type element.\r\n\t// This is declared in the XML schema.\r\n\t// For size efficiency, where a sub-description (e.g. fixed-line)\r\n\t// has the same \"\" as the \"general description\", this is missing,\r\n\t// so we fall back to the \"general description\". Where no numbers of the type\r\n\t// exist at all, there is one possible length (-1) which is guaranteed\r\n\t// not to match the length of any real phone number.\r\n\tlet possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths()\r\n\t// let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\r\n\r\n\t// Metadata before version `1.0.18` didn't contain `possible_lengths`.\r\n\tif (!possible_lengths) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (type === 'FIXED_LINE_OR_MOBILE') {\r\n\t\t// No such country in metadata.\r\n\t\t/* istanbul ignore next */\r\n\t\tif (!metadata.type('FIXED_LINE')) {\r\n\t\t\t// The rare case has been encountered where no fixedLine data is available\r\n\t\t\t// (true for some non-geographic entities), so we just check mobile.\r\n\t\t\treturn checkNumberLengthForType(nationalNumber, 'MOBILE', metadata)\r\n\t\t}\r\n\r\n\t\tconst mobile_type = metadata.type('MOBILE')\r\n\t\tif (mobile_type) {\r\n\t\t\t// Merge the mobile data in if there was any. \"Concat\" creates a new\r\n\t\t\t// array, it doesn't edit possible_lengths in place, so we don't need a copy.\r\n\t\t\t// Note that when adding the possible lengths from mobile, we have\r\n\t\t\t// to again check they aren't empty since if they are this indicates\r\n\t\t\t// they are the same as the general desc and should be obtained from there.\r\n\t\t\tpossible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths())\r\n\t\t\t// The current list is sorted; we need to merge in the new list and\r\n\t\t\t// re-sort (duplicates are okay). Sorting isn't so expensive because\r\n\t\t\t// the lists are very small.\r\n\r\n\t\t\t// if (local_lengths) {\r\n\t\t\t// \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\r\n\t\t\t// } else {\r\n\t\t\t// \tlocal_lengths = mobile_type.possibleLengthsLocal()\r\n\t\t\t// }\r\n\t\t}\r\n\t}\r\n\t// If the type doesn't exist then return 'INVALID_LENGTH'.\r\n\telse if (type && !type_info) {\r\n\t\treturn 'INVALID_LENGTH'\r\n\t}\r\n\r\n\tconst actual_length = nationalNumber.length\r\n\r\n\t// In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\r\n\t// // This is safe because there is never an overlap beween the possible lengths\r\n\t// // and the local-only lengths; this is checked at build time.\r\n\t// if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\r\n\t// {\r\n\t// \treturn 'IS_POSSIBLE_LOCAL_ONLY'\r\n\t// }\r\n\r\n\tconst minimum_length = possible_lengths[0]\r\n\r\n\tif (minimum_length === actual_length) {\r\n\t\treturn 'IS_POSSIBLE'\r\n\t}\r\n\r\n\tif (minimum_length > actual_length) {\r\n\t\treturn 'TOO_SHORT'\r\n\t}\r\n\r\n\tif (possible_lengths[possible_lengths.length - 1] < actual_length) {\r\n\t\treturn 'TOO_LONG'\r\n\t}\r\n\r\n\t// We skip the first element since we've already checked it.\r\n\treturn possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH'\r\n}","/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\r\nexport default function mergeArrays(a, b) {\r\n\tconst merged = a.slice()\r\n\r\n\tfor (const element of b) {\r\n\t\tif (a.indexOf(element) < 0) {\r\n\t\t\tmerged.push(element)\r\n\t\t}\r\n\t}\r\n\r\n\treturn merged.sort((a, b) => a - b)\r\n\r\n\t// ES6 version, requires Set polyfill.\r\n\t// let merged = new Set(a)\r\n\t// for (const element of b) {\r\n\t// \tmerged.add(i)\r\n\t// }\r\n\t// return Array.from(merged).sort((a, b) => a - b)\r\n}","import Metadata from './metadata'\r\nimport checkNumberLength from './helpers/checkNumberLength'\r\n\r\nexport default function isPossiblePhoneNumber(input, options, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (options === undefined) {\r\n\t\toptions = {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (options.v2) {\r\n\t\tif (!input.countryCallingCode) {\r\n\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t}\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t} else {\r\n\t\tif (!input.phone) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\tif (input.country) {\r\n\t\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t\t}\r\n\t\t\tmetadata.country(input.country)\r\n\t\t} else {\r\n\t\t\tif (!input.countryCallingCode) {\r\n\t\t\t\tthrow new Error('Invalid phone number object passed')\r\n\t\t\t}\r\n\t\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t\t}\r\n\t}\r\n\r\n\tif (metadata.possibleLengths()) {\r\n\t\treturn isPossibleNumber(input.phone || input.nationalNumber, metadata)\r\n\t} else {\r\n\t\t// There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\r\n\t\t// were missing for \"non-geographical\" numbering plans.\r\n\t\t// Just assume the number is possible in such cases:\r\n\t\t// it's unlikely that anyone generated their custom metadata\r\n\t\t// in that short period of time (one day).\r\n\t\t// This code can be removed in some future major version update.\r\n\t\tif (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\r\n\t\t\t// \"Non-geographic entities\" did't have `possibleLengths`\r\n\t\t\t// due to a bug in metadata generation process.\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\tthrow new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isPossibleNumber(nationalNumber, metadata) { //, isInternational) {\r\n\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\tcase 'IS_POSSIBLE':\r\n\t\t\treturn true\r\n\t\t// This library ignores \"local-only\" phone numbers (for simplicity).\r\n\t\t// See the readme for more info on what are \"local-only\" phone numbers.\r\n\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t// \treturn !isInternational\r\n\t\tdefault:\r\n\t\t\treturn false\r\n\t}\r\n}","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\r\nexport default function matchesEntirely(text, regular_expression) {\r\n\t// If assigning the `''` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\ttext = text || ''\r\n\treturn new RegExp('^(?:' + regular_expression + ')$').test(text)\r\n}","import Metadata from '../metadata'\r\nimport matchesEntirely from './matchesEntirely'\r\n\r\nconst NON_FIXED_LINE_PHONE_TYPES = [\r\n\t'MOBILE',\r\n\t'PREMIUM_RATE',\r\n\t'TOLL_FREE',\r\n\t'SHARED_COST',\r\n\t'VOIP',\r\n\t'PERSONAL_NUMBER',\r\n\t'PAGER',\r\n\t'UAN',\r\n\t'VOICEMAIL'\r\n]\r\n\r\n// Finds out national phone number type (fixed line, mobile, etc)\r\nexport default function getNumberType(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\t// When `parse()` returned `{}`\r\n\t// meaning that the phone number is not a valid one.\r\n\tif (!input.country) {\r\n\t\treturn\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// The following is copy-pasted from the original function:\r\n\t// https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\r\n\r\n\t// Is this national number even valid for this country\r\n\tif (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\r\n\t\treturn\r\n\t}\r\n\r\n\t// Is it fixed line number\r\n\tif (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\r\n\t\t// Because duplicate regular expressions are removed\r\n\t\t// to reduce metadata size, if \"mobile\" pattern is \"\"\r\n\t\t// then it means it was removed due to being a duplicate of the fixed-line pattern.\r\n\t\t//\r\n\t\tif (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// v1 metadata.\r\n\t\t// Legacy.\r\n\t\t// Deprecated.\r\n\t\tif (!metadata.type('MOBILE')) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\t// Check if the number happens to qualify as both fixed line and mobile.\r\n\t\t// (no such country in the minimal metadata set)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\r\n\t\t\treturn 'FIXED_LINE_OR_MOBILE'\r\n\t\t}\r\n\r\n\t\treturn 'FIXED_LINE'\r\n\t}\r\n\r\n\tfor (const type of NON_FIXED_LINE_PHONE_TYPES) {\r\n\t\tif (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\r\n\t\t\treturn type\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\r\n\ttype = metadata.type(type)\r\n\tif (!type || !type.pattern()) {\r\n\t\treturn false\r\n\t}\r\n\t// Check if any possible number lengths are present;\r\n\t// if so, we use them to avoid checking\r\n\t// the validation pattern if they don't match.\r\n\t// If they are absent, this means they match\r\n\t// the general description, which we have\r\n\t// already checked before a specific number type.\r\n\tif (type.possibleLengths() &&\r\n\t\ttype.possibleLengths().indexOf(nationalNumber.length) < 0) {\r\n\t\treturn false\r\n\t}\r\n\treturn matchesEntirely(nationalNumber, type.pattern())\r\n}","import { VALID_PUNCTUATION } from '../constants'\r\n\r\n// Removes brackets and replaces dashes with spaces.\r\n//\r\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\r\n//\r\n// For some reason Google's metadata contains ``s with brackets and dashes.\r\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\r\n//\r\n// For example, Google's `` for USA is `+1 213-373-4253`.\r\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\r\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\r\n//\r\n// \"The country calling code for all countries participating in the NANP is 1.\r\n// In international format, an NANP number should be listed as +1 301 555 01 00,\r\n// where 301 is an area code (Maryland).\"\r\n//\r\n// I personally prefer the international format without any punctuation.\r\n// For example, brackets are remnants of the old age, meaning that the\r\n// phone number part in brackets (so called \"area code\") can be omitted\r\n// if dialing within the same \"area\".\r\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\r\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\r\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\r\n// He has a couple of seconds to memorize that number until it passes by.\r\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\r\n// but with hyphens instead of spaces the grouping is more explicit.\r\n// I personally think that hyphens introduce visual clutter,\r\n// so I prefer replacing them with spaces in international numbers.\r\n// In the modern age all output is done on displays where spaces are clearly distinguishable\r\n// so hyphens can be safely replaced with spaces without losing any legibility.\r\n//\r\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\r\n\treturn formattedNumber.replace(new RegExp(`[${VALID_PUNCTUATION}]+`, 'g'), ' ').trim()\r\n}","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle'\r\n\r\n// This was originally set to $1 but there are some countries for which the\r\n// first group is not used in the national pattern (e.g. Argentina) so the $1\r\n// group does not match correctly. Therefore, we use `\\d`, so that the first\r\n// group actually used in the pattern will be matched.\r\nexport const FIRST_GROUP_PATTERN = /(\\$\\d)/\r\n\r\nexport default function formatNationalNumberUsingFormat(\r\n\tnumber,\r\n\tformat,\r\n\t{\r\n\t\tuseInternationalFormat,\r\n\t\twithNationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tmetadata\r\n\t}\r\n) {\r\n\tconst formattedNumber = number.replace(\r\n\t\tnew RegExp(format.pattern()),\r\n\t\tuseInternationalFormat\r\n\t\t\t? format.internationalFormat()\r\n\t\t\t: (\r\n\t\t\t\t// This library doesn't use `domestic_carrier_code_formatting_rule`,\r\n\t\t\t\t// because that one is only used when formatting phone numbers\r\n\t\t\t\t// for dialing from a mobile phone, and this is not a dialing library.\r\n\t\t\t\t// carrierCode && format.domesticCarrierCodeFormattingRule()\r\n\t\t\t\t// \t// First, replace the $CC in the formatting rule with the desired carrier code.\r\n\t\t\t\t// \t// Then, replace the $FG in the formatting rule with the first group\r\n\t\t\t\t// \t// and the carrier code combined in the appropriate way.\r\n\t\t\t\t// \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\r\n\t\t\t\t// \t: (\r\n\t\t\t\t// \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t// \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t// \t\t\t: format.format()\r\n\t\t\t\t// \t)\r\n\t\t\t\twithNationalPrefix && format.nationalPrefixFormattingRule()\r\n\t\t\t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\r\n\t\t\t\t\t: format.format()\r\n\t\t\t)\r\n\t)\r\n\tif (useInternationalFormat) {\r\n\t\treturn applyInternationalSeparatorStyle(formattedNumber)\r\n\t}\r\n\treturn formattedNumber\r\n}","import Metadata from '../metadata'\r\n\r\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\r\nconst SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/\r\n\r\n// For regions that have multiple IDD prefixes\r\n// a preferred IDD prefix is returned.\r\nexport default function getIddPrefix(country, callingCode, metadata) {\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tif (countryMetadata.defaultIDDPrefix()) {\r\n\t\treturn countryMetadata.defaultIDDPrefix()\r\n\t}\r\n\tif (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\r\n\t\treturn countryMetadata.IDDPrefix()\r\n\t}\r\n}\r\n","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport matchesEntirely from './helpers/matchesEntirely'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat'\r\nimport Metadata, { getCountryCallingCode } from './metadata'\r\nimport getIddPrefix from './helpers/getIddPrefix'\r\nimport { formatRFC3966 } from './helpers/RFC3966'\r\n\r\nconst DEFAULT_OPTIONS = {\r\n\tformatExtension: (formattedNumber, extension, metadata) => `${formattedNumber}${metadata.ext()}${extension}`\r\n}\r\n\r\n// Formats a phone number\r\n//\r\n// Example use cases:\r\n//\r\n// ```js\r\n// formatNumber('8005553535', 'RU', 'INTERNATIONAL')\r\n// formatNumber('8005553535', 'RU', 'INTERNATIONAL', metadata)\r\n// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL')\r\n// formatNumber({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', metadata)\r\n// formatNumber('+78005553535', 'NATIONAL')\r\n// formatNumber('+78005553535', 'NATIONAL', metadata)\r\n// ```\r\n//\r\nexport default function formatNumber(input, format, options, metadata) {\r\n\t// Apply default options.\r\n\tif (options) {\r\n\t\toptions = { ...DEFAULT_OPTIONS, ...options }\r\n\t} else {\r\n\t\toptions = DEFAULT_OPTIONS\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\tif (input.country && input.country !== '001') {\r\n\t\t// Validate `input.country`.\r\n\t\tif (!metadata.hasCountry(input.country)) {\r\n\t\t\tthrow new Error(`Unknown country: ${input.country}`)\r\n\t\t}\r\n\t\tmetadata.country(input.country)\r\n\t}\r\n\telse if (input.countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(input.countryCallingCode)\r\n\t}\r\n\telse return input.phone || ''\r\n\r\n\tconst countryCallingCode = metadata.countryCallingCode()\r\n\r\n\tconst nationalNumber = options.v2 ? input.nationalNumber : input.phone\r\n\r\n\t// This variable should have been declared inside `case`s\r\n\t// but Babel has a bug and it says \"duplicate variable declaration\".\r\n\tlet number\r\n\r\n\tswitch (format) {\r\n\t\tcase 'NATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options)\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'INTERNATIONAL':\r\n\t\t\t// Legacy argument support.\r\n\t\t\t// (`{ country: ..., phone: '' }`)\r\n\t\t\tif (!nationalNumber) {\r\n\t\t\t\treturn `+${countryCallingCode}`\r\n\t\t\t}\r\n\t\t\tnumber = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options)\r\n\t\t\tnumber = `+${countryCallingCode} ${number}`\r\n\t\t\treturn addExtension(number, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tcase 'E.164':\r\n\t\t\t// `E.164` doesn't define \"phone number extensions\".\r\n\t\t\treturn `+${countryCallingCode}${nationalNumber}`\r\n\r\n\t\tcase 'RFC3966':\r\n\t\t\treturn formatRFC3966({\r\n\t\t\t\tnumber: `+${countryCallingCode}${nationalNumber}`,\r\n\t\t\t\text: input.ext\r\n\t\t\t})\r\n\r\n\t\t// For reference, here's Google's IDD formatter:\r\n\t\t// https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\r\n\t\t// Not saying that this IDD formatter replicates it 1:1, but it seems to work.\r\n\t\t// Who would even need to format phone numbers in IDD format anyway?\r\n\t\tcase 'IDD':\r\n\t\t\tif (!options.fromCountry) {\r\n\t\t\t\treturn\r\n\t\t\t\t// throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\r\n\t\t\t}\r\n\t\t\tconst formattedNumber = formatIDD(\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tinput.carrierCode,\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\toptions.fromCountry,\r\n\t\t\t\tmetadata\r\n\t\t\t)\r\n\t\t\treturn addExtension(formattedNumber, input.ext, metadata, options.formatExtension)\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unknown \"format\" argument passed to \"formatNumber()\": \"${format}\"`)\r\n\t}\r\n}\r\n\r\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\r\n\tconst format = chooseFormatForNumber(metadata.formats(), number)\r\n\tif (!format) {\r\n\t\treturn number\r\n\t}\r\n\treturn formatNationalNumberUsingFormat(\r\n\t\tnumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tuseInternationalFormat: formatAs === 'INTERNATIONAL',\r\n\t\t\twithNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && (options && options.nationalPrefix === false) ? false : true,\r\n\t\t\tcarrierCode,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n}\r\n\r\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\r\n\tfor (const format of availableFormats) {\r\n\t\t// Validate leading digits\r\n\t\tif (format.leadingDigitsPatterns().length > 0) {\r\n\t\t\t// The last leading_digits_pattern is used here, as it is the most detailed\r\n\t\t\tconst lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]\r\n\t\t\t// If leading digits don't match then move on to the next phone number format\r\n\t\t\tif (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Check that the national number matches the phone number format regular expression\r\n\t\tif (matchesEntirely(nationalNnumber, format.pattern())) {\r\n\t\t\treturn format\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\r\n\treturn ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber\r\n}\r\n\r\nfunction formatIDD(\r\n\tnationalNumber,\r\n\tcarrierCode,\r\n\tcountryCallingCode,\r\n\tfromCountry,\r\n\tmetadata\r\n) {\r\n\tconst fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata)\r\n\t// When calling within the same country calling code.\r\n\tif (fromCountryCallingCode === countryCallingCode) {\r\n\t\tconst formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata)\r\n\t\t// For NANPA regions, return the national format for these regions\r\n\t\t// but prefix it with the country calling code.\r\n\t\tif (countryCallingCode === '1') {\r\n\t\t\treturn countryCallingCode + ' ' + formattedNumber\r\n\t\t}\r\n\t\t// If regions share a country calling code, the country calling code need\r\n\t\t// not be dialled. This also applies when dialling within a region, so this\r\n\t\t// if clause covers both these cases. Technically this is the case for\r\n\t\t// dialling from La Reunion to other overseas departments of France (French\r\n\t\t// Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\r\n\t\t// this edge case for now and for those cases return the version including\r\n\t\t// country calling code. Details here:\r\n\t\t// http://www.petitfute.com/voyage/225-info-pratiques-reunion\r\n\t\t//\r\n\t\treturn formattedNumber\r\n\t}\r\n\tconst iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata)\r\n\tif (iddPrefix) {\r\n\t\treturn `${iddPrefix} ${countryCallingCode} ${formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata)}`\r\n\t}\r\n}","import isViablePhoneNumber from './isViablePhoneNumber'\r\n\r\n// https://www.ietf.org/rfc/rfc3966.txt\r\n\r\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nexport function parseRFC3966(text) {\r\n\tlet number\r\n\tlet ext\r\n\r\n\t// Replace \"tel:\" with \"tel=\" for parsing convenience.\r\n\ttext = text.replace(/^tel:/, 'tel=')\r\n\r\n\tfor (const part of text.split(';')) {\r\n\t\tconst [name, value] = part.split('=')\r\n\t\tswitch (name) {\r\n\t\t\tcase 'tel':\r\n\t\t\t\tnumber = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'ext':\r\n\t\t\t\text = value\r\n\t\t\t\tbreak\r\n\t\t\tcase 'phone-context':\r\n\t\t\t\t// Only \"country contexts\" are supported.\r\n\t\t\t\t// \"Domain contexts\" are ignored.\r\n\t\t\t\tif (value[0] === '+') {\r\n\t\t\t\t\tnumber = value + number\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t}\r\n\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst result = { number }\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\r\nexport function formatRFC3966({ number, ext }) {\r\n\tif (!number) {\r\n\t\treturn ''\r\n\t}\r\n\tif (number[0] !== '+') {\r\n\t\tthrow new Error(`\"formatRFC3966()\" expects \"number\" to be in E.164 format.`)\r\n\t}\r\n\treturn `tel:${number}${ext ? ';ext=' + ext : ''}`\r\n}","import Metadata from './metadata'\r\nimport isPossibleNumber from './isPossibleNumber_'\r\nimport isValidNumber from './validate_'\r\nimport isValidNumberForRegion from './isValidNumberForRegion_'\r\nimport getNumberType from './helpers/getNumberType'\r\nimport formatNumber from './format_'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class PhoneNumber {\r\n\tconstructor(countryCallingCode, nationalNumber, metadata) {\r\n\t\tif (!countryCallingCode) {\r\n\t\t\tthrow new TypeError('`country` or `countryCallingCode` not passed')\r\n\t\t}\r\n\t\tif (!nationalNumber) {\r\n\t\t\tthrow new TypeError('`nationalNumber` not passed')\r\n\t\t}\r\n\t\tif (!metadata) {\r\n\t\t\tthrow new TypeError('`metadata` not passed')\r\n\t\t}\r\n\t\tconst _metadata = new Metadata(metadata)\r\n\t\t// If country code is passed then derive `countryCallingCode` from it.\r\n\t\t// Also store the country code as `.country`.\r\n\t\tif (isCountryCode(countryCallingCode)) {\r\n\t\t\tthis.country = countryCallingCode\r\n\t\t\t_metadata.country(countryCallingCode)\r\n\t\t\tcountryCallingCode = _metadata.countryCallingCode()\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (_metadata.isNonGeographicCallingCode(countryCallingCode)) {\r\n\t\t\t\t\tthis.country = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.countryCallingCode = countryCallingCode\r\n\t\tthis.nationalNumber = nationalNumber\r\n\t\tthis.number = '+' + this.countryCallingCode + this.nationalNumber\r\n\t\tthis.metadata = metadata\r\n\t}\r\n\r\n\tsetExt(ext) {\r\n\t\tthis.ext = ext\r\n\t}\r\n\r\n\tisPossible() {\r\n\t\treturn isPossibleNumber(this, { v2: true }, this.metadata)\r\n\t}\r\n\r\n\tisValid() {\r\n\t\treturn isValidNumber(this, { v2: true }, this.metadata)\r\n\t}\r\n\r\n\tisNonGeographic() {\r\n\t\tconst metadata = new Metadata(this.metadata)\r\n\t\treturn metadata.isNonGeographicCallingCode(this.countryCallingCode)\r\n\t}\r\n\r\n\tisEqual(phoneNumber) {\r\n\t\treturn this.number === phoneNumber.number && this.ext === phoneNumber.ext\r\n\t}\r\n\r\n\t// // Is just an alias for `this.isValid() && this.country === country`.\r\n\t// // https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n\t// isValidForRegion(country) {\r\n\t// \treturn isValidNumberForRegion(this, country, { v2: true }, this.metadata)\r\n\t// }\r\n\r\n\tgetType() {\r\n\t\treturn getNumberType(this, { v2: true }, this.metadata)\r\n\t}\r\n\r\n\tformat(format, options) {\r\n\t\treturn formatNumber(\r\n\t\t\tthis,\r\n\t\t\tformat,\r\n\t\t\toptions ? { ...options, v2: true } : { v2: true },\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t}\r\n\r\n\tformatNational(options) {\r\n\t\treturn this.format('NATIONAL', options)\r\n\t}\r\n\r\n\tformatInternational(options) {\r\n\t\treturn this.format('INTERNATIONAL', options)\r\n\t}\r\n\r\n\tgetURI(options) {\r\n\t\treturn this.format('RFC3966', options)\r\n\t}\r\n}\r\n\r\nconst isCountryCode = (value) => /^[A-Z]{2}$/.test(value)","import Metadata from './metadata'\r\nimport matchesEntirely from './helpers/matchesEntirely'\r\nimport getNumberType from './helpers/getNumberType'\r\n\r\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\r\nexport default function isValidNumber(input, options, metadata)\r\n{\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// This is just to support `isValidNumber({})`\r\n\t// for cases when `parseNumber()` returns `{}`.\r\n\tif (!input.country)\r\n\t{\r\n\t\treturn false\r\n\t}\r\n\r\n\tmetadata.selectNumberingPlan(input.country, input.countryCallingCode)\r\n\r\n\t// By default, countries only have type regexps when it's required for\r\n\t// distinguishing different countries having the same `countryCallingCode`.\r\n\tif (metadata.hasTypes())\r\n\t{\r\n\t\treturn getNumberType(input, options, metadata.metadata) !== undefined\r\n\t}\r\n\r\n\t// If there are no type regexps for this country in metadata then use\r\n\t// `nationalNumberPattern` as a \"better than nothing\" replacement.\r\n\tconst national_number = options.v2 ? input.nationalNumber : input.phone\r\n\treturn matchesEntirely(national_number, metadata.nationalNumberPattern())\r\n}","import Metadata from '../metadata'\r\nimport { VALID_DIGITS } from '../constants'\r\n\r\nconst CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])')\r\n\r\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\t// Check if the number is IDD-prefixed.\r\n\tconst countryMetadata = new Metadata(metadata)\r\n\tcountryMetadata.selectNumberingPlan(country, callingCode)\r\n\tconst IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix())\r\n\tif (number.search(IDDPrefixPattern) !== 0) {\r\n\t\treturn\r\n\t}\r\n\t// Strip IDD prefix.\r\n\tnumber = number.slice(number.match(IDDPrefixPattern)[0].length)\r\n\t// If there're any digits after an IDD prefix,\r\n\t// then those digits are a country calling code.\r\n\t// Since no country code starts with a `0`,\r\n\t// the code below validates that the next digit (if present) is not `0`.\r\n\tconst matchedGroups = number.match(CAPTURING_DIGIT_PATTERN)\r\n\tif (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\r\n\t\tif (matchedGroups[1] === '0') {\r\n\t\t\treturn\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`.\r\n */\r\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\r\n\tif (number && metadata.numberingPlan.nationalPrefixForParsing()) {\r\n\t\t// See METADATA.md for the description of\r\n\t\t// `national_prefix_for_parsing` and `national_prefix_transform_rule`.\r\n\t\t// Attempt to parse the first digits as a national prefix.\r\n\t\tconst prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')')\r\n\t\tconst prefixMatch = prefixPattern.exec(number)\r\n\t\tif (prefixMatch) {\r\n\t\t\tlet nationalNumber\r\n\t\t\tlet carrierCode\r\n\t\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\t\t// If a `national_prefix_for_parsing` has any \"capturing groups\"\r\n\t\t\t// then it means that the national (significant) number is equal to\r\n\t\t\t// those \"capturing groups\" transformed via `national_prefix_transform_rule`,\r\n\t\t\t// and nothing could be said about the actual national prefix:\r\n\t\t\t// what is it and was it even there.\r\n\t\t\t// If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\r\n\t\t\t// then everything it matches is a national prefix.\r\n\t\t\t// To determine whether `national_prefix_for_parsing` matched any\r\n\t\t\t// \"capturing groups\", the value of the result of calling `.exec()`\r\n\t\t\t// is looked at, and if it has non-undefined values where there're\r\n\t\t\t// \"capturing groups\" in the regular expression, then it means\r\n\t\t\t// that \"capturing groups\" have been matched.\r\n\t\t\t// It's not possible to tell whether there'll be any \"capturing gropus\"\r\n\t\t\t// before the matching process, because a `national_prefix_for_parsing`\r\n\t\t\t// could exhibit both behaviors.\r\n\t\t\tconst capturedGroupsCount = prefixMatch.length - 1\r\n\t\t\tconst hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount]\r\n\t\t\tif (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\r\n\t\t\t\tnationalNumber = number.replace(\r\n\t\t\t\t\tprefixPattern,\r\n\t\t\t\t\tmetadata.nationalPrefixTransformRule()\r\n\t\t\t\t)\r\n\t\t\t\t// If there's more than one captured group,\r\n\t\t\t\t// then carrier code is the second one.\r\n\t\t\t\tif (capturedGroupsCount > 1) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If there're no \"capturing groups\",\r\n\t\t\t// or if there're \"capturing groups\" but no\r\n\t\t\t// `national_prefix_transform_rule`,\r\n\t\t\t// then just strip the national prefix from the number,\r\n\t\t\t// and possibly a carrier code.\r\n\t\t\t// Seems like there could be more.\r\n\t\t\telse {\r\n\t\t\t\t// `prefixBeforeNationalNumber` is the whole substring matched by\r\n\t\t\t\t// the `national_prefix_for_parsing` regular expression.\r\n\t\t\t\t// There seem to be no guarantees that it's just a national prefix.\r\n\t\t\t\t// For example, if there's a carrier code, it's gonna be a\r\n\t\t\t\t// part of `prefixBeforeNationalNumber` too.\r\n\t\t\t\tconst prefixBeforeNationalNumber = prefixMatch[0]\r\n\t\t\t\tnationalNumber = number.slice(prefixBeforeNationalNumber.length)\r\n\t\t\t\t// If there's at least one captured group,\r\n\t\t\t\t// then carrier code is the first one.\r\n\t\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\t\tcarrierCode = prefixMatch[1]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Tries to guess whether a national prefix was present in the input.\r\n\t\t\t// This is not something copy-pasted from Google's library:\r\n\t\t\t// they don't seem to have an equivalent for that.\r\n\t\t\t// So this isn't an \"officially approved\" way of doing something like that.\r\n\t\t\t// But since there seems no other existing method, this library uses it.\r\n\t\t\tlet nationalPrefix\r\n\t\t\tif (hasCapturedGroups) {\r\n\t\t\t\tconst possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1])\r\n\t\t\t\tconst possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup)\r\n\t\t\t\t// Example: an Argentinian (AR) phone number `0111523456789`.\r\n\t\t\t\t// `prefixMatch[0]` is `01115`, and `$1` is `11`,\r\n\t\t\t\t// and the rest of the phone number is `23456789`.\r\n\t\t\t\t// The national number is transformed via `9$1` to `91123456789`.\r\n\t\t\t\t// National prefix `0` is detected being present at the start.\r\n\t\t\t\t// if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\r\n\t\t\t\tif (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\r\n\t\t\t\t\tnationalPrefix = metadata.numberingPlan.nationalPrefix()\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tnationalPrefix = prefixMatch[0]\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tnationalNumber,\r\n\t\t\t\tnationalPrefix,\r\n\t\t\t\tcarrierCode\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n return {\r\n \tnationalNumber: number\r\n }\r\n}","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber'\r\nimport matchesEntirely from './matchesEntirely'\r\nimport checkNumberLength from './checkNumberLength'\r\n\r\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\r\nexport default function extractNationalNumber(number, metadata) {\r\n\t// Parsing national prefixes and carrier codes\r\n\t// is only required for local phone numbers\r\n\t// but some people don't understand that\r\n\t// and sometimes write international phone numbers\r\n\t// with national prefixes (or maybe even carrier codes).\r\n\t// http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\r\n\t// Google's original library forgives such mistakes\r\n\t// and so does this library, because it has been requested:\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/127\r\n\tconst {\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\tnumber,\r\n\t\tmetadata\r\n\t)\r\n\tif (!shouldExtractNationalPrefix(number, nationalNumber, metadata)) {\r\n\t\t// Don't strip the national prefix.\r\n\t\treturn { nationalNumber: number }\r\n\t}\r\n\t// If a national prefix has been extracted, check to see\r\n\t// if the resultant number isn't too short.\r\n\t// Same code in Google's `libphonenumber`:\r\n\t// https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3291-L3302\r\n\t// For some reason, they do this check right after the `national_number_pattern` check\r\n\t// this library does in `shouldExtractNationalPrefix()` function.\r\n\t// Why is there a second \"resultant\" number validity check?\r\n\t// They don't provide an explanation.\r\n\t// This library just copies the behavior.\r\n\tif (number.length !== nationalNumber.length + (carrierCode ? carrierCode.length : 0)) {\r\n\t\t// If not using legacy generated metadata (before version `1.0.18`)\r\n\t\t// then it has \"possible lengths\", so use those to validate the number length.\r\n\t\tif (metadata.possibleLengths()) {\r\n\t\t\t// \"We require that the NSN remaining after stripping the national prefix and\r\n\t\t\t// carrier code be long enough to be a possible length for the region.\r\n\t\t\t// Otherwise, we don't do the stripping, since the original number could be\r\n\t\t\t// a valid short number.\"\r\n\t\t\t// https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\r\n\t\t\tswitch (checkNumberLength(nationalNumber, metadata)) {\r\n\t\t\t\tcase 'TOO_SHORT':\r\n\t\t\t\tcase 'INVALID_LENGTH':\r\n\t\t\t\t// case 'IS_POSSIBLE_LOCAL_ONLY':\r\n\t\t\t\t\t// Don't strip the national prefix.\r\n\t\t\t\t\treturn { nationalNumber: number }\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn { nationalNumber, carrierCode }\r\n}\r\n\r\n// In some countries, the same digit could be a national prefix\r\n// or a leading digit of a valid phone number.\r\n// For example, in Russia, national prefix is `8`,\r\n// and also `800 555 35 35` is a valid number\r\n// in which `8` is not a national prefix, but the first digit\r\n// of a national (significant) number.\r\n// Same's with Belarus:\r\n// `82004910060` is a valid national (significant) number,\r\n// but `2004910060` is not.\r\n// To support such cases (to prevent the code from always stripping\r\n// national prefix), a condition is imposed: a national prefix\r\n// is not extracted when the original number is \"viable\" and the\r\n// resultant number is not, a \"viable\" national number being the one\r\n// that matches `national_number_pattern`.\r\nfunction shouldExtractNationalPrefix(number, nationalSignificantNumber, metadata) {\r\n\t// The equivalent in Google's code is:\r\n\t// https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\r\n\tif (matchesEntirely(number, metadata.nationalNumberPattern()) &&\r\n\t\t!matchesEntirely(nationalSignificantNumber, metadata.nationalNumberPattern())) {\r\n\t\treturn false\r\n\t}\r\n\t// Just \"possible\" number check would be more relaxed, so it's not used.\r\n\t// if (isPossibleNumber(number, metadata) &&\r\n\t// \t!isPossibleNumber(numberWithNationalPrefixExtracted, metadata)) {\r\n\t// \treturn false\r\n\t// }\r\n\treturn true\r\n}","import Metadata from '../metadata'\r\nimport matchesEntirely from './matchesEntirely'\r\nimport extractNationalNumber from './extractNationalNumber'\r\nimport checkNumberLength from './checkNumberLength'\r\nimport getCountryCallingCode from '../getCountryCallingCode'\r\n\r\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\r\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tconst countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode\r\n\tif (number.indexOf(countryCallingCode) === 0) {\r\n\t\tmetadata = new Metadata(metadata)\r\n\t\tmetadata.selectNumberingPlan(country, callingCode)\r\n\t\tconst possibleShorterNumber = number.slice(countryCallingCode.length)\r\n\t\tconst {\r\n\t\t\tnationalNumber: possibleShorterNationalNumber,\r\n\t\t} = extractNationalNumber(\r\n\t\t\tpossibleShorterNumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\tconst {\r\n\t\t\tnationalNumber\r\n\t\t} = extractNationalNumber(\r\n\t\t\tnumber,\r\n\t\t\tmetadata\r\n\t\t)\r\n\t\t// If the number was not valid before but is valid now,\r\n\t\t// or if it was too long before, we consider the number\r\n\t\t// with the country calling code stripped to be a better result\r\n\t\t// and keep that instead.\r\n\t\t// For example, in Germany (+49), `49` is a valid area code,\r\n\t\t// so if a number starts with `49`, it could be both a valid\r\n\t\t// national German number or an international number without\r\n\t\t// a leading `+`.\r\n\t\tif (\r\n\t\t\t(\r\n\t\t\t\t!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t\t&&\r\n\t\t\t\tmatchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern())\r\n\t\t\t)\r\n\t\t\t||\r\n\t\t\tcheckNumberLength(nationalNumber, metadata) === 'TOO_LONG'\r\n\t\t) {\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: possibleShorterNumber\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn { number }\r\n}","import stripIddPrefix from './stripIddPrefix'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'\r\nimport Metadata from '../metadata'\r\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants'\r\n\r\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\r\nexport default function extractCountryCallingCode(\r\n\tnumber,\r\n\tcountry,\r\n\tcallingCode,\r\n\tmetadata\r\n) {\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// If this is not an international phone number,\r\n\t// then either extract an \"IDD\" prefix, or extract a\r\n\t// country calling code from a number by autocorrecting it\r\n\t// by prepending a leading `+` in cases when it starts\r\n\t// with the country calling code.\r\n\t// https://wikitravel.org/en/International_dialling_prefix\r\n\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\tif (number[0] !== '+') {\r\n\t\t// Convert an \"out-of-country\" dialing phone number\r\n\t\t// to a proper international phone number.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata)\r\n\t\t// If an IDD prefix was stripped then\r\n\t\t// convert the number to international one\r\n\t\t// for subsequent parsing.\r\n\t\tif (numberWithoutIDD && numberWithoutIDD !== number) {\r\n\t\t\tnumber = '+' + numberWithoutIDD\r\n\t\t} else {\r\n\t\t\t// Check to see if the number starts with the country calling code\r\n\t\t\t// for the default country. If so, we remove the country calling code,\r\n\t\t\t// and do some checks on the validity of the number before and after.\r\n\t\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t\tif (country || callingCode) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\t\tnumber,\r\n\t\t\t\t\tcountry,\r\n\t\t\t\t\tcallingCode,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t)\r\n\t\t\t\tif (countryCallingCode) {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tcountryCallingCode,\r\n\t\t\t\t\t\tnumber: shorterNumber\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn { number }\r\n\t\t}\r\n\t}\r\n\r\n\t// Fast abortion: country codes do not begin with a '0'\r\n\tif (number[1] === '0') {\r\n\t\treturn {}\r\n\t}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// The thing with country phone codes\r\n\t// is that they are orthogonal to each other\r\n\t// i.e. there's no such country phone code A\r\n\t// for which country phone code B exists\r\n\t// where B starts with A.\r\n\t// Therefore, while scanning digits,\r\n\t// if a valid country code is found,\r\n\t// that means that it is the country code.\r\n\t//\r\n\tlet i = 2\r\n\twhile (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\r\n\t\tconst countryCallingCode = number.slice(1, i)\r\n\t\tif (metadata.hasCallingCode(countryCallingCode)) {\r\n\t\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t\t\treturn {\r\n\t\t\t\tcountryCallingCode,\r\n\t\t\t\tnumber: number.slice(i)\r\n\t\t\t}\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\r\n\treturn {}\r\n}","import Metadata from '../metadata'\r\nimport getNumberType from './getNumberType'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default function getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata) {\r\n\t/* istanbul ignore if */\r\n\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\tif (metadata.isNonGeographicCallingCode(callingCode)) {\r\n\t\t\treturn '001'\r\n\t\t}\r\n\t}\r\n\t// Is always non-empty, because `callingCode` is always valid\r\n\tconst possibleCountries = metadata.getCountryCodesForCallingCode(callingCode)\r\n\tif (!possibleCountries) {\r\n\t\treturn\r\n\t}\r\n\t// If there's just one country corresponding to the country code,\r\n\t// then just return it, without further phone number digits validation.\r\n\tif (possibleCountries.length === 1) {\r\n\t\treturn possibleCountries[0]\r\n\t}\r\n\treturn selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata.metadata)\r\n}\r\n\r\nfunction selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata) {\r\n\t// Re-create `metadata` because it will be selecting a `country`.\r\n\tmetadata = new Metadata(metadata)\r\n\tfor (const country of possibleCountries) {\r\n\t\tmetadata.country(country)\r\n\t\t// Leading digits check would be the simplest and fastest one.\r\n\t\t// Leading digits patterns are only defined for about 20% of all countries.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\r\n\t\t// Matching \"leading digits\" is a sufficient but not necessary condition.\r\n\t\tif (metadata.leadingDigits()) {\r\n\t\t\tif (nationalPhoneNumber &&\r\n\t\t\t\tnationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\r\n\t\t\t\treturn country\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Else perform full validation with all of those\r\n\t\t// fixed-line/mobile/etc regular expressions.\r\n\t\telse if (getNumberType({ phone: nationalPhoneNumber, country }, undefined, metadata.metadata)) {\r\n\t\t\treturn country\r\n\t\t}\r\n\t}\r\n}","// This is a port of Google Android `libphonenumber`'s\r\n// `phonenumberutil.js` of December 31th, 2018.\r\n//\r\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tPLUS_CHARS,\r\n\tMIN_LENGTH_FOR_NSN,\r\n\tMAX_LENGTH_FOR_NSN\r\n} from './constants'\r\n\r\nimport ParseError from './ParseError'\r\nimport Metadata from './metadata'\r\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber'\r\nimport extractExtension from './helpers/extension/extractExtension'\r\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber'\r\nimport getCountryCallingCode from './getCountryCallingCode'\r\nimport { isPossibleNumber } from './isPossibleNumber_'\r\nimport { parseRFC3966 } from './helpers/RFC3966'\r\nimport PhoneNumber from './PhoneNumber'\r\nimport matchesEntirely from './helpers/matchesEntirely'\r\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'\r\nimport extractNationalNumber from './helpers/extractNationalNumber'\r\nimport stripIddPrefix from './helpers/stripIddPrefix'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode'\r\n\r\n// We don't allow input strings for parsing to be longer than 250 chars.\r\n// This prevents malicious input from consuming CPU.\r\nconst MAX_INPUT_STRING_LENGTH = 250\r\n\r\n// This consists of the plus symbol, digits, and arabic-indic digits.\r\nconst PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']')\r\n\r\n// Regular expression of trailing characters that we want to remove.\r\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\r\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\r\nconst AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$')\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\n// Examples:\r\n//\r\n// ```js\r\n// parse('8 (800) 555-35-35', 'RU')\r\n// parse('8 (800) 555-35-35', 'RU', metadata)\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\r\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\r\n// parse('+7 800 555 35 35')\r\n// parse('+7 800 555 35 35', metadata)\r\n// ```\r\n//\r\nexport default function parse(text, options, metadata) {\r\n\t// If assigning the `{}` default value is moved to the arguments above,\r\n\t// code coverage would decrease for some weird reason.\r\n\toptions = options || {}\r\n\r\n\tmetadata = new Metadata(metadata)\r\n\r\n\t// Validate `defaultCountry`.\r\n\tif (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\tthrow new Error(`Unknown country: ${options.defaultCountry}`)\r\n\t}\r\n\r\n\t// Parse the phone number.\r\n\tconst { number: formattedPhoneNumber, ext, error } = parseInput(text, options.v2, options.extract)\r\n\r\n\t// If the phone number is not viable then return nothing.\r\n\tif (!formattedPhoneNumber) {\r\n\t\tif (options.v2) {\r\n\t\t\tif (error === 'TOO_SHORT') {\r\n\t\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t\t}\r\n\t\t\tthrow new ParseError('NOT_A_NUMBER')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tnationalNumber,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode\r\n\t} = parsePhoneNumber(\r\n\t\tformattedPhoneNumber,\r\n\t\toptions.defaultCountry,\r\n\t\toptions.defaultCallingCode,\r\n\t\tmetadata\r\n\t)\r\n\r\n\tif (!metadata.hasSelectedNumberingPlan()) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('INVALID_COUNTRY')\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\tif (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\r\n\t\t// Won't throw here because the regexp already demands length > 1.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_SHORT')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\t// Validate national (significant) number length.\r\n\t//\r\n\t// A sidenote:\r\n\t//\r\n\t// They say that sometimes national (significant) numbers\r\n\t// can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\r\n\t// https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\r\n\t// Such numbers will just be discarded.\r\n\t//\r\n\tif (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\r\n\t\tif (options.v2) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\t// Google's demo just throws an error in this case.\r\n\t\treturn {}\r\n\t}\r\n\r\n\tif (options.v2) {\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountryCallingCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tmetadata.metadata\r\n\t\t)\r\n\t\tif (country) {\r\n\t\t\tphoneNumber.country = country\r\n\t\t}\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\tif (ext) {\r\n\t\t\tphoneNumber.ext = ext\r\n\t\t}\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t// Check if national phone number pattern matches the number.\r\n\t// National number pattern is different for each country,\r\n\t// even for those ones which are part of the \"NANPA\" group.\r\n\tconst valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ?\r\n\t\tmatchesEntirely(nationalNumber, metadata.nationalNumberPattern()) :\r\n\t\tfalse\r\n\r\n\tif (!options.extended) {\r\n\t\treturn valid ? result(country, nationalNumber, ext) : {}\r\n\t}\r\n\r\n\t// isInternational: countryCallingCode !== undefined\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tcarrierCode,\r\n\t\tvalid,\r\n\t\tpossible: valid ? true : (\r\n\t\t\toptions.extended === true &&\r\n\t\t\tmetadata.possibleLengths() &&\r\n\t\t\tisPossibleNumber(nationalNumber, metadata) ? true : false\r\n\t\t),\r\n\t\tphone: nationalNumber,\r\n\t\text\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\r\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\r\n\tif (!text) {\r\n\t\treturn\r\n\t}\r\n\tif (text.length > MAX_INPUT_STRING_LENGTH) {\r\n\t\tif (throwOnError) {\r\n\t\t\tthrow new ParseError('TOO_LONG')\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\tif (extract === false) {\r\n\t\treturn text\r\n\t}\r\n\t// Attempt to extract a possible number from the string passed in\r\n\tconst startsAt = text.search(PHONE_NUMBER_START_PATTERN)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\treturn text\r\n\t\t// Trim everything to the left of the phone number\r\n\t\t.slice(startsAt)\r\n\t\t// Remove trailing non-numerical characters\r\n\t\t.replace(AFTER_PHONE_NUMBER_END_PATTERN, '')\r\n}\r\n\r\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\r\nfunction parseInput(text, v2, extract) {\r\n\t// Parse RFC 3966 phone number URI.\r\n\tif (text && text.indexOf('tel:') === 0) {\r\n\t\treturn parseRFC3966(text)\r\n\t}\r\n\tlet number = extractFormattedPhoneNumber(text, extract, v2)\r\n\t// If the phone number is not viable, then abort.\r\n\tif (!number) {\r\n\t\treturn {}\r\n\t}\r\n\tif (!isViablePhoneNumber(number)) {\r\n\t\tif (isViablePhoneNumberStart(number)) {\r\n\t\t\treturn { error: 'TOO_SHORT' }\r\n\t\t}\r\n\t\treturn {}\r\n\t}\r\n\t// Attempt to parse extension first, since it doesn't require region-specific\r\n\t// data and we want to have the non-normalised number here.\r\n\tconst withExtensionStripped = extractExtension(number)\r\n\tif (withExtensionStripped.ext) {\r\n\t\treturn withExtensionStripped\r\n\t}\r\n\treturn { number }\r\n}\r\n\r\n/**\r\n * Creates `parse()` result object.\r\n */\r\nfunction result(country, nationalNumber, ext) {\r\n\tconst result = {\r\n\t\tcountry,\r\n\t\tphone: nationalNumber\r\n\t}\r\n\tif (ext) {\r\n\t\tresult.ext = ext\r\n\t}\r\n\treturn result\r\n}\r\n\r\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\r\nfunction parsePhoneNumber(\r\n\tformattedPhoneNumber,\r\n\tdefaultCountry,\r\n\tdefaultCallingCode,\r\n\tmetadata\r\n) {\r\n\t// Extract calling code from phone number.\r\n\tlet { countryCallingCode, number } = extractCountryCallingCode(\r\n\t\tparseIncompletePhoneNumber(formattedPhoneNumber),\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata.metadata\r\n\t)\r\n\r\n\t// Choose a country by `countryCallingCode`.\r\n\tlet country\r\n\tif (countryCallingCode) {\r\n\t\tmetadata.selectNumberingPlan(countryCallingCode)\r\n\t}\r\n\t// If `formattedPhoneNumber` is in \"national\" format\r\n\t// then `number` is defined and `countryCallingCode` isn't.\r\n\telse if (number && (defaultCountry || defaultCallingCode)) {\r\n\t\tmetadata.selectNumberingPlan(defaultCountry, defaultCallingCode)\r\n\t\tif (defaultCountry) {\r\n\t\t\tcountry = defaultCountry\r\n\t\t} else {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tcountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tcountryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata)\r\n\t}\r\n\telse return {}\r\n\r\n\tif (!number) {\r\n\t\treturn { countryCallingCode }\r\n\t}\r\n\r\n\tconst {\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t} = extractNationalNumber(\r\n\t\tparseIncompletePhoneNumber(number),\r\n\t\tmetadata\r\n\t)\r\n\r\n\t// Sometimes there are several countries\r\n\t// corresponding to the same country phone code\r\n\t// (e.g. NANPA countries all having `1` country phone code).\r\n\t// Therefore, to reliably determine the exact country,\r\n\t// national (significant) number should have been parsed first.\r\n\t//\r\n\t// When `metadata.json` is generated, all \"ambiguous\" country phone codes\r\n\t// get their countries populated with the full set of\r\n\t// \"phone number type\" regular expressions.\r\n\t//\r\n\tconst exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata)\r\n\tif (exactCountry) {\r\n\t\tcountry = exactCountry\r\n\t\t/* istanbul ignore if */\r\n\t\tif (exactCountry === '001') {\r\n\t\t\t// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\r\n\t\t\t// If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\r\n\t\t\t// then remove the \"istanbul ignore if\".\r\n\t\t} else {\r\n\t\t\tmetadata.country(country)\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcountry,\r\n\t\tcountryCallingCode,\r\n\t\tnationalNumber,\r\n\t\tcarrierCode\r\n\t}\r\n}","import parseNumber from './parse_'\r\n\r\nexport default function parsePhoneNumber(text, options, metadata) {\r\n\treturn parseNumber(text, { ...options, v2: true }, metadata)\r\n}","import parsePhoneNumber_ from './parsePhoneNumber_'\r\n\r\nexport default function parsePhoneNumber() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumber_(text, options, metadata)\r\n}\r\n\r\nexport function normalizeArguments(args)\r\n{\r\n\tconst [arg_1, arg_2, arg_3, arg_4] = Array.prototype.slice.call(args)\r\n\r\n\tlet text\r\n\tlet options\r\n\tlet metadata\r\n\r\n\t// If the phone number is passed as a string.\r\n\t// `parsePhoneNumber('88005553535', ...)`.\r\n\tif (typeof arg_1 === 'string') {\r\n\t\ttext = arg_1\r\n\t}\r\n\telse throw new TypeError('A text for parsing must be a string.')\r\n\r\n\t// If \"default country\" argument is being passed then move it to `options`.\r\n\t// `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\r\n\tif (!arg_2 || typeof arg_2 === 'string')\r\n\t{\r\n\t\tif (arg_4) {\r\n\t\t\toptions = arg_3\r\n\t\t\tmetadata = arg_4\r\n\t\t} else {\r\n\t\t\toptions = undefined\r\n\t\t\tmetadata = arg_3\r\n\t\t}\r\n\r\n\t\tif (arg_2) {\r\n\t\t\toptions = { defaultCountry: arg_2, ...options }\r\n\t\t}\r\n\t}\r\n\t// `defaultCountry` is not passed.\r\n\t// Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\r\n\telse if (isObject(arg_2))\r\n\t{\r\n\t\tif (arg_3) {\r\n\t\t\toptions = arg_2\r\n\t\t\tmetadata = arg_3\r\n\t\t} else {\r\n\t\t\tmetadata = arg_2\r\n\t\t}\r\n\t}\r\n\telse throw new Error(`Invalid second argument: ${arg_2}`)\r\n\r\n\treturn {\r\n\t\ttext,\r\n\t\toptions,\r\n\t\tmetadata\r\n\t}\r\n}\r\n\r\n// Otherwise istanbul would show this as \"branch not covered\".\r\n/* istanbul ignore next */\r\nconst isObject = _ => typeof _ === 'object'","import parsePhoneNumber from './parsePhoneNumber_'\r\nimport ParseError from './ParseError'\r\nimport { isSupportedCountry } from './metadata'\r\n\r\nexport default function parsePhoneNumberFromString(text, options, metadata) {\r\n\t// Validate `defaultCountry`.\r\n\tif (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\r\n\t\toptions = {\r\n\t\t\t...options,\r\n\t\t\tdefaultCountry: undefined\r\n\t\t}\r\n\t}\r\n\t// Parse phone number.\r\n\ttry {\r\n\t\treturn parsePhoneNumber(text, options, metadata)\r\n\t} catch (error) {\r\n\t\t/* istanbul ignore else */\r\n\t\tif (error instanceof ParseError) {\r\n\t\t\t//\r\n\t\t} else {\r\n\t\t\tthrow error\r\n\t\t}\r\n\t}\r\n}\r\n","import { normalizeArguments } from './parsePhoneNumber'\r\nimport parsePhoneNumberFromString_ from './parsePhoneNumberFromString_'\r\n\r\nexport default function parsePhoneNumberFromString() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumberFromString_(text, options, metadata)\r\n}\r\n","import { normalizeArguments } from './parsePhoneNumber'\r\nimport parsePhoneNumberFromString from './parsePhoneNumberFromString_'\r\n\r\nexport default function isValidPhoneNumber() {\r\n\tlet { text, options, metadata } = normalizeArguments(arguments)\r\n\toptions = {\r\n\t\t...options,\r\n\t\textract: false\r\n\t}\r\n\tconst phoneNumber = parsePhoneNumberFromString(text, options, metadata)\r\n\treturn phoneNumber && phoneNumber.isValid() || false\r\n}","import Metadata from './metadata'\r\n\r\nexport default function getCountries(metadata) {\r\n\treturn new Metadata(metadata).getCountries()\r\n}","import PropTypes from 'prop-types'\r\n\r\nexport const metadata = PropTypes.shape({\r\n\tcountry_calling_codes : PropTypes.object.isRequired,\r\n\tcountries : PropTypes.object.isRequired\r\n})\r\n\r\nexport const labels = PropTypes.objectOf(PropTypes.string)","// Counts all occurences of a symbol in a string\r\nexport function count_occurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` here instead of normal `for ... of`\r\n\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t// (the ones consisting of four bytes)\r\n\t// but template placeholder characters don't fall into that range\r\n\t// so skipping such miscellaneous \"exotic\" characters\r\n\t// won't matter here for just counting placeholder character occurrences.\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}","import { count_occurences } from './helpers'\r\n\r\nexport default function closeBraces(retained_template, template, placeholder = 'x', empty_placeholder = ' ')\r\n{\r\n\tlet cut_before = retained_template.length\r\n\r\n\tconst opening_braces = count_occurences('(', retained_template)\r\n\tconst closing_braces = count_occurences(')', retained_template)\r\n\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\r\n\twhile (dangling_braces > 0 && cut_before < template.length)\r\n\t{\r\n\t\tretained_template += template[cut_before].replace(placeholder, empty_placeholder)\r\n\r\n\t\tif (template[cut_before] === ')')\r\n\t\t{\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\r\n\t\tcut_before++\r\n\t}\r\n\r\n\treturn retained_template\r\n}\r\n","import template_formatter from './templateFormatter'\r\n\r\n// Formats `value` value preserving `caret` at the same character.\r\n//\r\n// `{ value, caret }` attribute is the result of `parse()` function call.\r\n//\r\n// Returns `{ text, caret }` where the new `caret` is the caret position\r\n// inside `text` text corresponding to the original `caret` position inside `value`.\r\n//\r\n// `formatter(value)` is a function returning `{ text, template }`.\r\n//\r\n// `text` is the `value` value formatted using `template`.\r\n// It may either cut off the non-filled right part of the `template`\r\n// or it may fill the non-filled character placeholders\r\n// in the right part of the `template` with `spacer`\r\n// which is a space (' ') character by default.\r\n//\r\n// `template` is the template used to format the `value`.\r\n// It can be either a full-length template or a partial template.\r\n//\r\n// `formatter` can also be a string — a `template`\r\n// where character placeholders are denoted by 'x'es.\r\n// In this case `formatter` function is automatically created.\r\n//\r\n// Example:\r\n//\r\n// `value` is '880',\r\n// `caret` is `2` (before the first `0`)\r\n//\r\n// `formatter` is `'880' =>\r\n// { text: '8 (80 )', template: 'x (xxx) xxx-xx-xx' }`\r\n//\r\n// The result is `{ text: '8 (80 )', caret: 4 }`.\r\n//\r\nexport default function format(value, caret, formatter)\r\n{\r\n\tif (typeof formatter === 'string')\r\n\t{\r\n\t\tformatter = template_formatter(formatter)\r\n\t}\r\n\r\n\tlet { text, template } = formatter(value) || {}\r\n\r\n\tif (text === undefined)\r\n\t{\r\n\t\t text = value\r\n\t}\r\n\r\n\tif (template)\r\n\t{\r\n\t\tif (caret === undefined)\r\n\t\t{\r\n\t\t\tcaret = text.length\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet index = 0\r\n\t\t\tlet found = false\r\n\r\n\t\t\tlet possibly_last_input_character_index = -1\r\n\r\n\t\t\twhile (index < text.length && index < template.length)\r\n\t\t\t{\r\n\t\t\t\t// Character placeholder found\r\n\t\t\t\tif (text[index] !== template[index])\r\n\t\t\t\t{\r\n\t\t\t\t\tif (caret === 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfound = true\r\n\t\t\t\t\t\tcaret = index\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tpossibly_last_input_character_index = index\r\n\r\n\t\t\t\t\tcaret--\r\n\t\t\t\t}\r\n\r\n\t\t\t\tindex++\r\n\t\t\t}\r\n\r\n\t\t\t// If the caret was positioned after last input character,\r\n\t\t\t// then the text caret index is just after the last input character.\r\n\t\t\tif (!found)\r\n\t\t\t{\r\n\t\t\t\tcaret = possibly_last_input_character_index + 1\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn { text, caret }\r\n}","import { count_occurences } from './helpers'\r\nimport close_braces from './closeBraces'\r\n\r\n// Takes a `template` where character placeholders\r\n// are denoted by 'x'es (e.g. 'x (xxx) xxx-xx-xx').\r\n//\r\n// Returns a function which takes `value` characters\r\n// and returns the `template` filled with those characters.\r\n// If the `template` can only be partially filled\r\n// then it is cut off.\r\n//\r\n// If `should_close_braces` is `true`,\r\n// then it will also make sure all dangling braces are closed,\r\n// e.g. \"8 (8\" -> \"8 (8 )\" (iPhone style phone number input).\r\n//\r\nexport default function(template, placeholder = 'x', should_close_braces)\r\n{\r\n\tif (!template)\r\n\t{\r\n\t\treturn value => ({ text: value })\r\n\t}\r\n\r\n\tconst characters_in_template = count_occurences(placeholder, template)\r\n\r\n\treturn function(value)\r\n\t{\r\n\t\tif (!value)\r\n\t\t{\r\n\t\t\treturn { text: '', template }\r\n\t\t}\r\n\r\n\t\tlet value_character_index = 0\r\n\t\tlet filled_in_template = ''\r\n\r\n\t\t// Using `.split('')` here instead of normal `for ... of`\r\n\t\t// because the importing application doesn't neccessarily include an ES6 polyfill.\r\n\t\t// The `.split('')` approach discards \"exotic\" UTF-8 characters\r\n\t\t// (the ones consisting of four bytes)\r\n\t\t// but template placeholder characters don't fall into that range\r\n\t\t// and appending UTF-8 characters to a string in parts still works.\r\n\t\tfor (const character of template.split(''))\r\n\t\t{\r\n\t\t\tif (character !== placeholder)\r\n\t\t\t{\r\n\t\t\t\tfilled_in_template += character\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\r\n\t\t\tfilled_in_template += value[value_character_index]\r\n\t\t\tvalue_character_index++\r\n\r\n\t\t\t// If the last available value character has been filled in,\r\n\t\t\t// then return the filled in template\r\n\t\t\t// (either trim the right part or retain it,\r\n\t\t\t// if no more character placeholders in there)\r\n\t\t\tif (value_character_index === value.length)\r\n\t\t\t{\r\n\t\t\t\t// If there are more character placeholders\r\n\t\t\t\t// in the right part of the template\r\n\t\t\t\t// then simply trim it.\r\n\t\t\t\tif (value.length < characters_in_template)\r\n\t\t\t\t{\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (should_close_braces)\r\n\t\t{\r\n\t\t\tfilled_in_template = close_braces(filled_in_template, template)\r\n\t\t}\r\n\r\n\t\treturn { text: filled_in_template, template }\r\n\t}\r\n}","// Gets selection bounds\r\nexport function getSelection(element)\r\n{\r\n\t// If no selection, return nothing\r\n\tif (element.selectionStart === element.selectionEnd)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\treturn { start: element.selectionStart, end: element.selectionEnd }\r\n}\r\n\r\n// Key codes\r\nexport const Keys =\r\n{\r\n\tBackspace : 8,\r\n\tDelete : 46\r\n}\r\n\r\n// Finds out the operation to be intercepted and performed\r\n// based on the key down event `keyCode`.\r\nexport function getOperation(event)\r\n{\r\n\tswitch (event.keyCode)\r\n\t{\r\n\t\tcase Keys.Backspace:\r\n\t\t\treturn 'Backspace'\r\n\r\n\t\tcase Keys.Delete:\r\n\t\t\treturn 'Delete'\r\n\t}\r\n}\r\n\r\n// Gets caret position\r\nexport function getCaretPosition(element)\r\n{\r\n\treturn element.selectionStart\r\n}\r\n\r\n// Sets caret position\r\nexport function setCaretPosition(element, caret_position)\r\n{\r\n\t// Sanity check\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\treturn\r\n\t}\r\n\r\n\t// Set caret position.\r\n\t// There has been an issue with caret positioning on Android devices.\r\n\t// https://github.com/catamphetamine/input-format/issues/2\r\n\t// I was revisiting this issue and looked for similar issues in other libraries.\r\n\t// For example, there's [`text-mask`](https://github.com/text-mask/text-mask) library.\r\n\t// They've had exactly the same issue when the caret seemingly refused to be repositioned programmatically.\r\n\t// The symptoms were the same: whenever the caret passed through a non-digit character of a mask (a whitespace, a bracket, a dash, etc), it looked as if it placed itself one character before its correct position.\r\n\t// https://github.com/text-mask/text-mask/issues/300\r\n\t// They seem to have found a basic fix for it: calling `input.setSelectionRange()` in a timeout rather than instantly for Android devices.\r\n\t// https://github.com/text-mask/text-mask/pull/400/files\r\n\t// I've implemented the same workaround here.\r\n\tif (isAndroid()) {\r\n setTimeout(() => element.setSelectionRange(caret_position, caret_position), 0)\r\n\t} else {\r\n\t\telement.setSelectionRange(caret_position, caret_position)\r\n\t}\r\n}\r\n\r\nfunction isAndroid() {\r\n\t// `navigator` is not defined when running mocha tests.\r\n\tif (typeof navigator !== 'undefined') {\r\n\t\treturn ANDROID_USER_AGENT_REG_EXP.test(navigator.userAgent)\r\n\t}\r\n}\r\n\r\nconst ANDROID_USER_AGENT_REG_EXP = /Android/i","import edit from './edit'\r\nimport parse from './parse'\r\nimport format from './format'\r\n\r\nimport\r\n{\r\n\tgetOperation,\r\n\tgetSelection,\r\n\tgetCaretPosition,\r\n\tsetCaretPosition\r\n}\r\nfrom './dom'\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onCut(event, input, _parse, _format, on_change)\r\n{\r\n\t// The actual cut hasn't happened just yet hence the timeout.\r\n\tsetTimeout(() => formatInputText(input, _parse, _format, undefined, on_change), 0)\r\n}\r\n\r\n// Deprecated.\r\n// I don't know why this function exists.\r\nexport function onPaste(event, input, _parse, _format, on_change)\r\n{\r\n\tconst selection = getSelection(input)\r\n\r\n\t// If selection is made,\r\n\t// just erase the selected text\r\n\t// prior to pasting\r\n\tif (selection)\r\n\t{\r\n\t\teraseSelection(input, selection)\r\n\t}\r\n\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\nexport function onChange(event, input, _parse, _format, on_change)\r\n{\r\n\tformatInputText(input, _parse, _format, undefined, on_change)\r\n}\r\n\r\n// \"Delete\" and \"Backspace\" keys are special\r\n// in a way that they're not handled by the regular `onChange()` handler\r\n// and instead are intercepted and re-applied manually.\r\n// The reason is that normally hitting \"Backspace\" or \"Delete\"\r\n// results in erasing a character, but that character might be any character,\r\n// while it would be a better \"user experience\" if it erased not just any character\r\n// but the closest \"meaningful\" character.\r\n// For example, if a template is `(xxx) xxx-xxxx`,\r\n// and the `` value is `(111) 222-3333`,\r\n// then, if a user begins erasing the `3333` part via \"Backspace\"\r\n// and reaches the \"-\" character, then it would just erase the \"-\" character.\r\n// Nothing wrong with that, but it would be a better \"user experience\"\r\n// if hitting \"Backspace\" at that position would erase the closest \"meaningful\"\r\n// character, which would be the rightmost `2`.\r\n// So, what this `onKeyDown()` handler does is it intercepts\r\n// \"Backspace\" and \"Delete\" keys and re-applies those operations manually\r\n// following the logic described above.\r\nexport function onKeyDown(event, input, _parse, _format, on_change)\r\n{\r\n\tconst operation = getOperation(event)\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Delete':\r\n\t\tcase 'Backspace':\r\n\t\t\t// Intercept this operation and perform it manually.\r\n\t\t\tevent.preventDefault()\r\n\r\n\t\t\tconst selection = getSelection(input)\r\n\r\n\t\t\t// If a selection is made, just erase the selected text.\r\n\t\t\tif (selection)\r\n\t\t\t{\r\n\t\t\t\teraseSelection(input, selection)\r\n\t\t\t\treturn formatInputText(input, _parse, _format, undefined, on_change)\r\n\t\t\t}\r\n\r\n\t\t\t// Else, perform the (character erasing) operation manually.\r\n\t\t\treturn formatInputText(input, _parse, _format, operation, on_change)\r\n\r\n\t\tdefault:\r\n\t\t\t// Will be handled normally as part of the `onChange` handler.\r\n\t}\r\n}\r\n\r\n/**\r\n * Erases the selected text inside an ``.\r\n * @param {DOMElement} input\r\n * @param {Selection} selection\r\n */\r\nfunction eraseSelection(input, selection)\r\n{\r\n\tlet text = input.value\r\n\ttext = text.slice(0, selection.start) + text.slice(selection.end)\r\n\r\n\tinput.value = text\r\n\tsetCaretPosition(input, selection.start)\r\n}\r\n\r\n/**\r\n * Parses and re-formats `` textual value.\r\n * E.g. when a user enters something into the ``\r\n * that raw input must first be parsed and the re-formatted properly.\r\n * Is called either after some user input (e.g. entered a character, pasted something)\r\n * or after the user performed an `operation` (e.g. \"Backspace\", \"Delete\").\r\n * @param {DOMElement} input\r\n * @param {Function} parse\r\n * @param {Function} format\r\n * @param {string} [operation] - The operation that triggered `` textual value change. E.g. \"Backspace\", \"Delete\".\r\n * @param {Function} onChange\r\n */\r\nfunction formatInputText(input, _parse, _format, operation, on_change)\r\n{\r\n\t// Parse `` textual value.\r\n\t// Get the `value` and `caret` position.\r\n\tlet { value, caret } = parse(input.value, getCaretPosition(input), _parse)\r\n\r\n\t// If a user performed an operation (\"Backspace\", \"Delete\")\r\n\t// then apply that operation and get the new `value` and `caret` position.\r\n\tif (operation)\r\n\t{\r\n\t\tconst newValueAndCaret = edit(value, caret, operation)\r\n\r\n\t\tvalue = newValueAndCaret.value\r\n\t\tcaret = newValueAndCaret.caret\r\n\t}\r\n\r\n\t// Format the `value`.\r\n\t// (and reposition the caret accordingly)\r\n\tconst formatted = format(value, caret, _format)\r\n\r\n\tconst text = formatted.text\r\n\tcaret = formatted.caret\r\n\r\n\t// Set `` textual value manually\r\n\t// to prevent React from resetting the caret position\r\n\t// later inside a subsequent `render()`.\r\n\t// Doesn't work for custom `inputComponent`s for some reason.\r\n\tinput.value = text\r\n\t// Position the caret properly.\r\n\tsetCaretPosition(input, caret)\r\n\r\n\t// If the `` textual value did change,\r\n\t// then the parsed `value` may have changed too.\r\n\ton_change(value)\r\n}","// Parses the `text`.\r\n//\r\n// Returns `{ value, caret }` where `caret` is\r\n// the caret position inside `value`\r\n// corresponding to the `caret_position` inside `text`.\r\n//\r\n// The `text` is parsed by feeding each character sequentially to\r\n// `parse_character(character, value)` function\r\n// and appending the result (if it's not `undefined`) to `value`.\r\n//\r\n// Example:\r\n//\r\n// `text` is `8 (800) 555-35-35`,\r\n// `caret_position` is `4` (before the first `0`).\r\n// `parse_character` is `(character, value) =>\r\n// if (character >= '0' && character <= '9') { return character }`.\r\n//\r\n// then `parse()` outputs `{ value: '88005553535', caret: 2 }`.\r\n//\r\nexport default function parse(text, caret_position, parse_character)\r\n{\r\n\tlet value = ''\r\n\r\n\tlet focused_input_character_index = 0\r\n\r\n\tlet index = 0\r\n\twhile (index < text.length)\r\n\t{\r\n\t\tconst character = parse_character(text[index], value)\r\n\r\n\t\tif (character !== undefined)\r\n\t\t{\r\n\t\t\tvalue += character\r\n\r\n\t\t\tif (caret_position !== undefined)\r\n\t\t\t{\r\n\t\t\t\tif (caret_position === index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length - 1;\r\n\t\t\t\t}\r\n\t\t\t\telse if (caret_position > index)\r\n\t\t\t\t{\r\n\t\t\t\t\tfocused_input_character_index = value.length\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t}\r\n\r\n\t\tindex++\r\n\t}\r\n\r\n\t// If caret position wasn't specified\r\n\tif (caret_position === undefined)\r\n\t{\r\n\t\t// Then set caret position to \"after the last input character\"\r\n\t\tfocused_input_character_index = value.length\r\n\t}\r\n\r\n\tconst result =\r\n\t{\r\n\t\tvalue,\r\n\t\tcaret : focused_input_character_index\r\n\t}\r\n\r\n\treturn result\r\n}","// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\r\n//\r\n// Example:\r\n//\r\n// value - '88005553535'\r\n// caret - 2 // starting from 0; is positioned before the first zero\r\n// operation - 'Backspace'\r\n//\r\n// Returns\r\n// {\r\n// \tvalue: '8005553535'\r\n// \tcaret: 1\r\n// }\r\n//\r\n// Currently supports just 'Delete' and 'Backspace' operations\r\n//\r\nexport default function edit(value, caret, operation)\r\n{\r\n\tswitch (operation)\r\n\t{\r\n\t\tcase 'Backspace':\r\n\t\t\t// If there exists the previous character,\r\n\t\t\t// then erase it and reposition the caret.\r\n\t\t\tif (caret > 0)\r\n\t\t\t{\r\n\t\t\t\t// Remove the previous character\r\n\t\t\t\tvalue = value.slice(0, caret - 1) + value.slice(caret)\r\n\t\t\t\t// Position the caret where the previous (erased) character was\r\n\t\t\t\tcaret--\r\n\t\t\t}\r\n\t\t\tbreak\r\n\r\n\t\tcase 'Delete':\r\n\t\t\t// Remove current digit (if any)\r\n\t\t\tvalue = value.slice(0, caret) + value.slice(caret + 1)\r\n\t\t\tbreak\r\n\t}\r\n\r\n\treturn { value, caret }\r\n}","// This is just `./ReactInput.js` rewritten in Hooks.\r\n\r\nimport React, { useCallback, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport {\r\n\tonChange as onInputChange,\r\n\tonKeyDown as onInputKeyDown\r\n} from '../inputControl'\r\n\r\n// Usage:\r\n//\r\n// this.setState({ phone })}\r\n// \tparse={character => character}\r\n// \tformat={value => ({ text: value, template: 'xxxxxxxx' })}/>\r\n//\r\nfunction Input({\r\n\tvalue,\r\n\tparse,\r\n\tformat,\r\n\tinputComponent: InputComponent,\r\n\tonChange,\r\n\tonKeyDown,\r\n\t...rest\r\n}, ref) {\r\n\tconst internalRef = useRef();\r\n\tconst setRef = useCallback((instance) => {\r\n\t\tinternalRef.current = instance;\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}, [ref]);\r\n\tconst _onChange = useCallback((event) => {\r\n\t\treturn onInputChange(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange])\r\n\r\n\tconst _onKeyDown = useCallback((event) => {\r\n\t\tif (onKeyDown) {\r\n\t\t\tonKeyDown(event)\r\n\t\t}\r\n\t\treturn onInputKeyDown(\r\n\t\t\tevent,\r\n\t\t\tinternalRef.current,\r\n\t\t\tparse,\r\n\t\t\tformat,\r\n\t\t\tonChange\r\n\t\t)\r\n\t}, [internalRef, parse, format, onChange, onKeyDown])\r\n\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n\r\nInput = React.forwardRef(Input)\r\n\r\nInput.propTypes = {\r\n\t// Parses a single characher of `` text.\r\n\tparse: PropTypes.func.isRequired,\r\n\r\n\t// Formats `value` into `` text.\r\n\tformat: PropTypes.func.isRequired,\r\n\r\n\t// Renders `` by default.\r\n\tinputComponent: PropTypes.elementType.isRequired,\r\n\r\n\t// `` `type` attribute.\r\n\ttype: PropTypes.string.isRequired,\r\n\r\n\t// Is parsed from text.\r\n\tvalue: PropTypes.string,\r\n\r\n\t// This handler is called each time `` text is changed.\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// Passthrough\r\n\tonKeyDown: PropTypes.func,\r\n\tonCut: PropTypes.func,\r\n\tonPaste: PropTypes.func\r\n}\r\n\r\nInput.defaultProps = {\r\n\t// Renders `` by default.\r\n\tinputComponent: 'input',\r\n\r\n\t// `` `type` attribute.\r\n\ttype: 'text'\r\n}\r\n\r\nexport default Input\r\n\r\nfunction isEmptyValue(value) {\r\n\treturn value === undefined || value === null\r\n}","export default class AsYouTypeState {\r\n\tconstructor({ onCountryChange, onCallingCodeChange }) {\r\n\t\tthis.onCountryChange = onCountryChange\r\n\t\tthis.onCallingCodeChange = onCallingCodeChange\r\n\t}\r\n\r\n\treset(defaultCountry, defaultCallingCode) {\r\n\t\tthis.international = false\r\n\t\tthis.IDDPrefix = undefined\r\n\t\tthis.missingPlus = undefined\r\n\t\tthis.callingCode = undefined\r\n\t\tthis.digits = ''\r\n\t\tthis.resetNationalSignificantNumber()\r\n\t\tthis.initCountryAndCallingCode(defaultCountry, defaultCallingCode)\r\n\t}\r\n\r\n\tresetNationalSignificantNumber() {\r\n\t\tthis.nationalSignificantNumber = this.getNationalDigits()\r\n\t\tthis.nationalSignificantNumberMatchesInput = true\r\n\t\tthis.nationalPrefix = undefined\r\n\t\tthis.carrierCode = undefined\r\n\t\tthis.complexPrefixBeforeNationalSignificantNumber = undefined\r\n\t}\r\n\r\n\tupdate = (properties) => {\r\n\t\tfor (const key of Object.keys(properties)) {\r\n\t\t\tthis[key] = properties[key]\r\n\t\t}\r\n\t}\r\n\r\n\tinitCountryAndCallingCode(country, callingCode) {\r\n\t\tthis.setCountry(country)\r\n\t\tthis.setCallingCode(callingCode)\r\n\t}\r\n\r\n\tsetCountry(country) {\r\n\t\tthis.country = country\r\n\t\tthis.onCountryChange(country)\r\n\t}\r\n\r\n\tsetCallingCode(callingCode) {\r\n\t\tthis.callingCode = callingCode\r\n\t\treturn this.onCallingCodeChange(this.country, callingCode)\r\n\t}\r\n\r\n\tstartInternationalNumber() {\r\n\t\t// Prepend the `+` to parsed input.\r\n\t\tthis.international = true\r\n\t\t// If a default country was set then reset it\r\n\t\t// because an explicitly international phone\r\n\t\t// number is being entered.\r\n\t\tthis.initCountryAndCallingCode()\r\n\t}\r\n\r\n\tappendDigits(nextDigits) {\r\n\t\tthis.digits += nextDigits\r\n\t}\r\n\r\n\tappendNationalSignificantNumberDigits(nextDigits) {\r\n\t\tthis.nationalSignificantNumber += nextDigits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the part of `this.digits` that corresponds to the national number.\r\n\t * Basically, all digits that have been input by the user, except for the\r\n\t * international prefix and the country calling code part\r\n\t * (if the number is an international one).\r\n\t * @return {string}\r\n\t */\r\n\tgetNationalDigits() {\r\n\t\tif (this.international) {\r\n\t\t\treturn this.digits.slice(\r\n\t\t\t\t(this.IDDPrefix ? this.IDDPrefix.length : 0) +\r\n\t\t\t\t(this.callingCode ? this.callingCode.length : 0)\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n\r\n\tgetDigitsWithoutInternationalPrefix() {\r\n\t\tif (this.international) {\r\n\t\t\tif (this.IDDPrefix) {\r\n\t\t\t\treturn this.digits.slice(this.IDDPrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.digits\r\n\t}\r\n}","// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\r\nexport const DIGIT_PLACEHOLDER = 'x' // '\\u2008' (punctuation space)\r\nconst DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER)\r\n\r\n// Counts all occurences of a symbol in a string.\r\n// Unicode-unsafe (because using `.split()`).\r\nexport function countOccurences(symbol, string) {\r\n\tlet count = 0\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for counting brackets it is safe.\r\n\t// for (const character of string)\r\n\tfor (const character of string.split('')) {\r\n\t\tif (character === symbol) {\r\n\t\t\tcount++\r\n\t\t}\r\n\t}\r\n\treturn count\r\n}\r\n\r\n// Repeats a string (or a symbol) N times.\r\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\r\nexport function repeat(string, times) {\r\n\tif (times < 1) {\r\n\t\treturn ''\r\n\t}\r\n\tlet result = ''\r\n\twhile (times > 1) {\r\n\t\tif (times & 1) {\r\n\t\t\tresult += string\r\n\t\t}\r\n\t\ttimes >>= 1\r\n\t\tstring += string\r\n\t}\r\n\treturn result + string\r\n}\r\n\r\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\r\n\tif (string[cutBeforeIndex] === ')') {\r\n\t\tcutBeforeIndex++\r\n\t}\r\n\treturn stripNonPairedParens(string.slice(0, cutBeforeIndex))\r\n}\r\n\r\nexport function closeNonPairedParens(template, cut_before) {\r\n\tconst retained_template = template.slice(0, cut_before)\r\n\tconst opening_braces = countOccurences('(', retained_template)\r\n\tconst closing_braces = countOccurences(')', retained_template)\r\n\tlet dangling_braces = opening_braces - closing_braces\r\n\twhile (dangling_braces > 0 && cut_before < template.length) {\r\n\t\tif (template[cut_before] === ')') {\r\n\t\t\tdangling_braces--\r\n\t\t}\r\n\t\tcut_before++\r\n\t}\r\n\treturn template.slice(0, cut_before)\r\n}\r\n\r\nexport function stripNonPairedParens(string) {\r\n\tconst dangling_braces =[]\r\n\tlet i = 0\r\n\twhile (i < string.length) {\r\n\t\tif (string[i] === '(') {\r\n\t\t\tdangling_braces.push(i)\r\n\t\t}\r\n\t\telse if (string[i] === ')') {\r\n\t\t\tdangling_braces.pop()\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\tlet start = 0\r\n\tlet cleared_string = ''\r\n\tdangling_braces.push(string.length)\r\n\tfor (const index of dangling_braces) {\r\n\t\tcleared_string += string.slice(start, index)\r\n\t\tstart = index + 1\r\n\t}\r\n\treturn cleared_string\r\n}\r\n\r\nexport function populateTemplateWithDigits(template, position, digits) {\r\n\t// Using `.split('')` to iterate through a string here\r\n\t// to avoid requiring `Symbol.iterator` polyfill.\r\n\t// `.split('')` is generally not safe for Unicode,\r\n\t// but in this particular case for `digits` it is safe.\r\n\t// for (const digit of digits)\r\n\tfor (const digit of digits.split('')) {\r\n\t\t// If there is room for more digits in current `template`,\r\n\t\t// then set the next digit in the `template`,\r\n\t\t// and return the formatted digits so far.\r\n\t\t// If more digits are entered than the current format could handle.\r\n\t\tif (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tposition = template.search(DIGIT_PLACEHOLDER_MATCHER)\r\n\t\ttemplate = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit)\r\n\t}\r\n\treturn [template, position]\r\n}","import checkNumberLength from './helpers/checkNumberLength'\r\nimport parseDigits from './helpers/parseDigits'\r\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat'\r\n\r\nexport default function formatCompleteNumber(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tconst matcher = new RegExp(`^(?:${format.pattern()})$`)\r\n\tif (matcher.test(state.nationalSignificantNumber)) {\r\n\t\treturn formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(\r\n\t\t\tstate,\r\n\t\t\tformat,\r\n\t\t\t{\r\n\t\t\t\tmetadata,\r\n\t\t\t\tshouldTryNationalPrefixFormattingRule,\r\n\t\t\t\tgetSeparatorAfterNationalPrefix\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\r\n\treturn checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE'\r\n}\r\n\r\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\r\n\tmetadata,\r\n\tshouldTryNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\t// `format` has already been checked for `nationalPrefix` requirement.\r\n\r\n\tconst {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode\r\n\t} = state\r\n\r\n\t// Format the number with using `national_prefix_formatting_rule`.\r\n\t// If the resulting formatted number is a valid formatted number, then return it.\r\n\t//\r\n\t// Google's AsYouType formatter is different in a way that it doesn't try\r\n\t// to format using the \"national prefix formatting rule\", and instead it\r\n\t// simply prepends a national prefix followed by a \" \" character.\r\n\t// This code does that too, but as a fallback.\r\n\t// The reason is that \"national prefix formatting rule\" may use parentheses,\r\n\t// which wouldn't be included has it used the simpler Google's way.\r\n\t//\r\n\tif (shouldTryNationalPrefixFormattingRule(format)) {\r\n\t\tconst formattedNumber = formatNationalNumber(state, format, {\r\n\t\t\tuseNationalPrefixFormattingRule: true,\r\n\t\t\tgetSeparatorAfterNationalPrefix,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\tif (formattedNumber) {\r\n\t\t\treturn formattedNumber\r\n\t\t}\r\n\t}\r\n\r\n\t// Format the number without using `national_prefix_formatting_rule`.\r\n\treturn formatNationalNumber(state, format, {\r\n\t\tuseNationalPrefixFormattingRule: false,\r\n\t\tgetSeparatorAfterNationalPrefix,\r\n\t\tmetadata\r\n\t})\r\n}\r\n\r\nfunction formatNationalNumber(state, format, {\r\n\tmetadata,\r\n\tuseNationalPrefixFormattingRule,\r\n\tgetSeparatorAfterNationalPrefix\r\n}) {\r\n\tlet formattedNationalNumber = formatNationalNumberUsingFormat(\r\n\t\tstate.nationalSignificantNumber,\r\n\t\tformat,\r\n\t\t{\r\n\t\t\tcarrierCode: state.carrierCode,\r\n\t\t\tuseInternationalFormat: state.international,\r\n\t\t\twithNationalPrefix: useNationalPrefixFormattingRule,\r\n\t\t\tmetadata\r\n\t\t}\r\n\t)\r\n\tif (!useNationalPrefixFormattingRule) {\r\n\t\tif (state.nationalPrefix) {\r\n\t\t\t// If a national prefix was extracted, then just prepend it,\r\n\t\t\t// followed by a \" \" character.\r\n\t\t\tformattedNationalNumber = state.nationalPrefix +\r\n\t\t\t\tgetSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t} else if (state.complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\tformattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber +\r\n\t\t\t\t' ' +\r\n\t\t\t\tformattedNationalNumber\r\n\t\t}\r\n\t}\r\n\tif (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n}\r\n\r\n// Check that the formatted phone number contains exactly\r\n// the same digits that have been input by the user.\r\n// For example, when \"0111523456789\" is input for `AR` country,\r\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\r\n// which means that the national part of `this.digits` isn't simply equal to\r\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\r\n//\r\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\r\n// being formatted via `metadata[country].national_prefix_transform_rule`.\r\n// For example, for `VI` country, it prepends `340` to the national number,\r\n// and if this check hasn't been implemented, then there would be a bug\r\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\r\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\r\n//\r\n// So, all these \"gotchas\" are filtered out.\r\n//\r\n// In the original Google's code, the comments say:\r\n// \"Check that we didn't remove nor add any extra digits when we matched\r\n// this formatting pattern. This usually happens after we entered the last\r\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\r\n// formatted but AYTF should retain all the number entered and not change\r\n// in order to match a format (of same leading digits and length) display\r\n// in that way.\"\r\n// \"If it's the same (i.e entered number and format is same), then it's\r\n// safe to return this in formatted number as nothing is lost / added.\"\r\n// Otherwise, don't use this format.\r\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\r\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\r\n//\r\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\r\n\treturn parseDigits(formattedNationalNumber) === state.getNationalDigits()\r\n}","export default class PatternMatcher {\r\n\tconstructor(pattern) {\r\n\t\tthis.matchTree = new PatternParser().parse(pattern)\r\n\t\t// console.log(JSON.stringify(this.matchTree, null, 2))\r\n\t}\r\n\r\n\tmatch(string, { allowOverflow } = {}) {\r\n\t\tif (!string) {\r\n\t\t\tthrow new Error('String is required')\r\n\t\t}\r\n\t\tconst result = match(string.split(''), this.matchTree, true)\r\n\t\tif (result && result.match) {\r\n\t\t\tdelete result.matchedChars\r\n\t\t}\r\n\t\tif (result && result.overflow) {\r\n\t\t\tif (!allowOverflow) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result\r\n\t}\r\n}\r\n\r\nfunction match(characters, tree, last) {\r\n\tif (typeof tree === 'string') {\r\n\t\tif (last) {\r\n\t\t\tif (characters.length > tree.length) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\toverflow: true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tconst characterString = characters.join('')\r\n\t\tif (tree.indexOf(characterString) === 0) {\r\n\t\t\tif (characters.length === tree.length) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmatch: true,\r\n\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tpartialMatch: true,\r\n\t\t\t\t// matchedChars: characters\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (characterString.indexOf(tree) === 0) {\r\n\t\t\treturn {\r\n\t\t\t\tmatch: true,\r\n\t\t\t\tmatchedChars: characters.slice(0, tree.length)\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn\r\n\t}\r\n\r\n\tif (Array.isArray(tree)) {\r\n\t\tlet restCharacters = characters.slice()\r\n\t\tlet i = 0\r\n\t\twhile (i < tree.length) {\r\n\t\t\tconst subtree = tree[i]\r\n\t\t\tconst result = match(restCharacters, subtree, last && (i === tree.length - 1))\r\n\t\t\tif (!result || result.overflow) {\r\n\t\t\t\treturn result\r\n\t\t\t}\r\n\t\t\tif (result.match) {\r\n\t\t\t\t// Continue with the next subtree with the rest of the characters.\r\n\t\t\t\trestCharacters = restCharacters.slice(result.matchedChars.length)\r\n\t\t\t\tif (restCharacters.length === 0) {\r\n\t\t\t\t\tif (i === tree.length - 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (result.partialMatch) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t// matchedChars: characters\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(`Unsupported match result:\\n${JSON.stringify(result, null, 2)}`)\r\n\t\t\t}\r\n\t\t\ti++\r\n\t\t}\r\n\t\tif (last) {\r\n\t\t\treturn {\r\n\t\t\t\toverflow: true\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tmatch: true,\r\n\t\t\tmatchedChars: characters.slice(0, characters.length - restCharacters.length)\r\n\t\t}\r\n\t}\r\n\r\n\tswitch (tree.op) {\r\n\t\tcase '|':\r\n\t\t\tlet partialMatch\r\n\t\t\tfor (const branch of tree.args) {\r\n\t\t\t\tconst result = match(characters, branch, last)\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tif (result.overflow) {\r\n\t\t\t\t\t\treturn result\r\n\t\t\t\t\t} else if (result.match) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: result.matchedChars\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (result.partialMatch) {\r\n\t\t\t\t\t\tpartialMatch = true\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (partialMatch) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpartialMatch: true,\r\n\t\t\t\t\t// matchedChars: ...\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Not even a partial match.\r\n\t\t\treturn\r\n\r\n\t\tcase '[]':\r\n\t\t\tfor (const char of tree.args) {\r\n\t\t\t\tif (characters[0] === char) {\r\n\t\t\t\t\tif (characters.length === 1) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\t\tmatchedChars: characters\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (last) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\toverflow: true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tmatch: true,\r\n\t\t\t\t\t\tmatchedChars: [char]\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// No character matches.\r\n\t\t\treturn\r\n\r\n\t\tdefault:\r\n\t\t\tthrow new Error(`Unsupported instruction tree: ${tree}`)\r\n\t}\r\n}\r\n\r\nconst OPERATOR = new RegExp(\r\n\t// any of:\r\n\t'(' +\r\n\t\t// or operator\r\n\t\t'\\\\|' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group start\r\n\t\t'\\\\(\\\\?\\\\:' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// or group end\r\n\t\t'\\\\)' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set start\r\n\t\t'\\\\[' +\r\n\t\t// or\r\n\t\t'|' +\r\n\t\t// one-of set end\r\n\t\t'\\\\]' +\r\n\t')'\r\n)\r\n\r\nclass PatternParser {\r\n\tparse(pattern) {\r\n\t\tthis.context = [{\r\n\t\t\tor: true,\r\n\t\t\tinstructions: []\r\n\t\t}]\r\n\r\n\t\tthis.parsePattern(pattern)\r\n\r\n\t\tif (this.context.length !== 1) {\r\n\t\t\tthrow new Error('Non-finalized contexts left when pattern parse ended')\r\n\t\t}\r\n\r\n\t\tconst { branches, instructions } = this.context[0]\r\n\r\n\t\tif (branches) {\r\n\t\t\treturn [{\r\n\t\t\t\top: '|',\r\n\t\t\t\targs: branches.concat([instructions])\r\n\t\t\t}]\r\n\t\t}\r\n\r\n\t\tif (instructions.length === 0) {\r\n\t\t\tthrow new Error('Pattern is required')\r\n\t\t}\r\n\r\n\t\treturn instructions\r\n\t}\r\n\r\n\tstartContext(context) {\r\n\t\tthis.context.push(context)\r\n\t}\r\n\r\n\tendContext() {\r\n\t\tthis.context.pop()\r\n\t}\r\n\r\n\tgetContext() {\r\n\t\treturn this.context[this.context.length - 1]\r\n\t}\r\n\r\n\tparsePattern(pattern) {\r\n\t\tif (!pattern) {\r\n\t\t\tthrow new Error('Empty pattern passed')\r\n\t\t}\r\n\r\n\t\tconst match = pattern.match(OPERATOR)\r\n\t\tif (!match) {\r\n\t\t\tthis.getContext().instructions = this.getContext().instructions.concat(\r\n\t\t\t\tpattern.split('')\r\n\t\t\t)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tconst operator = match[1]\r\n\t\tconst before = pattern.slice(0, match.index)\r\n\t\tconst rightPart = pattern.slice(match.index + operator.length)\r\n\r\n\t\tswitch (operator) {\r\n\t\t\tcase '(?:':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\tor: true,\r\n\t\t\t\t\tinstructions: [],\r\n\t\t\t\t\tbranches: []\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ')':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\")\" operator must be preceded by \"(?:\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tif (this.getContext().instructions.length === 0) {\r\n\t\t\t\t\tthrow new Error('No instructions found after \"|\" operator in an \"or\" group')\r\n\t\t\t\t}\r\n\t\t\t\tconst { branches } = this.getContext()\r\n\t\t\t\tbranches.push(\r\n\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t)\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '|',\r\n\t\t\t\t\targs: branches\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '|':\r\n\t\t\t\tif (!this.getContext().or) {\r\n\t\t\t\t\tthrow new Error('\"|\" operator can only be used inside \"or\" groups')\r\n\t\t\t\t}\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\t// The top-level is an implicit \"or\" group, if required.\r\n\t\t\t\tif (!this.getContext().branches) {\r\n\t\t\t\t\tif (this.context.length === 1) {\r\n\t\t\t\t\t\tthis.getContext().branches = []\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthrow new Error('\"branches\" not found in an \"or\" group context')\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.getContext().branches.push(\r\n\t\t\t\t\tthis.getContext().instructions\r\n\t\t\t\t)\r\n\t\t\t\tthis.getContext().instructions = []\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase '[':\r\n\t\t\t\tif (before) {\r\n\t\t\t\t\tthis.parsePattern(before)\r\n\t\t\t\t}\r\n\t\t\t\tthis.startContext({\r\n\t\t\t\t\toneOfSet: true\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tcase ']':\r\n\t\t\t\tif (!this.getContext().oneOfSet) {\r\n\t\t\t\t\tthrow new Error('\"]\" operator must be preceded by \"[\" operator')\r\n\t\t\t\t}\r\n\t\t\t\tthis.endContext()\r\n\t\t\t\tthis.getContext().instructions.push({\r\n\t\t\t\t\top: '[]',\r\n\t\t\t\t\targs: parseOneOfSet(before)\r\n\t\t\t\t})\r\n\t\t\t\tbreak\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tthrow new Error(`Unknown operator: ${operator}`)\r\n\t\t}\r\n\r\n\t\tif (rightPart) {\r\n\t\t\tthis.parsePattern(rightPart)\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction parseOneOfSet(pattern) {\r\n\tconst values = []\r\n\tlet i = 0\r\n\twhile (i < pattern.length) {\r\n\t\tif (pattern[i] === '-') {\r\n\t\t\tif (i === 0 || i === pattern.length - 1) {\r\n\t\t\t\tthrow new Error(`Couldn't parse a one-of set pattern: ${pattern}`)\r\n\t\t\t}\r\n\t\t\tconst prevValue = pattern[i - 1].charCodeAt(0) + 1\r\n\t\t\tconst nextValue = pattern[i + 1].charCodeAt(0) - 1\r\n\t\t\tlet value = prevValue\r\n\t\t\twhile (value <= nextValue) {\r\n\t\t\t\tvalues.push(String.fromCharCode(value))\r\n\t\t\t\tvalue++\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalues.push(pattern[i])\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn values\r\n}","import {\r\n\tDIGIT_PLACEHOLDER,\r\n\tcountOccurences,\r\n\trepeat,\r\n\tcutAndStripNonPairedParens,\r\n\tcloseNonPairedParens,\r\n\tstripNonPairedParens,\r\n\tpopulateTemplateWithDigits\r\n} from './AsYouTypeFormatter.util'\r\n\r\nimport formatCompleteNumber, {\r\n\tcanFormatCompleteNumber\r\n} from './AsYouTypeFormatter.complete'\r\n\r\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher'\r\n\r\nimport parseDigits from './helpers/parseDigits'\r\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util'\r\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat'\r\nimport { VALID_PUNCTUATION } from './constants'\r\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle'\r\n\r\n// Used in phone number format template creation.\r\n// Could be any digit, I guess.\r\nconst DUMMY_DIGIT = '9'\r\n// I don't know why is it exactly `15`\r\nconst LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15\r\n// Create a phone number consisting only of the digit 9 that matches the\r\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\r\nconst LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH)\r\n\r\n// A set of characters that, if found in a national prefix formatting rules, are an indicator to\r\n// us that we should separate the national prefix from the number when formatting.\r\nconst NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/\r\n\r\n// Deprecated: Google has removed some formatting pattern related code from their repo.\r\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\r\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\r\n// Because this library supports generating custom metadata\r\n// some users may still be using old metadata so the relevant\r\n// code seems to stay until some next major version update.\r\nconst SUPPORT_LEGACY_FORMATTING_PATTERNS = true\r\n\r\n// A pattern that is used to match character classes in regular expressions.\r\n// An example of a character class is \"[1-4]\".\r\nconst CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\[([^\\[\\]])*\\]/g)\r\n\r\n// Any digit in a regular expression that actually denotes a digit. For\r\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\r\n// (8 and 0) are standalone digits, but the rest are not.\r\n// Two look-aheads are needed because the number following \\\\d could be a\r\n// two-digit number, since the phone number can be as long as 15 digits.\r\nconst CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && (() => /\\d(?=[^,}][^,}])/g)\r\n\r\n// A regular expression that is used to determine if a `format` is\r\n// suitable to be used in the \"as you type formatter\".\r\n// A `format` is suitable when the resulting formatted number has\r\n// the same digits as the user has entered.\r\n//\r\n// In the simplest case, that would mean that the format\r\n// doesn't add any additional digits when formatting a number.\r\n// Google says that it also shouldn't add \"star\" (`*`) characters,\r\n// like it does in some Israeli formats.\r\n// Such basic format would only contain \"valid punctuation\"\r\n// and \"captured group\" identifiers ($1, $2, etc).\r\n//\r\n// An example of a format that adds additional digits:\r\n//\r\n// Country: `AR` (Argentina).\r\n// Format:\r\n// {\r\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n// \"leading_digits_patterns\": [\"91\"],\r\n// \"national_prefix_formatting_rule\": \"0$1\",\r\n// \"format\": \"$2 15-$3-$4\",\r\n// \"international_format\": \"$1 $2 $3-$4\"\r\n// }\r\n//\r\n// In the format above, the `format` adds `15` to the digits when formatting a number.\r\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\r\n// has previously removed `15` from a national number, so re-adding `15` in `format`\r\n// doesn't actually result in any extra digits added to user's input.\r\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\r\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\r\n//\r\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\r\n// `libphonenumber` code.\r\n//\r\nconst NON_ALTERING_FORMAT_REG_EXP = new RegExp(\r\n\t'^' +\r\n\t'[' + VALID_PUNCTUATION + ']*' +\r\n\t'(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)+' +\r\n\t'$'\r\n)\r\n\r\n// This is the minimum length of the leading digits of a phone number\r\n// to guarantee the first \"leading digits pattern\" for a phone number format\r\n// to be preemptive.\r\nconst MIN_LEADING_DIGITS_LENGTH = 3\r\n\r\nexport default class AsYouTypeFormatter {\r\n\tconstructor({\r\n\t\tstate,\r\n\t\tmetadata\r\n\t}) {\r\n\t\tthis.metadata = metadata\r\n\t\tthis.resetFormat()\r\n\t}\r\n\r\n\tresetFormat() {\r\n\t\tthis.chosenFormat = undefined\r\n\t\tthis.template = undefined\r\n\t\tthis.nationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplate = undefined\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t}\r\n\r\n\treset(numberingPlan, state) {\r\n\t\tthis.resetFormat()\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.isNANP = numberingPlan.callingCode() === '1'\r\n\t\t\tthis.matchingFormats = numberingPlan.formats()\r\n\t\t\tif (state.nationalSignificantNumber) {\r\n\t\t\t\tthis.narrowDownMatchingFormats(state)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.isNANP = undefined\r\n\t\t\tthis.matchingFormats = []\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Formats an updated phone number.\r\n\t * @param {string} nextDigits — Additional phone number digits.\r\n\t * @param {object} state — `AsYouType` state.\r\n\t * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n\t */\r\n\tformat(nextDigits, state) {\r\n\t\t// See if the phone number digits can be formatted as a complete phone number.\r\n\t\t// If not, use the results from `formatNationalNumberWithNextDigits()`,\r\n\t\t// which formats based on the chosen formatting pattern.\r\n\t\t//\r\n\t\t// Attempting to format complete phone number first is how it's done\r\n\t\t// in Google's `libphonenumber`, so this library just follows it.\r\n\t\t// Google's `libphonenumber` code doesn't explain in detail why does it\r\n\t\t// attempt to format digits as a complete phone number\r\n\t\t// instead of just going with a previoulsy (or newly) chosen `format`:\r\n\t\t//\r\n\t\t// \"Checks to see if there is an exact pattern match for these digits.\r\n\t\t// If so, we should use this instead of any other formatting template\r\n\t\t// whose leadingDigitsPattern also matches the input.\"\r\n\t\t//\r\n\t\tif (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\r\n\t\t\tfor (const format of this.matchingFormats) {\r\n\t\t\t\tconst formattedCompleteNumber = formatCompleteNumber(\r\n\t\t\t\t\tstate,\r\n\t\t\t\t\tformat,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmetadata: this.metadata,\r\n\t\t\t\t\t\tshouldTryNationalPrefixFormattingRule: format => this.shouldTryNationalPrefixFormattingRule(format, {\r\n\t\t\t\t\t\t\tinternational: state.international,\r\n\t\t\t\t\t\t\tnationalPrefix: state.nationalPrefix\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\tgetSeparatorAfterNationalPrefix: this.getSeparatorAfterNationalPrefix\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\tif (formattedCompleteNumber) {\r\n\t\t\t\t\tthis.resetFormat()\r\n\t\t\t\t\tthis.chosenFormat = format\r\n\t\t\t\t\tthis.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state)\r\n\t\t\t\t\tthis.populatedNationalNumberTemplate = formattedCompleteNumber\r\n\t\t\t\t\t// With a new formatting template, the matched position\r\n\t\t\t\t\t// using the old template needs to be reset.\r\n\t\t\t\t\tthis.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER)\r\n\t\t\t\t\treturn formattedCompleteNumber\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Format the digits as a partial (incomplete) phone number\r\n\t\t// using the previously chosen formatting pattern (or a newly chosen one).\r\n\t\treturn this.formatNationalNumberWithNextDigits(nextDigits, state)\r\n\t}\r\n\r\n\t// Formats the next phone number digits.\r\n\tformatNationalNumberWithNextDigits(nextDigits, state) {\r\n\t\tconst previouslyChosenFormat = this.chosenFormat\r\n\t\t// Choose a format from the list of matching ones.\r\n\t\tconst newlyChosenFormat = this.chooseFormat(state)\r\n\t\tif (newlyChosenFormat) {\r\n\t\t\tif (newlyChosenFormat === previouslyChosenFormat) {\r\n\t\t\t\t// If it can format the next (current) digits\r\n\t\t\t\t// using the previously chosen phone number format\r\n\t\t\t\t// then return the updated formatted number.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(nextDigits)\r\n\t\t\t} else {\r\n\t\t\t\t// If a more appropriate phone number format\r\n\t\t\t\t// has been chosen for these \"leading digits\",\r\n\t\t\t\t// then re-format the national phone number part\r\n\t\t\t\t// using the newly selected format.\r\n\t\t\t\treturn this.formatNextNationalNumberDigits(state.getNationalDigits())\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tnarrowDownMatchingFormats({\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalPrefix,\r\n\t\tinternational\r\n\t}) {\r\n\t\tconst leadingDigits = nationalSignificantNumber\r\n\r\n\t\t// \"leading digits\" pattern list starts with a\r\n\t\t// \"leading digits\" pattern fitting a maximum of 3 leading digits.\r\n\t\t// So, after a user inputs 3 digits of a national (significant) phone number\r\n\t\t// this national (significant) number can already be formatted.\r\n\t\t// The next \"leading digits\" pattern is for 4 leading digits max,\r\n\t\t// and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\r\n\r\n\t\t// This implementation is different from Google's\r\n\t\t// in that it searches for a fitting format\r\n\t\t// even if the user has entered less than\r\n\t\t// `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\r\n\t\t// Because some leading digit patterns already match for a single first digit.\r\n\t\tlet leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH\r\n\t\tif (leadingDigitsPatternIndex < 0) {\r\n\t\t\tleadingDigitsPatternIndex = 0\r\n\t\t}\r\n\r\n\t\tthis.matchingFormats = this.matchingFormats.filter(\r\n\t\t\tformat => this.formatSuits(format, international, nationalPrefix)\r\n\t\t\t\t&& this.formatMatches(format, leadingDigits, leadingDigitsPatternIndex)\r\n\t\t)\r\n\r\n\t\t// If there was a phone number format chosen\r\n\t\t// and it no longer holds given the new leading digits then reset it.\r\n\t\t// The test for this `if` condition is marked as:\r\n\t\t// \"Reset a chosen format when it no longer holds given the new leading digits\".\r\n\t\t// To construct a valid test case for this one can find a country\r\n\t\t// in `PhoneNumberMetadata.xml` yielding one format for 3 ``\r\n\t\t// and yielding another format for 4 `` (Australia in this case).\r\n\t\tif (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t}\r\n\r\n\tformatSuits(format, international, nationalPrefix) {\r\n\t\t// When a prefix before a national (significant) number is\r\n\t\t// simply a national prefix, then it's parsed as `this.nationalPrefix`.\r\n\t\t// In more complex cases, a prefix before national (significant) number\r\n\t\t// could include a national prefix as well as some \"capturing groups\",\r\n\t\t// and in that case there's no info whether a national prefix has been parsed.\r\n\t\t// If national prefix is not used when formatting a phone number\r\n\t\t// using this format, but a national prefix has been entered by the user,\r\n\t\t// and was extracted, then discard such phone number format.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\r\n\t\tif (nationalPrefix &&\r\n\t\t\t!format.usesNationalPrefix() &&\r\n\t\t\t// !format.domesticCarrierCodeFormattingRule() &&\r\n\t\t\t!format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\t// If national prefix is mandatory for this phone number format\r\n\t\t// and there're no guarantees that a national prefix is present in user input\r\n\t\t// then discard this phone number format as not suitable.\r\n\t\t// In Google's \"AsYouType\" formatter code, the equivalent would be this part:\r\n\t\t// https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\r\n\t\tif (!international &&\r\n\t\t\t!nationalPrefix &&\r\n\t\t\tformat.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn true\r\n\t}\r\n\r\n\tformatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\r\n\t\tconst leadingDigitsPatternsCount = format.leadingDigitsPatterns().length\r\n\r\n\t\t// If this format is not restricted to a certain\r\n\t\t// leading digits pattern then it fits.\r\n\t\tif (leadingDigitsPatternsCount === 0) {\r\n\t\t\treturn true\r\n\t\t}\r\n\r\n\t\t// Start narrowing down the list of possible formats based on the leading digits.\r\n\t\t// (only previously matched formats take part in the narrowing down process)\r\n\r\n\t\t// `leading_digits_patterns` start with 3 digits min\r\n\t\t// and then go up from there one digit at a time.\r\n\t\tleadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1)\r\n\t\tconst leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]\r\n\r\n\t\t// Google imposes a requirement on the leading digits\r\n\t\t// to be minimum 3 digits long in order to be eligible\r\n\t\t// for checking those with a leading digits pattern.\r\n\t\t//\r\n\t\t// Since `leading_digits_patterns` start with 3 digits min,\r\n\t\t// Google's original `libphonenumber` library only starts\r\n\t\t// excluding any non-matching formats only when the\r\n\t\t// national number entered so far is at least 3 digits long,\r\n\t\t// otherwise format matching would give false negatives.\r\n\t\t//\r\n\t\t// For example, when the digits entered so far are `2`\r\n\t\t// and the leading digits pattern is `21` –\r\n\t\t// it's quite obvious in this case that the format could be the one\r\n\t\t// but due to the absence of further digits it would give false negative.\r\n\t\t//\r\n\t\t// Also, `leading_digits_patterns` doesn't always correspond to a single\r\n\t\t// digits count. For example, `60|8` pattern would already match `8`\r\n\t\t// but the `60` part would require having at least two leading digits,\r\n\t\t// so the whole pattern would require inputting two digits first in order to\r\n\t\t// decide on whether it matches the input, even when the input is \"80\".\r\n\t\t//\r\n\t\t// This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\r\n\t\t// even when there's only 1 or 2 digits of the national (significant) number.\r\n\t\t// To do that, it uses a non-strict pattern matcher written specifically for that.\r\n\t\t//\r\n\t\tif (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\r\n\t\t\t// Before leading digits < 3 matching was implemented:\r\n\t\t\t// return true\r\n\t\t\t//\r\n\t\t\t// After leading digits < 3 matching was implemented:\r\n\t\t\ttry {\r\n\t\t\t\treturn new PatternMatcher(leadingDigitsPattern).match(leadingDigits, { allowOverflow: true }) !== undefined\r\n\t\t\t} catch (error) {\r\n\t\t\t\t// There's a slight possibility that there could be some undiscovered bug\r\n\t\t\t\t// in the pattern matcher code. Since the \"leading digits < 3 matching\"\r\n\t\t\t\t// feature is not \"essential\" for operation, it can fall back to the old way\r\n\t\t\t\t// in case of any issues rather than halting the application's execution.\r\n\t\t\t\tconsole.error(error)\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\r\n\t\t// available then use the usual regular expression matching.\r\n\t\t//\r\n\t\t// The whole pattern is wrapped in round brackets (`()`) because\r\n\t\t// the pattern can use \"or\" operator (`|`) at the top level of the pattern.\r\n\t\t//\r\n\t\treturn new RegExp(`^(${leadingDigitsPattern})`).test(leadingDigits)\r\n\t}\r\n\r\n\tgetFormatFormat(format, international) {\r\n\t\treturn international ? format.internationalFormat() : format.format()\r\n\t}\r\n\r\n\tchooseFormat(state) {\r\n\t\t// When there are multiple available formats, the formatter uses the first\r\n\t\t// format where a formatting template could be created.\r\n\t\tfor (const format of this.matchingFormats.slice()) {\r\n\t\t\t// If this format is currently being used\r\n\t\t\t// and is still suitable, then stick to it.\r\n\t\t\tif (this.chosenFormat === format) {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t\t// Sometimes, a formatting rule inserts additional digits in a phone number,\r\n\t\t\t// and \"as you type\" formatter can't do that: it should only use the digits\r\n\t\t\t// that the user has input.\r\n\t\t\t//\r\n\t\t\t// For example, in Argentina, there's a format for mobile phone numbers:\r\n\t\t\t//\r\n\t\t\t// {\r\n\t\t\t// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\r\n\t\t\t// \"leading_digits_patterns\": [\"91\"],\r\n\t\t\t// \"national_prefix_formatting_rule\": \"0$1\",\r\n\t\t\t// \"format\": \"$2 15-$3-$4\",\r\n\t\t\t// \"international_format\": \"$1 $2 $3-$4\"\r\n\t\t\t// }\r\n\t\t\t//\r\n\t\t\t// In that format, `international_format` is used instead of `format`\r\n\t\t\t// because `format` inserts `15` in the formatted number,\r\n\t\t\t// and `AsYouType` formatter should only use the digits\r\n\t\t\t// the user has actually input, without adding any extra digits.\r\n\t\t\t// In this case, it wouldn't make a difference, because the `15`\r\n\t\t\t// is first stripped when applying `national_prefix_for_parsing`\r\n\t\t\t// and then re-added when using `format`, so in reality it doesn't\r\n\t\t\t// add any new digits to the number, but to detect that, the code\r\n\t\t\t// would have to be more complex: it would have to try formatting\r\n\t\t\t// the digits using the format and then see if any digits have\r\n\t\t\t// actually been added or removed, and then, every time a new digit\r\n\t\t\t// is input, it should re-check whether the chosen format doesn't\r\n\t\t\t// alter the digits.\r\n\t\t\t//\r\n\t\t\t// Google's code doesn't go that far, and so does this library:\r\n\t\t\t// it simply requires that a `format` doesn't add any additonal\r\n\t\t\t// digits to user's input.\r\n\t\t\t//\r\n\t\t\t// Also, people in general should move from inputting phone numbers\r\n\t\t\t// in national format (possibly with national prefixes)\r\n\t\t\t// and use international phone number format instead:\r\n\t\t\t// it's a logical thing in the modern age of mobile phones,\r\n\t\t\t// globalization and the internet.\r\n\t\t\t//\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (!NON_ALTERING_FORMAT_REG_EXP.test(this.getFormatFormat(format, state.international))) {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tif (!this.createTemplateForFormat(format, state)) {\r\n\t\t\t\t// Remove the format if it can't generate a template.\r\n\t\t\t\tthis.matchingFormats = this.matchingFormats.filter(_ => _ !== format)\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t\tthis.chosenFormat = format\r\n\t\t\tbreak\r\n\t\t}\r\n\t\tif (!this.chosenFormat) {\r\n\t\t\t// No format matches the national (significant) phone number.\r\n\t\t\tthis.resetFormat()\r\n\t\t}\r\n\t\treturn this.chosenFormat\r\n\t}\r\n\r\n\tcreateTemplateForFormat(format, state) {\r\n\t\t// The formatter doesn't format numbers when numberPattern contains '|', e.g.\r\n\t\t// (20|3)\\d{4}. In those cases we quickly return.\r\n\t\t// (Though there's no such format in current metadata)\r\n\t\t/* istanbul ignore if */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Get formatting template for this phone number format\r\n\t\tconst template = this.getTemplateForFormat(format, state)\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (template) {\r\n\t\t\tthis.setNationalNumberTemplate(template, state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tgetSeparatorAfterNationalPrefix = (format) => {\r\n\t\t// `US` metadata doesn't have a `national_prefix_formatting_rule`,\r\n\t\t// so the `if` condition below doesn't apply to `US`,\r\n\t\t// but in reality there shoudl be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\t// So `US` national prefix separator is a \"special\" \"hardcoded\" case.\r\n\t\tif (this.isNANP) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// If a `format` has a `national_prefix_formatting_rule`\r\n\t\t// and that rule has a separator after a national prefix,\r\n\t\t// then it means that there should be a separator\r\n\t\t// between a national prefix and a national (significant) number.\r\n\t\tif (format &&\r\n\t\t\tformat.nationalPrefixFormattingRule() &&\r\n\t\t\tNATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\r\n\t\t\treturn ' '\r\n\t\t}\r\n\t\t// At this point, there seems to be no clear evidence that\r\n\t\t// there should be a separator between a national prefix\r\n\t\t// and a national (significant) number. So don't insert one.\r\n\t\treturn ''\r\n\t}\r\n\r\n\tgetInternationalPrefixBeforeCountryCallingCode({ IDDPrefix, missingPlus }, options) {\r\n\t\tif (IDDPrefix) {\r\n\t\t\treturn options && options.spacing === false ? IDDPrefix : IDDPrefix + ' '\r\n\t\t}\r\n\t\tif (missingPlus) {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t\treturn '+'\r\n\t}\r\n\r\n\tgetTemplate(state) {\r\n\t\tif (!this.template) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// `this.template` holds the template for a \"complete\" phone number.\r\n\t\t// The currently entered phone number is most likely not \"complete\",\r\n\t\t// so trim all non-populated digits.\r\n\t\tlet index = -1\r\n\t\tlet i = 0\r\n\t\tconst internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, { spacing: false }) : ''\r\n\t\twhile (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\r\n\t\t\tindex = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1)\r\n\t\t\ti++\r\n\t\t}\r\n\t\treturn cutAndStripNonPairedParens(this.template, index + 1)\r\n\t}\r\n\r\n\tsetNationalNumberTemplate(template, state) {\r\n\t\tthis.nationalNumberTemplate = template\r\n\t\tthis.populatedNationalNumberTemplate = template\r\n\t\t// With a new formatting template, the matched position\r\n\t\t// using the old template needs to be reset.\r\n\t\tthis.populatedNationalNumberTemplatePosition = -1\r\n\t\t// For convenience, the public `.template` property\r\n\t\t// contains the whole international number\r\n\t\t// if the phone number being input is international:\r\n\t\t// 'x' for the '+' sign, 'x'es for the country phone code,\r\n\t\t// a spacebar and then the template for the formatted national number.\r\n\t\tif (state.international) {\r\n\t\t\tthis.template =\r\n\t\t\t\tthis.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) +\r\n\t\t\t\trepeat(DIGIT_PLACEHOLDER, state.callingCode.length) +\r\n\t\t\t\t' ' +\r\n\t\t\t\ttemplate\r\n\t\t} else {\r\n\t\t\tthis.template = template\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Generates formatting template for a national phone number,\r\n\t * optionally containing a national prefix, for a format.\r\n\t * @param {Format} format\r\n\t * @param {string} nationalPrefix\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplateForFormat(format, {\r\n\t\tnationalSignificantNumber,\r\n\t\tinternational,\r\n\t\tnationalPrefix,\r\n\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t}) {\r\n\t\tlet pattern = format.pattern()\r\n\r\n\t\t/* istanbul ignore else */\r\n\t\tif (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\r\n\t\t\tpattern = pattern\r\n\t\t\t\t// Replace anything in the form of [..] with \\d\r\n\t\t\t\t.replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d')\r\n\t\t\t\t// Replace any standalone digit (not the one in `{}`) with \\d\r\n\t\t\t\t.replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d')\r\n\t\t}\r\n\r\n\t\t// Generate a dummy national number (consisting of `9`s)\r\n\t\t// that fits this format's `pattern`.\r\n\t\t//\r\n\t\t// This match will always succeed,\r\n\t\t// because the \"longest dummy phone number\"\r\n\t\t// has enough length to accomodate any possible\r\n\t\t// national phone number format pattern.\r\n\t\t//\r\n\t\tlet digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]\r\n\r\n\t\t// If the national number entered is too long\r\n\t\t// for any phone number format, then abort.\r\n\t\tif (nationalSignificantNumber.length > digits.length) {\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\t// Get a formatting template which can be used to efficiently format\r\n\t\t// a partial number where digits are added one by one.\r\n\r\n\t\t// Below `strictPattern` is used for the\r\n\t\t// regular expression (with `^` and `$`).\r\n\t\t// This wasn't originally in Google's `libphonenumber`\r\n\t\t// and I guess they don't really need it\r\n\t\t// because they're not using \"templates\" to format phone numbers\r\n\t\t// but I added `strictPattern` after encountering\r\n\t\t// South Korean phone number formatting bug.\r\n\t\t//\r\n\t\t// Non-strict regular expression bug demonstration:\r\n\t\t//\r\n\t\t// this.nationalSignificantNumber : `111111111` (9 digits)\r\n\t\t//\r\n\t\t// pattern : (\\d{2})(\\d{3,4})(\\d{4})\r\n\t\t// format : `$1 $2 $3`\r\n\t\t// digits : `9999999999` (10 digits)\r\n\t\t//\r\n\t\t// '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\r\n\t\t//\r\n\t\t// template : xx xxxx xxxx\r\n\t\t//\r\n\t\t// But the correct template in this case is `xx xxx xxxx`.\r\n\t\t// The template was generated incorrectly because of the\r\n\t\t// `{3,4}` variability in the `pattern`.\r\n\t\t//\r\n\t\t// The fix is, if `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then `this.nationalSignificantNumber`\r\n\t\t// is used instead of `digits`.\r\n\r\n\t\tconst strictPattern = new RegExp('^' + pattern + '$')\r\n\t\tconst nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT)\r\n\r\n\t\t// If `this.nationalSignificantNumber` has already sufficient length\r\n\t\t// to satisfy the `pattern` completely then use it\r\n\t\t// instead of `digits`.\r\n\t\tif (strictPattern.test(nationalNumberDummyDigits)) {\r\n\t\t\tdigits = nationalNumberDummyDigits\r\n\t\t}\r\n\r\n\t\tlet numberFormat = this.getFormatFormat(format, international)\r\n\t\tlet nationalPrefixIncludedInTemplate\r\n\r\n\t\t// If a user did input a national prefix (and that's guaranteed),\r\n\t\t// and if a `format` does have a national prefix formatting rule,\r\n\t\t// then see if that national prefix formatting rule\r\n\t\t// prepends exactly the same national prefix the user has input.\r\n\t\t// If that's the case, then use the `format` with the national prefix formatting rule.\r\n\t\t// Otherwise, use the `format` without the national prefix formatting rule,\r\n\t\t// and prepend a national prefix manually to it.\r\n\t\tif (this.shouldTryNationalPrefixFormattingRule(format, { international, nationalPrefix })) {\r\n\t\t\tconst numberFormatWithNationalPrefix = numberFormat.replace(\r\n\t\t\t\tFIRST_GROUP_PATTERN,\r\n\t\t\t\tformat.nationalPrefixFormattingRule()\r\n\t\t\t)\r\n\t\t\t// If `national_prefix_formatting_rule` of a `format` simply prepends\r\n\t\t\t// national prefix at the start of a national (significant) number,\r\n\t\t\t// then such formatting can be used with `AsYouType` formatter.\r\n\t\t\t// There seems to be no `else` case: everywhere in metadata,\r\n\t\t\t// national prefix formatting rule is national prefix + $1,\r\n\t\t\t// or `($1)`, in which case such format isn't even considered\r\n\t\t\t// when the user has input a national prefix.\r\n\t\t\t/* istanbul ignore else */\r\n\t\t\tif (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\r\n\t\t\t\tnumberFormat = numberFormatWithNationalPrefix\r\n\t\t\t\tnationalPrefixIncludedInTemplate = true\r\n\t\t\t\t// Replace all digits of the national prefix in the formatting template\r\n\t\t\t\t// with `DIGIT_PLACEHOLDER`s.\r\n\t\t\t\tif (nationalPrefix) {\r\n\t\t\t\t\tlet i = nationalPrefix.length\r\n\t\t\t\t\twhile (i > 0) {\r\n\t\t\t\t\t\tnumberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER)\r\n\t\t\t\t\t\ti--\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Generate formatting template for this phone number format.\r\n\t\tlet template = digits\r\n\t\t\t// Format the dummy phone number according to the format.\r\n\t\t\t.replace(new RegExp(pattern), numberFormat)\r\n\t\t\t// Replace each dummy digit with a DIGIT_PLACEHOLDER.\r\n\t\t\t.replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER)\r\n\r\n\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t// as just a basic national prefix, then just prepend such prefix\r\n\t\t// before the national (significant) number, optionally spacing\r\n\t\t// the two with a whitespace.\r\n\t\tif (!nationalPrefixIncludedInTemplate) {\r\n\t\t\tif (complexPrefixBeforeNationalSignificantNumber) {\r\n\t\t\t\t// Prepend the prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) +\r\n\t\t\t\t\t' ' +\r\n\t\t\t\t\ttemplate\r\n\t\t\t} else if (nationalPrefix) {\r\n\t\t\t\t// Prepend national prefix to the template manually.\r\n\t\t\t\ttemplate = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) +\r\n\t\t\t\t\tthis.getSeparatorAfterNationalPrefix(format) +\r\n\t\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (international) {\r\n\t\t\ttemplate = applyInternationalSeparatorStyle(template)\r\n\t\t}\r\n\r\n\t\treturn template\r\n\t}\r\n\r\n\tformatNextNationalNumberDigits(digits) {\r\n\t\tconst result = populateTemplateWithDigits(\r\n\t\t\tthis.populatedNationalNumberTemplate,\r\n\t\t\tthis.populatedNationalNumberTemplatePosition,\r\n\t\t\tdigits\r\n\t\t)\r\n\r\n\t\tif (!result) {\r\n\t\t\t// Reset the format.\r\n\t\t\tthis.resetFormat()\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tthis.populatedNationalNumberTemplate = result[0]\r\n\t\tthis.populatedNationalNumberTemplatePosition = result[1]\r\n\r\n\t\t// Return the formatted phone number so far.\r\n\t\treturn cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\r\n\t\t// The old way which was good for `input-format` but is not so good\r\n\t\t// for `react-phone-number-input`'s default input (`InputBasic`).\r\n\t\t// return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\r\n\t\t// \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\r\n\t}\r\n\r\n\tshouldTryNationalPrefixFormattingRule = (format, { international, nationalPrefix }) => {\r\n\t\tif (format.nationalPrefixFormattingRule()) {\r\n\t\t\t// In some countries, `national_prefix_formatting_rule` is `($1)`,\r\n\t\t\t// so it applies even if the user hasn't input a national prefix.\r\n\t\t\t// `format.usesNationalPrefix()` detects such cases.\r\n\t\t\tconst usesNationalPrefix = format.usesNationalPrefix()\r\n\t\t\tif ((usesNationalPrefix && nationalPrefix) ||\r\n\t\t\t\t(!usesNationalPrefix && !international)) {\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import extractCountryCallingCode from './helpers/extractCountryCallingCode'\r\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign'\r\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber'\r\nimport stripIddPrefix from './helpers/stripIddPrefix'\r\nimport parseDigits from './helpers/parseDigits'\r\n\r\nimport {\r\n\tVALID_DIGITS,\r\n\tVALID_PUNCTUATION,\r\n\tPLUS_CHARS\r\n} from './constants'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART =\r\n\t'[' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+'\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i')\r\n\r\nconst VALID_FORMATTED_PHONE_NUMBER_PART =\r\n\t'(?:' +\r\n\t\t'[' + PLUS_CHARS + ']' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']*' +\r\n\t\t'|' +\r\n\t\t'[' +\r\n\t\t\tVALID_PUNCTUATION +\r\n\t\t\tVALID_DIGITS +\r\n\t\t']+' +\r\n\t')'\r\n\r\nconst AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp(\r\n\t'[^' +\r\n\t\tVALID_PUNCTUATION +\r\n\t\tVALID_DIGITS +\r\n\t']+' +\r\n\t'.*' +\r\n\t'$'\r\n)\r\n\r\n// Tests whether `national_prefix_for_parsing` could match\r\n// different national prefixes.\r\n// Matches anything that's not a digit or a square bracket.\r\nconst COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/\r\n\r\nexport default class AsYouTypeParser {\r\n\tconstructor({\r\n\t\tdefaultCountry,\r\n\t\tdefaultCallingCode,\r\n\t\tmetadata,\r\n\t\tonNationalSignificantNumberChange\r\n\t}) {\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.metadata = metadata\r\n\t\tthis.onNationalSignificantNumberChange = onNationalSignificantNumberChange\r\n\t}\r\n\r\n\tinput(text, state) {\r\n\t\tconst [formattedDigits, hasPlus] = extractFormattedDigitsAndPlus(text)\r\n\t\tconst digits = parseDigits(formattedDigits)\r\n\t\t// Checks for a special case: just a leading `+` has been entered.\r\n\t\tlet justLeadingPlus\r\n\t\tif (hasPlus) {\r\n\t\t\tif (!state.digits) {\r\n\t\t\t\tstate.startInternationalNumber()\r\n\t\t\t\tif (!digits) {\r\n\t\t\t\t\tjustLeadingPlus = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (digits) {\r\n\t\t\tthis.inputDigits(digits, state)\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number digits.\r\n\t * @param {string} digits\r\n\t * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n\t */\r\n\tinputDigits(nextDigits, state) {\r\n\t\tconst { digits } = state\r\n\t\tconst hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3\r\n\r\n\t\t// Append phone number digits.\r\n\t\tstate.appendDigits(nextDigits)\r\n\r\n\t\t// Attempt to extract IDD prefix:\r\n\t\t// Some users input their phone number in international format,\r\n\t\t// but in an \"out-of-country\" dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers as soon as there're at least 3 digits.\r\n\t\t// Google's library attempts to extract IDD prefix at 3 digits,\r\n\t\t// so this library just copies that behavior.\r\n\t\t// I guess that's because the most commot IDD prefixes are\r\n\t\t// `00` (Europe) and `011` (US).\r\n\t\t// There exist really long IDD prefixes too:\r\n\t\t// for example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t// An IDD prefix is extracted here, and then every time when\r\n\t\t// there's a new digit and the number couldn't be formatted.\r\n\t\tif (hasReceivedThreeLeadingDigits) {\r\n\t\t\tthis.extractIddPrefix(state)\r\n\t\t}\r\n\r\n\t\tif (this.isWaitingForCountryCallingCode(state)) {\r\n\t\t\tif (!this.extractCountryCallingCode(state)) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tstate.appendNationalSignificantNumberDigits(nextDigits)\r\n\t\t}\r\n\r\n\t\t// If a phone number is being input in international format,\r\n\t\t// then it's not valid for it to have a national prefix.\r\n\t\t// Still, some people incorrectly input such numbers with a national prefix.\r\n\t\t// In such cases, only attempt to strip a national prefix if the number becomes too long.\r\n\t\t// (but that is done later, not here)\r\n\t\tif (!state.international) {\r\n\t\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\t\tthis.extractNationalSignificantNumber(state.getNationalDigits(), state.update)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisWaitingForCountryCallingCode({ international, callingCode }) {\r\n\t\treturn international && !callingCode\r\n\t}\r\n\r\n\t// Extracts a country calling code from a number\r\n\t// being entered in internatonal format.\r\n\textractCountryCallingCode(state) {\r\n\t\tconst { countryCallingCode, number } = extractCountryCallingCode(\r\n\t\t\t'+' + state.getDigitsWithoutInternationalPrefix(),\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (countryCallingCode) {\r\n\t\t\tstate.setCallingCode(countryCallingCode)\r\n\t\t\tstate.update({\r\n\t\t\t\tnationalSignificantNumber: number\r\n\t\t\t})\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\treset(numberingPlan) {\r\n\t\tif (numberingPlan) {\r\n\t\t\tthis.hasSelectedNumberingPlan = true\r\n\t\t\tconst nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing()\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing)\r\n\t\t} else {\r\n\t\t\tthis.hasSelectedNumberingPlan = undefined\r\n\t\t\tthis.couldPossiblyExtractAnotherNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Extracts a national (significant) number from user input.\r\n\t * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n\t * and doesn't apply `national_prefix_transform_rule` after that.\r\n\t * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n\t * @return {boolean} [extracted]\r\n\t */\r\n\textractNationalSignificantNumber(nationalDigits, setState) {\r\n\t\tif (!this.hasSelectedNumberingPlan) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\tif (nationalNumber === nationalDigits) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\t/**\r\n\t * In Google's code this function is called \"attempt to extract longer NDD\".\r\n\t * \"Some national prefixes are a substring of others\", they say.\r\n\t * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n\t */\r\n\textractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\r\n\t\tif (!this.hasExtractedNationalSignificantNumber) {\r\n\t\t\treturn this.extractNationalSignificantNumber(nationalDigits, setState)\r\n\t\t}\r\n\t\tif (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst {\r\n\t\t\tnationalPrefix,\r\n\t\t\tnationalNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = extractNationalNumberFromPossiblyIncompleteNumber(\r\n\t\t\tnationalDigits,\r\n\t\t\tthis.metadata\r\n\t\t)\r\n\t\t// If a national prefix has been extracted previously,\r\n\t\t// then it's always extracted as additional digits are added.\r\n\t\t// That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\r\n\t\t// doesn't do anything different from what it currently does.\r\n\t\t// So, just in case, here's this check, though it doesn't occur.\r\n\t\t/* istanbul ignore if */\r\n\t\tif (nationalNumber === prevNationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tthis.onExtractedNationalNumber(\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalNumber,\r\n\t\t\tnationalDigits,\r\n\t\t\tsetState\r\n\t\t)\r\n\t\treturn true\r\n\t}\r\n\r\n\tonExtractedNationalNumber(\r\n\t\tnationalPrefix,\r\n\t\tcarrierCode,\r\n\t\tnationalSignificantNumber,\r\n\t\tnationalDigits,\r\n\t\tsetState\r\n\t) {\r\n\t\tlet complexPrefixBeforeNationalSignificantNumber\r\n\t\tlet nationalSignificantNumberMatchesInput\r\n\t\t// This check also works with empty `this.nationalSignificantNumber`.\r\n\t\tconst nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber)\r\n\t\t// If the extracted national (significant) number is the\r\n\t\t// last substring of the `digits`, then it means that it hasn't been altered:\r\n\t\t// no digits have been removed from the national (significant) number\r\n\t\t// while applying `national_prefix_transform_rule`.\r\n\t\t// https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\r\n\t\tif (nationalSignificantNumberIndex >= 0 &&\r\n\t\t\tnationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\r\n\t\t\tnationalSignificantNumberMatchesInput = true\r\n\t\t\t// If a prefix of a national (significant) number is not as simple\r\n\t\t\t// as just a basic national prefix, then such prefix is stored in\r\n\t\t\t// `this.complexPrefixBeforeNationalSignificantNumber` property and will be\r\n\t\t\t// prepended \"as is\" to the national (significant) number to produce\r\n\t\t\t// a formatted result.\r\n\t\t\tconst prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex)\r\n\t\t\t// `prefixBeforeNationalNumber` is always non-empty,\r\n\t\t\t// because `onExtractedNationalNumber()` isn't called\r\n\t\t\t// when a national (significant) number hasn't been actually \"extracted\":\r\n\t\t\t// when a national (significant) number is equal to the national part of `digits`,\r\n\t\t\t// then `onExtractedNationalNumber()` doesn't get called.\r\n\t\t\tif (prefixBeforeNationalNumber !== nationalPrefix) {\r\n\t\t\t\tcomplexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetState({\r\n\t\t\tnationalPrefix,\r\n\t\t\tcarrierCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tnationalSignificantNumberMatchesInput,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber\r\n\t\t})\r\n\t\t// `onExtractedNationalNumber()` is only called when\r\n\t\t// the national (significant) number actually did change.\r\n\t\tthis.hasExtractedNationalSignificantNumber = true\r\n\t\tthis.onNationalSignificantNumberChange()\r\n\t}\r\n\r\n\treExtractNationalSignificantNumber(state) {\r\n\t\t// Attempt to extract a national prefix.\r\n\t\t//\r\n\t\t// Some people incorrectly input national prefix\r\n\t\t// in an international phone number.\r\n\t\t// For example, some people write British phone numbers as `+44(0)...`.\r\n\t\t//\r\n\t\t// Also, in some rare cases, it is valid for a national prefix\r\n\t\t// to be a part of an international phone number.\r\n\t\t// For example, mobile phone numbers in Mexico are supposed to be\r\n\t\t// dialled internationally using a `1` national prefix,\r\n\t\t// so the national prefix will be part of an international number.\r\n\t\t//\r\n\t\t// Quote from:\r\n\t\t// https://www.mexperience.com/dialing-cell-phones-in-mexico/\r\n\t\t//\r\n\t\t// \"Dialing a Mexican cell phone from abroad\r\n\t\t// When you are calling a cell phone number in Mexico from outside Mexico,\r\n\t\t// it’s necessary to dial an additional “1” after Mexico’s country code\r\n\t\t// (which is “52”) and before the area code.\r\n\t\t// You also ignore the 045, and simply dial the area code and the\r\n\t\t// cell phone’s number.\r\n\t\t//\r\n\t\t// If you don’t add the “1”, you’ll receive a recorded announcement\r\n\t\t// asking you to redial using it.\r\n\t\t//\r\n\t\t// For example, if you are calling from the USA to a cell phone\r\n\t\t// in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\r\n\t\t// (Note that this is different to calling a land line in Mexico City\r\n\t\t// from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\r\n\t\t//\r\n\t\t// Google's demo output:\r\n\t\t// https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\r\n\t\t//\r\n\t\tif (this.extractAnotherNationalSignificantNumber(\r\n\t\t\tstate.getNationalDigits(),\r\n\t\t\tstate.nationalSignificantNumber,\r\n\t\t\tstate.update\r\n\t\t)) {\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// If no format matches the phone number, then it could be\r\n\t\t// \"a really long IDD\" (quote from a comment in Google's library).\r\n\t\t// An IDD prefix is first extracted when the user has entered at least 3 digits,\r\n\t\t// and then here — every time when there's a new digit and the number\r\n\t\t// couldn't be formatted.\r\n\t\t// For example, in Australia the default IDD prefix is `0011`,\r\n\t\t// and it could even be as long as `14880011`.\r\n\t\t//\r\n\t\t// Could also check `!hasReceivedThreeLeadingDigits` here\r\n\t\t// to filter out the case when this check duplicates the one\r\n\t\t// already performed when there're 3 leading digits,\r\n\t\t// but it's not a big deal, and in most cases there\r\n\t\t// will be a suitable `format` when there're 3 leading digits.\r\n\t\t//\r\n\t\tif (this.extractIddPrefix(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t\t// Google's AsYouType formatter supports sort of an \"autocorrection\" feature\r\n\t\t// when it \"autocorrects\" numbers that have been input for a country\r\n\t\t// with that country's calling code.\r\n\t\t// Such \"autocorrection\" feature looks weird, but different people have been requesting it:\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/376\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/375\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/316\r\n\t\tif (this.fixMissingPlus(state)) {\r\n\t\t\tthis.extractCallingCodeAndNationalSignificantNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\textractIddPrefix(state) {\r\n\t\t// An IDD prefix can't be present in a number written with a `+`.\r\n\t\t// Also, don't re-extract an IDD prefix if has already been extracted.\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tIDDPrefix,\r\n\t\t\tdigits,\r\n\t\t\tnationalSignificantNumber\r\n\t\t} = state\r\n\t\tif (international || IDDPrefix) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// Some users input their phone number in \"out-of-country\"\r\n\t\t// dialing format instead of using the leading `+`.\r\n\t\t// https://github.com/catamphetamine/libphonenumber-js/issues/185\r\n\t\t// Detect such numbers.\r\n\t\tconst numberWithoutIDD = stripIddPrefix(\r\n\t\t\tdigits,\r\n\t\t\tthis.defaultCountry,\r\n\t\t\tthis.defaultCallingCode,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\r\n\t\t\t// If an IDD prefix was stripped then convert the IDD-prefixed number\r\n\t\t\t// to international number for subsequent parsing.\r\n\t\t\tstate.update({\r\n\t\t\t\tIDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\r\n\t\t\t})\r\n\t\t\tthis.startInternationalNumber(state)\r\n\t\t\treturn true\r\n\t\t}\r\n\t}\r\n\r\n\tfixMissingPlus(state) {\r\n\t\tif (!state.international) {\r\n\t\t\tconst {\r\n\t\t\t\tcountryCallingCode: newCallingCode,\r\n\t\t\t\tnumber\r\n\t\t\t} = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(\r\n\t\t\t\tstate.digits,\r\n\t\t\t\tthis.defaultCountry,\r\n\t\t\t\tthis.defaultCallingCode,\r\n\t\t\t\tthis.metadata.metadata\r\n\t\t\t)\r\n\t\t\tif (newCallingCode) {\r\n\t\t\t\tstate.update({\r\n\t\t\t\t\tmissingPlus: true\r\n\t\t\t\t})\r\n\t\t\t\tthis.startInternationalNumber(state)\r\n\t\t\t\treturn true\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tstartInternationalNumber(state) {\r\n\t\tstate.startInternationalNumber()\r\n\t\t// If a national (significant) number has been extracted before, reset it.\r\n\t\tif (state.nationalSignificantNumber) {\r\n\t\t\tstate.resetNationalSignificantNumber()\r\n\t\t\tthis.onNationalSignificantNumberChange()\r\n\t\t\tthis.hasExtractedNationalSignificantNumber = undefined\r\n\t\t}\r\n\t}\r\n\r\n\textractCallingCodeAndNationalSignificantNumber(state) {\r\n\t\tif (this.extractCountryCallingCode(state)) {\r\n\t\t\t// `this.extractCallingCode()` is currently called when the number\r\n\t\t\t// couldn't be formatted during the standard procedure.\r\n\t\t\t// Normally, the national prefix would be re-extracted\r\n\t\t\t// for an international number if such number couldn't be formatted,\r\n\t\t\t// but since it's already not able to be formatted,\r\n\t\t\t// there won't be yet another retry, so also extract national prefix here.\r\n\t\t\tthis.extractNationalSignificantNumber(state.getNationalDigits(), state.update)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\r\nfunction extractFormattedPhoneNumber(text) {\r\n\t// Attempt to extract a possible number from the string passed in.\r\n\tconst startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART)\r\n\tif (startsAt < 0) {\r\n\t\treturn\r\n\t}\r\n\t// Trim everything to the left of the phone number.\r\n\ttext = text.slice(startsAt)\r\n\t// Trim the `+`.\r\n\tlet hasPlus\r\n\tif (text[0] === '+') {\r\n\t\thasPlus = true\r\n\t\ttext = text.slice('+'.length)\r\n\t}\r\n\t// Trim everything to the right of the phone number.\r\n\ttext = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, '')\r\n\t// Re-add the previously trimmed `+`.\r\n\tif (hasPlus) {\r\n\t\ttext = '+' + text\r\n\t}\r\n\treturn text\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nfunction _extractFormattedDigitsAndPlus(text) {\r\n\t// Extract a formatted phone number part from text.\r\n\tconst extractedNumber = extractFormattedPhoneNumber(text) || ''\r\n\t// Trim a `+`.\r\n\tif (extractedNumber[0] === '+') {\r\n\t\treturn [extractedNumber.slice('+'.length), true]\r\n\t}\r\n\treturn [extractedNumber]\r\n}\r\n\r\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\r\nexport function extractFormattedDigitsAndPlus(text) {\r\n\tlet [formattedDigits, hasPlus] = _extractFormattedDigitsAndPlus(text)\r\n\t// If the extracted phone number part\r\n\t// can possibly be a part of some valid phone number\r\n\t// then parse phone number characters from a formatted phone number.\r\n\tif (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\r\n\t\tformattedDigits = ''\r\n\t}\r\n\treturn [formattedDigits, hasPlus]\r\n}","import Metadata from './metadata'\r\nimport PhoneNumber from './PhoneNumber'\r\nimport AsYouTypeState from './AsYouTypeState'\r\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter'\r\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser'\r\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode'\r\n\r\nconst USE_NON_GEOGRAPHIC_COUNTRY_CODE = false\r\n\r\nexport default class AsYouType {\r\n\t/**\r\n\t * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n\t * @param {Object} metadata\r\n\t */\r\n\tconstructor(optionsOrDefaultCountry, metadata) {\r\n\t\tthis.metadata = new Metadata(metadata)\r\n\t\tconst [defaultCountry, defaultCallingCode] = this.getCountryAndCallingCode(optionsOrDefaultCountry)\r\n\t\tthis.defaultCountry = defaultCountry\r\n\t\tthis.defaultCallingCode = defaultCallingCode\r\n\t\tthis.reset()\r\n\t}\r\n\r\n\tgetCountryAndCallingCode(optionsOrDefaultCountry) {\r\n\t\t// Set `defaultCountry` and `defaultCallingCode` options.\r\n\t\tlet defaultCountry\r\n\t\tlet defaultCallingCode\r\n\t\t// Turns out `null` also has type \"object\". Weird.\r\n\t\tif (optionsOrDefaultCountry) {\r\n\t\t\tif (typeof optionsOrDefaultCountry === 'object') {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry.defaultCountry\r\n\t\t\t\tdefaultCallingCode = optionsOrDefaultCountry.defaultCallingCode\r\n\t\t\t} else {\r\n\t\t\t\tdefaultCountry = optionsOrDefaultCountry\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\r\n\t\t\tdefaultCountry = undefined\r\n\t\t}\r\n\t\tif (defaultCallingCode) {\r\n\t\t\t/* istanbul ignore if */\r\n\t\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t\tif (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\r\n\t\t\t\t\tdefaultCountry = '001'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [defaultCountry, defaultCallingCode]\r\n\t}\r\n\r\n\t/**\r\n\t * Inputs \"next\" phone number characters.\r\n\t * @param {string} text\r\n\t * @return {string} Formatted phone number characters that have been input so far.\r\n\t */\r\n\tinput(text) {\r\n\t\tconst {\r\n\t\t\tdigits,\r\n\t\t\tjustLeadingPlus\r\n\t\t} = this.parser.input(text, this.state)\r\n\t\tif (justLeadingPlus) {\r\n\t\t\tthis.formattedOutput = '+'\r\n\t\t} else if (digits) {\r\n\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t// Match the available formats by the currently available leading digits.\r\n\t\t\tif (this.state.nationalSignificantNumber) {\r\n\t\t\t\tthis.formatter.narrowDownMatchingFormats(this.state)\r\n\t\t\t}\r\n\t\t\tlet formattedNationalNumber\r\n\t\t\tif (this.metadata.hasSelectedNumberingPlan()) {\r\n\t\t\t\tformattedNationalNumber = this.formatter.format(digits, this.state)\r\n\t\t\t}\r\n\t\t\tif (formattedNationalNumber === undefined) {\r\n\t\t\t\t// See if another national (significant) number could be re-extracted.\r\n\t\t\t\tif (this.parser.reExtractNationalSignificantNumber(this.state)) {\r\n\t\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\t\t// If it could, then re-try formatting the new national (significant) number.\r\n\t\t\t\t\tconst nationalDigits = this.state.getNationalDigits()\r\n\t\t\t\t\tif (nationalDigits) {\r\n\t\t\t\t\t\tformattedNationalNumber = this.formatter.format(nationalDigits, this.state)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.formattedOutput = formattedNationalNumber\r\n\t\t\t\t? this.getFullNumber(formattedNationalNumber)\r\n\t\t\t\t: this.getNonFormattedNumber()\r\n\t\t}\r\n\t\treturn this.formattedOutput\r\n\t}\r\n\r\n\treset() {\r\n\t\tthis.state = new AsYouTypeState({\r\n\t\t\tonCountryChange: (country) => {\r\n\t\t\t\t// Before version `1.6.0`, the official `AsYouType` formatter API\r\n\t\t\t\t// included the `.country` property of an `AsYouType` instance.\r\n\t\t\t\t// Since that property (along with the others) have been moved to\r\n\t\t\t\t// `this.state`, `this.country` property is emulated for compatibility\r\n\t\t\t\t// with the old versions.\r\n\t\t\t\tthis.country = country\r\n\t\t\t},\r\n\t\t\tonCallingCodeChange: (country, callingCode) => {\r\n\t\t\t\tthis.metadata.selectNumberingPlan(country, callingCode)\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t\tthis.parser.reset(this.metadata.numberingPlan)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.formatter = new AsYouTypeFormatter({\r\n\t\t\tstate: this.state,\r\n\t\t\tmetadata: this.metadata\r\n\t\t})\r\n\t\tthis.parser = new AsYouTypeParser({\r\n\t\t\tdefaultCountry: this.defaultCountry,\r\n\t\t\tdefaultCallingCode: this.defaultCallingCode,\r\n\t\t\tmetadata: this.metadata,\r\n\t\t\tstate: this.state,\r\n\t\t\tonNationalSignificantNumberChange: () => {\r\n\t\t\t\tthis.determineTheCountryIfNeeded()\r\n\t\t\t\tthis.formatter.reset(this.metadata.numberingPlan, this.state)\r\n\t\t\t}\r\n\t\t})\r\n\t\tthis.state.reset(this.defaultCountry, this.defaultCallingCode)\r\n\t\tthis.formattedOutput = ''\r\n\t\treturn this\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is being input in international format.\r\n\t * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisInternational() {\r\n\t\treturn this.state.international\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the \"country calling code\" part of the phone number.\r\n\t * Returns `undefined` if the number is not being input in international format.\r\n\t * Returns \"country calling code\" for \"non-geographic\" phone numbering plans too.\r\n\t * @return {string} [callingCode]\r\n\t */\r\n\tgetCallingCode() {\r\n\t\treturn this.state.callingCode\r\n\t}\r\n\r\n\t// A legacy alias.\r\n\tgetCountryCallingCode() {\r\n\t\treturn this.getCallingCode()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns a two-letter country code of the phone number.\r\n\t * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n\t * Returns `undefined` if no phone number has been input yet.\r\n\t * @return {string} [country]\r\n\t */\r\n\tgetCountry() {\r\n\t\tconst { digits, country } = this.state\r\n\t\t// If no digits have been input yet,\r\n\t\t// then `this.country` is the `defaultCountry`.\r\n\t\t// Won't return the `defaultCountry` in such case.\r\n\t\tif (!digits) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tlet countryCode = country\r\n\t\t/* istanbul ignore if */\r\n\t\tif (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\r\n\t\t\t// `AsYouType.getCountry()` returns `undefined`\r\n\t\t\t// for \"non-geographic\" phone numbering plans.\r\n\t\t\tif (countryCode === '001') {\r\n\t\t\t\tcountryCode = undefined\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn countryCode\r\n\t}\r\n\r\n\tdetermineTheCountryIfNeeded() {\r\n\t\t// Suppose a user enters a phone number in international format,\r\n\t\t// and there're several countries corresponding to that country calling code,\r\n\t\t// and a country has been derived from the number, and then\r\n\t\t// a user enters one more digit and the number is no longer\r\n\t\t// valid for the derived country, so the country should be re-derived\r\n\t\t// on every new digit in those cases.\r\n\t\t//\r\n\t\t// If the phone number is being input in national format,\r\n\t\t// then it could be a case when `defaultCountry` wasn't specified\r\n\t\t// when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\r\n\t\t// and that \"calling code\" could correspond to a \"non-geographic entity\",\r\n\t\t// or there could be several countries corresponding to that country calling code.\r\n\t\t// In those cases, `this.country` is `undefined` and should be derived\r\n\t\t// from the number. Again, if country calling code is ambiguous, then\r\n\t\t// `this.country` should be re-derived with each new digit.\r\n\t\t//\r\n\t\tif (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\r\n\t\t\tthis.determineTheCountry()\r\n\t\t}\r\n\t}\r\n\r\n\t// Prepends `+CountryCode ` in case of an international phone number\r\n\tgetFullNumber(formattedNationalNumber) {\r\n\t\tif (this.isInternational()) {\r\n\t\t\tconst prefix = (text) => this.formatter.getInternationalPrefixBeforeCountryCallingCode(this.state, {\r\n\t\t\t\tspacing: text ? true : false\r\n\t\t\t}) + text\r\n\t\t\tconst { callingCode } = this.state\r\n\t\t\tif (!callingCode) {\r\n\t\t\t\treturn prefix(`${this.state.getDigitsWithoutInternationalPrefix()}`)\r\n\t\t\t}\r\n\t\t\tif (!formattedNationalNumber) {\r\n\t\t\t\treturn prefix(callingCode)\r\n\t\t\t}\r\n\t\t\treturn prefix(`${callingCode} ${formattedNationalNumber}`)\r\n\t\t}\r\n\t\treturn formattedNationalNumber\r\n\t}\r\n\r\n\tgetNonFormattedNationalNumberWithPrefix() {\r\n\t\tconst {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcomplexPrefixBeforeNationalSignificantNumber,\r\n\t\t\tnationalPrefix\r\n\t\t} = this.state\r\n\t\tlet number = nationalSignificantNumber\r\n\t\tconst prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix\r\n\t\tif (prefix) {\r\n\t\t\tnumber = prefix + number\r\n\t\t}\r\n\t\treturn number\r\n\t}\r\n\r\n\tgetNonFormattedNumber() {\r\n\t\tconst { nationalSignificantNumberMatchesInput } = this.state\r\n\t\treturn this.getFullNumber(\r\n\t\t\tnationalSignificantNumberMatchesInput\r\n\t\t\t\t? this.getNonFormattedNationalNumberWithPrefix()\r\n\t\t\t\t: this.state.getNationalDigits()\r\n\t\t)\r\n\t}\r\n\r\n\tgetNonFormattedTemplate() {\r\n\t\tconst number = this.getNonFormattedNumber()\r\n\t\tif (number) {\r\n\t\t\treturn number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER)\r\n\t\t}\r\n\t}\r\n\r\n\tisCountryCallingCodeAmbiguous() {\r\n\t\tconst { callingCode } = this.state\r\n\t\tconst countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode)\r\n\t\treturn countryCodes && countryCodes.length > 1\r\n\t}\r\n\r\n\t// Determines the country of the phone number\r\n\t// entered so far based on the country phone code\r\n\t// and the national phone number.\r\n\tdetermineTheCountry() {\r\n\t\tthis.state.setCountry(getCountryByCallingCode(\r\n\t\t\tthis.isInternational() ? this.state.callingCode : this.defaultCallingCode,\r\n\t\t\tthis.state.nationalSignificantNumber,\r\n\t\t\tthis.metadata\r\n\t\t))\r\n\t}\r\n\r\n\t/**\r\n\t * Returns an instance of `PhoneNumber` class.\r\n\t * Will return `undefined` if no national (significant) number\r\n\t * digits have been entered so far, or if no `defaultCountry` has been\r\n\t * set and the user enters a phone number not in international format.\r\n\t */\r\n\tgetNumber() {\r\n\t\tlet {\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tcarrierCode\r\n\t\t} = this.state\r\n\t\tif (this.isInternational()) {\r\n\t\t\tif (!this.state.callingCode) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (!this.state.country && !this.defaultCallingCode) {\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!nationalSignificantNumber) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst countryCode = this.getCountry()\r\n\t\tconst callingCode = this.getCountryCallingCode() || this.defaultCallingCode\r\n\t\tconst phoneNumber = new PhoneNumber(\r\n\t\t\tcountryCode || callingCode,\r\n\t\t\tnationalSignificantNumber,\r\n\t\t\tthis.metadata.metadata\r\n\t\t)\r\n\t\tif (carrierCode) {\r\n\t\t\tphoneNumber.carrierCode = carrierCode\r\n\t\t}\r\n\t\t// Phone number extensions are not supported by \"As You Type\" formatter.\r\n\t\treturn phoneNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"possible\".\r\n\t * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisPossible() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isPossible()\r\n\t}\r\n\r\n\t/**\r\n\t * Returns `true` if the phone number is \"valid\".\r\n\t * Is just a shortcut for `PhoneNumber.isValid()`.\r\n\t * @return {boolean}\r\n\t */\r\n\tisValid() {\r\n\t\tconst phoneNumber = this.getNumber()\r\n\t\tif (!phoneNumber) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\treturn phoneNumber.isValid()\r\n\t}\r\n\r\n\t/**\r\n\t * @deprecated\r\n\t * This method is used in `react-phone-number-input/source/input-control.js`\r\n\t * in versions before `3.0.16`.\r\n\t */\r\n\tgetNationalNumber() {\r\n\t\treturn this.state.nationalSignificantNumber\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the phone number characters entered by the user.\r\n\t * @return {string}\r\n\t */\r\n\tgetChars() {\r\n\t\treturn (this.state.international ? '+' : '') + this.state.digits\r\n\t}\r\n\r\n\t/**\r\n\t * Returns the template for the formatted phone number.\r\n\t * @return {string}\r\n\t */\r\n\tgetTemplate() {\r\n\t\treturn this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || ''\r\n\t}\r\n}","import { getCountryCallingCode } from 'libphonenumber-js/core'\r\n\r\nexport function getInputValuePrefix({\r\n\tcountry,\r\n\tinternational,\r\n\twithCountryCallingCode,\r\n\tmetadata\r\n}) {\r\n\treturn country && international && !withCountryCallingCode ?\r\n\t\t`+${getCountryCallingCode(country, metadata)}` :\r\n\t\t''\r\n}\r\n\r\nexport function removeInputValuePrefix(value, prefix) {\r\n\tif (prefix) {\r\n\t\tvalue = value.slice(prefix.length)\r\n\t\tif (value[0] === ' ') {\r\n\t\t\tvalue = value.slice(1)\r\n\t\t}\r\n\t}\r\n\treturn value\r\n}","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport Input from 'input-format/react'\r\nimport { AsYouType, parsePhoneNumberCharacter } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix'\r\n\r\nexport function createInput(defaultMetadata)\r\n{\r\n\t/**\r\n\t * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's and maintains the caret's position in the process.\r\n\t * The caret positioning is maintained using `input-format` library.\r\n\t * Relies on being run in a DOM environment for calling caret positioning functions.\r\n\t */\r\n\tfunction InputSmart({\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst format = useCallback((value) => {\r\n\t\t\t// \"As you type\" formatter.\r\n\t\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t\tconst prefix = getInputValuePrefix({\r\n\t\t\t\tcountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\twithCountryCallingCode,\r\n\t\t\t\tmetadata\r\n\t\t\t})\r\n\t\t\t// Format the number.\r\n\t\t\tlet text = formatter.input(prefix + value)\r\n\t\t\tlet template = formatter.getTemplate()\r\n\t\t\tif (prefix) {\r\n\t\t\t\ttext = removeInputValuePrefix(text, prefix)\r\n\t\t\t\t// `AsYouType.getTemplate()` can be `undefined`.\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\ttemplate = removeInputValuePrefix(template, prefix)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\ttext,\r\n\t\t\t\ttemplate\r\n\t\t\t}\r\n\t\t}, [country, metadata])\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputSmart = React.forwardRef(InputSmart)\r\n\r\n\tInputSmart.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry: PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object.isRequired\r\n\t}\r\n\r\n\tInputSmart.defaultProps = {\r\n\t\tmetadata: defaultMetadata\r\n\t}\r\n\r\n\treturn InputSmart\r\n}\r\n\r\nexport default createInput()","import React, { useCallback } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { parseIncompletePhoneNumber, formatIncompletePhoneNumber } from 'libphonenumber-js/core'\r\n\r\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix'\r\n\r\nexport function createInput(defaultMetadata) {\r\n\t/**\r\n\t * `InputBasic` is the most basic implementation of a `Component`\r\n\t * that can be passed to ``. It parses and formats\r\n\t * the user's input but doesn't control the caret in the process:\r\n\t * when erasing or inserting digits in the middle of a phone number\r\n\t * the caret usually jumps to the end (this is the expected behavior).\r\n\t * Why does `InputBasic` exist when there's `InputSmart`?\r\n\t * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n\t * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n\t * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n\t */\r\n\tfunction InputBasic({\r\n\t\tvalue,\r\n\t\tonChange,\r\n\t\tcountry,\r\n\t\tinternational,\r\n\t\twithCountryCallingCode,\r\n\t\tmetadata,\r\n\t\tinputComponent: Input,\r\n\t\t...rest\r\n\t}, ref) {\r\n\t\tconst prefix = getInputValuePrefix({\r\n\t\t\tcountry,\r\n\t\t\tinternational,\r\n\t\t\twithCountryCallingCode,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst _onChange = useCallback((event) => {\r\n\t\t\tlet newValue = parseIncompletePhoneNumber(event.target.value)\r\n\t\t\t// By default, if a value is something like `\"(123)\"`\r\n\t\t\t// then Backspace would only erase the rightmost brace\r\n\t\t\t// becoming something like `\"(123\"`\r\n\t\t\t// which would give the same `\"123\"` value\r\n\t\t\t// which would then be formatted back to `\"(123)\"`\r\n\t\t\t// and so a user wouldn't be able to erase the phone number.\r\n\t\t\t// Working around this issue with this simple hack.\r\n\t\t\tif (newValue === value) {\r\n\t\t\t\tconst newValueFormatted = format(prefix, newValue, country, metadata)\r\n\t\t\t\tif (newValueFormatted.indexOf(event.target.value) === 0) {\r\n\t\t\t\t\t// Trim the last digit (or plus sign).\r\n\t\t\t\t\tnewValue = newValue.slice(0, -1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tonChange(newValue)\r\n\t\t}, [\r\n\t\t\tprefix,\r\n\t\t\tvalue,\r\n\t\t\tonChange,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t])\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tInputBasic = React.forwardRef(InputBasic)\r\n\r\n\tInputBasic.propTypes = {\r\n\t\t/**\r\n\t\t * The parsed phone number.\r\n\t\t * \"Parsed\" not in a sense of \"E.164\"\r\n\t\t * but rather in a sense of \"having only\r\n\t\t * digits and possibly a leading plus character\".\r\n\t\t * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t\t */\r\n\t\tvalue: PropTypes.string.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A function of `value: string`.\r\n\t\t * Updates the `value` property.\r\n\t\t */\r\n\t\tonChange: PropTypes.func.isRequired,\r\n\r\n\t\t/**\r\n\t\t * A two-letter country code for formatting `value`\r\n\t\t * as a national phone number (e.g. `(800) 555 35 35`).\r\n\t\t * E.g. \"US\", \"RU\", etc.\r\n\t\t * If no `country` is passed then `value`\r\n\t\t * is formatted as an international phone number.\r\n\t\t * (e.g. `+7 800 555 35 35`)\r\n\t\t * Perhaps the `country` property should have been called `defaultCountry`\r\n\t\t * because if `value` is an international number then `country` is ignored.\r\n\t\t */\r\n\t\tcountry : PropTypes.string,\r\n\r\n\t\t/**\r\n\t\t * If `country` property is passed along with `international={true}` property\r\n\t\t * then the phone number will be input in \"international\" format for that `country`\r\n\t\t * (without \"country calling code\").\r\n\t\t * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n\t\t * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n\t\t * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n\t\t * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n\t\t * (without \"country calling code\" `+1`).\r\n\t\t */\r\n\t\tinternational: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * If `country` and `international` properties are set,\r\n\t\t * then by default it won't include \"country calling code\" in the input field.\r\n\t\t * To change that, pass `withCountryCallingCode` property,\r\n\t\t * and it will include \"country calling code\" in the input field.\r\n\t\t */\r\n\t\twithCountryCallingCode: PropTypes.bool,\r\n\r\n\t\t/**\r\n\t\t * `libphonenumber-js` metadata.\r\n\t\t */\r\n\t\tmetadata: PropTypes.object.isRequired,\r\n\r\n\t\t/**\r\n\t\t * The `` component.\r\n\t\t */\r\n\t\tinputComponent: PropTypes.elementType.isRequired\r\n\t}\r\n\r\n\tInputBasic.defaultProps = {\r\n\t\tmetadata: defaultMetadata,\r\n\t\tinputComponent: 'input'\r\n\t}\r\n\r\n\treturn InputBasic\r\n}\r\n\r\nexport default createInput()\r\n\r\nfunction format(prefix, value, country, metadata) {\r\n\treturn removeInputValuePrefix(\r\n\t\tformatIncompletePhoneNumber(\r\n\t\t\tprefix + value,\r\n\t\t\tcountry,\r\n\t\t\tmetadata\r\n\t\t),\r\n\t\tprefix\r\n\t)\r\n}","import AsYouType from './AsYouType'\r\n\r\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string?} country - Two-letter (\"ISO 3166-1 alpha-2\") country code.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\r\nexport default function formatIncompletePhoneNumber(value, country, metadata) {\r\n\tif (!metadata) {\r\n\t\tmetadata = country\r\n\t\tcountry = undefined\r\n\t}\r\n\treturn new AsYouType(country, metadata).input(value)\r\n}","/**\r\n * Creates Unicode flag from a two-letter ISO country code.\r\n * https://stackoverflow.com/questions/24050671/how-to-put-japan-flag-character-in-a-string\r\n * @param {string} country — A two-letter ISO country code (case-insensitive).\r\n * @return {string}\r\n */\r\nexport default function getCountryFlag(country) {\r\n\treturn getRegionalIndicatorSymbol(country[0]) + getRegionalIndicatorSymbol(country[1])\r\n}\r\n\r\n/**\r\n * Converts a letter to a Regional Indicator Symbol.\r\n * @param {string} letter\r\n * @return {string}\r\n */\r\nfunction getRegionalIndicatorSymbol(letter) {\r\n\treturn String.fromCodePoint(0x1F1E6 - 65 + letter.toUpperCase().charCodeAt(0))\r\n}","import React, { useCallback, useMemo } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode'\r\n\r\nexport default function CountrySelect({\r\n\tvalue,\r\n\tonChange,\r\n\toptions,\r\n\t...rest\r\n}) {\r\n\tconst onChange_ = useCallback((event) => {\r\n\t\tconst value = event.target.value\r\n\t\tonChange(value === 'ZZ' ? undefined : value)\r\n\t}, [onChange])\r\n\r\n\tconst selectedOption = useMemo(() => {\r\n\t\treturn getSelectedOption(options, value)\r\n\t}, [options, value])\r\n\r\n\t// \"ZZ\" means \"International\".\r\n\t// (HTML requires each `\r\n\t\t\t))}\r\n\t\t\r\n\t)\r\n}\r\n\r\nCountrySelect.propTypes = {\r\n\t/**\r\n\t * A two-letter country code.\r\n\t * Example: \"US\", \"RU\", etc.\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string`.\r\n\t * Updates the `value` property.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t// `` options.\r\n * Can move some country `` options.\r\n * @param {string[]} [countryOptionsOrder] — Country `` can't be left in a broken state.\r\n\tif (!country && required && countries && countries.length > 0) {\r\n\t\tcountry = getAnyCountry()\r\n\t\t// noCountryMatchesTheNumber = true\r\n\t}\r\n\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Generates a sorted list of country `` option for each country.\r\n\tconst countrySelectOptions = countries.map((country) => ({\r\n\t\tvalue: country,\r\n\t\t// All `locale` country names included in this library\r\n\t\t// include all countries (this is checked at build time).\r\n\t\t// The only case when a country name might be missing\r\n\t\t// is when a developer supplies their own `labels` property.\r\n\t\t// To guard against such cases, a missing country name\r\n\t\t// is substituted by country code.\r\n\t\tlabel: countryNames[country] || country\r\n\t}))\r\n\r\n\t// Sort the list of countries alphabetically.\r\n\tcountrySelectOptions.sort((a, b) => _compareStrings(a.label, b.label, compareStringsLocales))\r\n\r\n\t// Add the \"International\" option to the country list (if suitable)\r\n\tif (addInternationalOption) {\r\n\t\tcountrySelectOptions.unshift({\r\n\t\t\tlabel: countryNames.ZZ\r\n\t\t})\r\n\t}\r\n\r\n\treturn countrySelectOptions\r\n}\r\n\r\n/**\r\n * Parses a E.164 phone number to an instance of `PhoneNumber` class.\r\n * @param {string?} value = E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {object} Object having shape `{ country: string?, countryCallingCode: string, number: string }`. `PhoneNumber`: https://gitlab.com/catamphetamine/libphonenumber-js#phonenumber.\r\n * @example\r\n * parsePhoneNumber('+78005553535')\r\n */\r\nexport function parsePhoneNumber(value, metadata) {\r\n\treturn parsePhoneNumber_(value || '', metadata)\r\n}\r\n\r\n/**\r\n * Generates national number digits for a parsed phone.\r\n * May prepend national prefix.\r\n * The phone number must be a complete and valid phone number.\r\n * @param {object} phoneNumber - An instance of `PhoneNumber` class.\r\n * @param {object} metadata - `libphonenumber-js` metadata\r\n * @return {string}\r\n * @example\r\n * getNationalNumberDigits({ country: 'RU', phone: '8005553535' })\r\n * // returns '88005553535'\r\n */\r\nexport function generateNationalNumberDigits(phoneNumber) {\r\n\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n}\r\n\r\n/**\r\n * Migrates parsed `` `value` for the newly selected `country`.\r\n * @param {string?} phoneDigits - Phone number digits (and `+`) parsed from phone number `` (it's not the same as the `value` property).\r\n * @param {string?} prevCountry - Previously selected country.\r\n * @param {string?} newCountry - Newly selected country. Can't be same as previously selected country.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @param {boolean} useNationalFormat - whether should attempt to convert from international to national number for the new country.\r\n * @return {string?}\r\n */\r\nexport function getPhoneDigitsForNewCountry(phoneDigits, {\r\n\tprevCountry,\r\n\tnewCountry,\r\n\tmetadata,\r\n\tuseNationalFormat\r\n}) {\r\n\t// If `parsed_input` is empty\r\n\t// then no need to migrate anything.\r\n\tif (!phoneDigits) {\r\n\t\tif (useNationalFormat) {\r\n\t\t\treturn ''\r\n\t\t} else {\r\n\t\t\t// If `phoneDigits` is empty then set `phoneDigits` to\r\n\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\treturn getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// If switching to some country.\r\n\t// (from \"International\" or another country)\r\n\t// If switching from \"International\" then `phoneDigits` starts with a `+`.\r\n\t// Otherwise it may or may not start with a `+`.\r\n\tif (newCountry) {\r\n\t\t// If the phone number was entered in international format\r\n\t\t// then migrate it to the newly selected country.\r\n\t\t// The phone number may be incomplete.\r\n\t\t// The phone number entered not necessarily starts with\r\n\t\t// the previously selected country phone prefix.\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\t// If the international phone number is for the new country\r\n\t\t\t// then convert it to local if required.\r\n\t\t\tif (useNationalFormat) {\r\n\t\t\t\t// // If a phone number is being input in international form\r\n\t\t\t\t// // and the country can already be derived from it,\r\n\t\t\t\t// // and if it is the new country, then format as a national number.\r\n\t\t\t\t// const derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(phoneDigits, metadata)\r\n\t\t\t\t// if (derived_country === newCountry) {\r\n\t\t\t\t// \treturn stripCountryCallingCode(phoneDigits, derived_country, metadata)\r\n\t\t\t\t// }\r\n\r\n\t\t\t\t// Actually, the two countries don't necessarily need to match:\r\n\t\t\t\t// the condition could be looser here, because several countries\r\n\t\t\t\t// might share the same international phone number format\r\n\t\t\t\t// (for example, \"NANPA\" countries like US, Canada, etc).\r\n\t\t\t\t// The looser condition would be just \"same nternational phone number format\"\r\n\t\t\t\t// which would mean \"same country calling code\" in the context of `libphonenumber-js`.\r\n\t\t\t\tif (phoneDigits.indexOf('+' + getCountryCallingCode(newCountry, metadata)) === 0) {\r\n\t\t\t\t\treturn stripCountryCallingCode(phoneDigits, newCountry, metadata)\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Simply discard the previously entered international phone number,\r\n\t\t\t\t// because otherwise any \"smart\" transformation like getting the\r\n\t\t\t\t// \"national (significant) number\" part and then prepending the\r\n\t\t\t\t// newly selected country's \"country calling code\" to it\r\n\t\t\t\t// would just be confusing for a user without being actually useful.\r\n\t\t\t\treturn ''\r\n\r\n\t\t\t\t// // Simply strip the leading `+` character\r\n\t\t\t\t// // therefore simply converting all digits into a \"local\" phone number.\r\n\t\t\t\t// // https://github.com/catamphetamine/react-phone-number-input/issues/287\r\n\t\t\t\t// return phoneDigits.slice(1)\r\n\t\t\t}\r\n\r\n\t\t\tif (prevCountry) {\r\n\t\t\t\tconst newCountryPrefix = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\tif (phoneDigits.indexOf(newCountryPrefix) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn newCountryPrefix\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst defaultValue = getInternationalPhoneNumberPrefix(newCountry, metadata)\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is the same\r\n\t\t\t\t// as for the new `country`, then leave `phoneDigits` as is.\r\n\t\t\t\tif (phoneDigits.indexOf(defaultValue) === 0) {\r\n\t\t\t\t\treturn phoneDigits\r\n\t\t\t\t}\r\n\t\t\t\t// If `phoneDigits`'s country calling code part is not the same\r\n\t\t\t\t// as for the new `country`, then set `phoneDigits` to\r\n\t\t\t\t// `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\treturn defaultValue\r\n\t\t\t}\r\n\r\n\t\t\t// // If the international phone number already contains\r\n\t\t\t// // any country calling code then trim the country calling code part.\r\n\t\t\t// // (that could also be the newly selected country phone code prefix as well)\r\n\t\t\t// // `phoneDigits` doesn't neccessarily belong to `prevCountry`.\r\n\t\t\t// // (e.g. if a user enters an international number\r\n\t\t\t// // not belonging to any of the reduced `countries` list).\r\n\t\t\t// phoneDigits = stripCountryCallingCode(phoneDigits, prevCountry, metadata)\r\n\r\n\t\t\t// // Prepend country calling code prefix\r\n\t\t\t// // for the newly selected country.\r\n\t\t\t// return e164(phoneDigits, newCountry, metadata) || `+${getCountryCallingCode(newCountry, metadata)}`\r\n\t\t}\r\n\t}\r\n\t// If switching to \"International\" from a country.\r\n\telse {\r\n\t\t// If the phone number was entered in national format.\r\n\t\tif (phoneDigits[0] !== '+') {\r\n\t\t\t// Format the national phone number as an international one.\r\n\t\t\t// The phone number entered not necessarily even starts with\r\n\t\t\t// the previously selected country phone prefix.\r\n\t\t\t// Even if the phone number belongs to whole another country\r\n\t\t\t// it will still be parsed into some national phone number.\r\n\t\t\treturn e164(phoneDigits, prevCountry, metadata) || ''\r\n\t\t}\r\n\t}\r\n\r\n\treturn phoneDigits\r\n}\r\n\r\n/**\r\n * Converts phone number digits to a (possibly incomplete) E.164 phone number.\r\n * @param {string?} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {[object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function e164(number, country, metadata) {\r\n\tif (!number) {\r\n\t\treturn\r\n\t}\r\n\t// If the phone number is being input in international format.\r\n\tif (number[0] === '+') {\r\n\t\t// If it's just the `+` sign then return nothing.\r\n\t\tif (number === '+') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\t// If there are any digits then the `value` is returned as is.\r\n\t\treturn number\r\n\t}\r\n\t// For non-international phone numbers\r\n\t// an accompanying country code is required.\r\n\tif (!country) {\r\n\t\treturn\r\n\t}\r\n\tconst partial_national_significant_number = getNationalSignificantNumberDigits(number, country, metadata)\r\n\tif (partial_national_significant_number) {\r\n\t\treturn `+${getCountryCallingCode(country, metadata)}${partial_national_significant_number}`\r\n\t}\r\n}\r\n\r\n/**\r\n * Trims phone number digits if they exceed the maximum possible length\r\n * for a national (significant) number for the country.\r\n * @param {string} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\r\n * @param {string} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} Can be empty.\r\n */\r\nexport function trimNumber(number, country, metadata) {\r\n\tconst nationalSignificantNumberPart = getNationalSignificantNumberDigits(number, country, metadata)\r\n\tif (nationalSignificantNumberPart) {\r\n\t\tconst overflowDigitsCount = nationalSignificantNumberPart.length - getMaxNumberLength(country, metadata)\r\n\t\tif (overflowDigitsCount > 0) {\r\n\t\t\treturn number.slice(0, number.length - overflowDigitsCount)\r\n\t\t}\r\n\t}\r\n\treturn number\r\n}\r\n\r\nfunction getMaxNumberLength(country, metadata) {\r\n\t// Get \"possible lengths\" for a phone number of the country.\r\n\tmetadata = new Metadata(metadata)\r\n\tmetadata.selectNumberingPlan(country)\r\n\t// Return the last \"possible length\".\r\n\treturn metadata.numberingPlan.possibleLengths()[metadata.numberingPlan.possibleLengths().length - 1]\r\n}\r\n\r\n// If the phone number being input is an international one\r\n// then tries to derive the country from the phone number.\r\n// (regardless of whether there's any country currently selected)\r\n/**\r\n * @param {string} partialE164Number - A possibly incomplete E.164 phone number.\r\n * @param {string?} country - Currently selected country.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryForPartialE164Number(partialE164Number, {\r\n\tcountry,\r\n\tcountries,\r\n\trequired,\r\n\tmetadata\r\n}) {\r\n\tif (partialE164Number === '+') {\r\n\t\t// Don't change the currently selected country yet.\r\n\t\treturn country\r\n\t}\r\n\r\n\tconst derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(partialE164Number, metadata)\r\n\r\n\t// If a phone number is being input in international form\r\n\t// and the country can already be derived from it,\r\n\t// then select that country.\r\n\tif (derived_country && (!countries || (countries.indexOf(derived_country) >= 0))) {\r\n\t\treturn derived_country\r\n\t}\r\n\t// If \"International\" country option has not been disabled\r\n\t// and the international phone number entered doesn't correspond\r\n\t// to the currently selected country then reset the currently selected country.\r\n\telse if (country &&\r\n\t\t!required &&\r\n\t\t!couldNumberBelongToCountry(partialE164Number, country, metadata)) {\r\n\t\treturn undefined\r\n\t}\r\n\r\n\t// Don't change the currently selected country.\r\n\treturn country\r\n}\r\n\r\n/**\r\n * Parses `` value. Derives `country` from `input`. Derives an E.164 `value`.\r\n * @param {string?} phoneDigits — Parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} prevPhoneDigits — Previous parsed `` value. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n * @param {string?} country - Currently selected country.\r\n * @param {boolean} countryRequired - Is selecting some country required.\r\n * @param {function} getAnyCountry - Can be used to get any country when selecting some country required.\r\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\r\n * @param {boolean} international - Set to `true` to force international phone number format (leading `+`). Set to `false` to force \"national\" phone number format. Is `undefined` by default.\r\n * @param {boolean} limitMaxLength — Whether to enable limiting phone number max length.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {object} An object of shape `{ input, country, value }`.\r\n */\r\nexport function onPhoneDigitsChange(phoneDigits, {\r\n\tprevPhoneDigits,\r\n\tcountry,\r\n\tdefaultCountry,\r\n\tcountryRequired,\r\n\tgetAnyCountry,\r\n\tcountries,\r\n\tinternational,\r\n\tlimitMaxLength,\r\n\tcountryCallingCodeEditable,\r\n\tmetadata\r\n}) {\r\n\tif (international && countryCallingCodeEditable === false) {\r\n\t\tconst prefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\t\t// The `` value must start with the country calling code.\r\n\t\tif (phoneDigits.indexOf(prefix) !== 0) {\r\n\t\t\tlet value\r\n\t\t\t// If a phone number input is declared as\r\n\t\t\t// `international` and `withCountryCallingCode`,\r\n\t\t\t// then it's gonna be non-empty even before the user\r\n\t\t\t// has input anything in it.\r\n\t\t\t// This will result in its contents (the country calling code part)\r\n\t\t\t// being selected when the user tabs into such field.\r\n\t\t\t// If the user then starts inputting the national part digits,\r\n\t\t\t// then `` value changes from `+xxx` to `y`\r\n\t\t\t// because inputting anything while having the `` value\r\n\t\t\t// selected results in erasing the `` value\r\n\t\t\t// So, the component handles such case by restoring\r\n\t\t\t// the intended ``` value: `+xxxy`.\r\n\t\t\t// https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/43\r\n\t\t\tif (phoneDigits && phoneDigits[0] !== '+') {\r\n\t\t\t\tphoneDigits = prefix + phoneDigits\r\n\t\t\t\tvalue = phoneDigits\r\n\t\t\t} else {\r\n\t\t\t\tphoneDigits = prefix\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tphoneDigits,\r\n\t\t\t\tvalue,\r\n\t\t\t\tcountry\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `international` property is `false`, then it means\r\n\t// \"enforce national-only format during input\",\r\n\t// so, if that's the case, then remove all `+` characters,\r\n\t// but only if some country is currently selected.\r\n\t// (not if \"International\" country is selected).\r\n\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// Trim the input to not exceed the maximum possible number length.\r\n\tif (phoneDigits && country && limitMaxLength) {\r\n\t\tphoneDigits = trimNumber(phoneDigits, country, metadata)\r\n\t}\r\n\r\n\t// If this `onChange()` event was triggered\r\n\t// as a result of selecting \"International\" country,\r\n\t// then force-prepend a `+` sign if the phone number\r\n\t// `` value isn't in international format.\r\n\t// Also, force-prepend a `+` sign if international\r\n\t// phone number input format is set.\r\n\tif (phoneDigits && phoneDigits[0] !== '+' && (!country || international)) {\r\n\t\tphoneDigits = '+' + phoneDigits\r\n\t}\r\n\r\n\t// If the previously entered phone number\r\n\t// has been entered in international format\r\n\t// and the user decides to erase it,\r\n\t// then also reset the `country`\r\n\t// because it was most likely automatically selected\r\n\t// while the user was typing in the phone number\r\n\t// in international format.\r\n\t// This fixes the issue when a user is presented\r\n\t// with a phone number input with no country selected\r\n\t// and then types in their local phone number\r\n\t// then discovers that the input's messed up\r\n\t// (a `+` has been prepended at the start of their input\r\n\t// and a random country has been selected),\r\n\t// decides to undo it all by erasing everything\r\n\t// and then types in their local phone number again\r\n\t// resulting in a seemingly correct phone number\r\n\t// but in reality that phone number has incorrect country.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/273\r\n\tif (!phoneDigits && prevPhoneDigits && prevPhoneDigits[0] === '+') {\r\n\t\tif (international) {\r\n\t\t\tcountry = undefined\r\n\t\t} else {\r\n\t\t\tcountry = defaultCountry\r\n\t\t}\r\n\t}\r\n\t// Also resets such \"randomly\" selected country\r\n\t// as soon as the user erases the number\r\n\t// digit-by-digit up to the leading `+` sign.\r\n\tif (phoneDigits === '+' && prevPhoneDigits && prevPhoneDigits[0] === '+' && prevPhoneDigits.length > '+'.length) {\r\n\t\tcountry = undefined\r\n\t}\r\n\r\n\t// Generate the new `value` property.\r\n\tlet value\r\n\tif (phoneDigits) {\r\n\t\tif (phoneDigits[0] === '+') {\r\n\t\t\tif (phoneDigits === '+') {\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else if (country && getInternationalPhoneNumberPrefix(country, metadata).indexOf(phoneDigits) === 0) {\r\n\t\t\t\tvalue = undefined\r\n\t\t\t} else {\r\n\t\t\t\tvalue = phoneDigits\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\t// Derive the country from the phone number.\r\n\t// (regardless of whether there's any country currently selected,\r\n\t// because there could be several countries corresponding to one country calling code)\r\n\tif (value) {\r\n\t\tcountry = getCountryForPartialE164Number(value, {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tmetadata\r\n\t\t})\r\n\t\t// If `international` property is `false`, then it means\r\n\t\t// \"enforce national-only format during input\",\r\n\t\t// so, if that's the case, then remove all `+` characters,\r\n\t\t// but only if some country is currently selected.\r\n\t\t// (not if \"International\" country is selected).\r\n\t\tif (international === false && country && phoneDigits && phoneDigits[0] === '+') {\r\n\t\t\tphoneDigits = convertInternationalPhoneDigitsToNational(phoneDigits, country, metadata)\r\n\t\t\t// Re-calculate `value` because `phoneDigits` has changed.\r\n\t\t\tvalue = e164(phoneDigits, country, metadata)\r\n\t\t}\r\n\t}\r\n\r\n\tif (!country && countryRequired) {\r\n\t\tcountry = defaultCountry || getAnyCountry()\r\n\t}\r\n\r\n\treturn {\r\n\t\tphoneDigits,\r\n\t\tcountry,\r\n\t\tvalue\r\n\t}\r\n}\r\n\r\nfunction convertInternationalPhoneDigitsToNational(input, country, metadata) {\r\n\t// Handle the case when a user might have pasted\r\n\t// a phone number in international format.\r\n\tif (input.indexOf(getInternationalPhoneNumberPrefix(country, metadata)) === 0) {\r\n\t\t// Create \"as you type\" formatter.\r\n\t\tconst formatter = new AsYouType(country, metadata)\r\n\t\t// Input partial national phone number.\r\n\t\tformatter.input(input)\r\n\t\t// Return the parsed partial national phone number.\r\n\t\tconst phoneNumber = formatter.getNumber()\r\n\t\tif (phoneNumber) {\r\n\t\t\t// Transform the number to a national one,\r\n\t\t\t// and remove all non-digits.\r\n\t\t\treturn phoneNumber.formatNational().replace(/\\D/g, '')\r\n\t\t} else {\r\n\t\t\treturn ''\r\n\t\t}\r\n\t} else {\r\n\t\t// Just remove the `+` sign.\r\n\t\treturn input.replace(/\\D/g, '')\r\n\t}\r\n}\r\n\r\n/**\r\n * Determines the country for a given (possibly incomplete) E.164 phone number.\r\n * @param {string} number - A possibly incomplete E.164 phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string?}\r\n */\r\nexport function getCountryFromPossiblyIncompleteInternationalPhoneNumber(number, metadata) {\r\n\tconst formatter = new AsYouType(null, metadata)\r\n\tformatter.input(number)\r\n\t// // `001` is a special \"non-geograpical entity\" code\r\n\t// // in Google's `libphonenumber` library.\r\n\t// if (formatter.getCountry() === '001') {\r\n\t// \treturn\r\n\t// }\r\n\treturn formatter.getCountry()\r\n}\r\n\r\n/**\r\n * Compares two strings.\r\n * A helper for `Array.sort()`.\r\n * @param {string} a — First string.\r\n * @param {string} b — Second string.\r\n * @param {(string[]|string)} [locales] — The `locales` argument of `String.localeCompare`.\r\n */\r\nexport function compareStrings(a, b, locales) {\r\n // Use `String.localeCompare` if it's available.\r\n // https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\r\n // Which means everyone except IE <= 10 and Safari <= 10.\r\n // `localeCompare()` is available in latest Node.js versions.\r\n /* istanbul ignore else */\r\n if (String.prototype.localeCompare) {\r\n return a.localeCompare(b, locales);\r\n }\r\n /* istanbul ignore next */\r\n return a < b ? -1 : (a > b ? 1 : 0);\r\n}\r\n\r\n/**\r\n * Strips `+${countryCallingCode}` prefix from an E.164 phone number.\r\n * @param {string} number - (possibly incomplete) E.164 phone number.\r\n * @param {string?} country - A possible country for this phone number.\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string}\r\n */\r\nexport function stripCountryCallingCode(number, country, metadata) {\r\n\t// Just an optimization, so that it\r\n\t// doesn't have to iterate through all country calling codes.\r\n\tif (country) {\r\n\t\tconst countryCallingCodePrefix = '+' + getCountryCallingCode(country, metadata)\r\n\r\n\t\t// If `country` fits the actual `number`.\r\n\t\tif (number.length < countryCallingCodePrefix.length) {\r\n\t\t\tif (countryCallingCodePrefix.indexOf(number) === 0) {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (number.indexOf(countryCallingCodePrefix) === 0) {\r\n\t\t\t\treturn number.slice(countryCallingCodePrefix.length)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If `country` doesn't fit the actual `number`.\r\n\t// Try all available country calling codes.\r\n\tfor (const country_calling_code of Object.keys(metadata.country_calling_codes)) {\r\n\t\tif (number.indexOf(country_calling_code) === '+'.length) {\r\n\t\t\treturn number.slice('+'.length + country_calling_code.length)\r\n\t\t}\r\n\t}\r\n\r\n\treturn ''\r\n}\r\n\r\n/**\r\n * Parses a partially entered national phone number digits\r\n * (or a partially entered E.164 international phone number)\r\n * and returns the national significant number part.\r\n * National significant number returned doesn't come with a national prefix.\r\n * @param {string} number - National number digits. Or possibly incomplete E.164 phone number.\r\n * @param {string?} country\r\n * @param {object} metadata - `libphonenumber-js` metadata.\r\n * @return {string} [result]\r\n */\r\nexport function getNationalSignificantNumberDigits(number, country, metadata) {\r\n\t// Create \"as you type\" formatter.\r\n\tconst formatter = new AsYouType(country, metadata)\r\n\t// Input partial national phone number.\r\n\tformatter.input(number)\r\n\t// Return the parsed partial national phone number.\r\n\tconst phoneNumber = formatter.getNumber()\r\n\treturn phoneNumber && phoneNumber.nationalNumber\r\n}\r\n\r\n/**\r\n * Checks if a partially entered E.164 phone number could belong to a country.\r\n * @param {string} number\r\n * @param {string} country\r\n * @return {boolean}\r\n */\r\nexport function couldNumberBelongToCountry(number, country, metadata) {\r\n\tconst intlPhoneNumberPrefix = getInternationalPhoneNumberPrefix(country, metadata)\r\n\tlet i = 0\r\n\twhile (i < number.length && i < intlPhoneNumberPrefix.length) {\r\n\t\tif (number[i] !== intlPhoneNumberPrefix[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}\r\n\r\n/**\r\n * Gets initial \"phone digits\" (including `+`, if using international format).\r\n * @return {string} [phoneDigits] Returns `undefined` if there should be no initial \"phone digits\".\r\n */\r\nexport function getInitialPhoneDigits({\r\n\tvalue,\r\n\tphoneNumber,\r\n\tdefaultCountry,\r\n\tinternational,\r\n\tuseNationalFormat,\r\n\tmetadata\r\n}) {\r\n\t// If the `value` (E.164 phone number)\r\n\t// belongs to the currently selected country\r\n\t// and `useNationalFormat` is `true`\r\n\t// then convert `value` (E.164 phone number)\r\n\t// to a local phone number digits.\r\n\t// E.g. '+78005553535' -> '88005553535'.\r\n\tif ((international === false || useNationalFormat) && phoneNumber && phoneNumber.country) {\r\n\t\treturn generateNationalNumberDigits(phoneNumber)\r\n\t}\r\n\t// If `international` property is `true`,\r\n\t// meaning \"enforce international phone number format\",\r\n\t// then always show country calling code in the input field.\r\n\tif (!value && international && defaultCountry) {\r\n\t\treturn getInternationalPhoneNumberPrefix(defaultCountry, metadata)\r\n\t}\r\n\treturn value\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport classNames from 'classnames'\r\n\r\nimport InputSmart from './InputSmart'\r\nimport InputBasic from './InputBasic'\r\n\r\nimport { CountrySelectWithIcon as CountrySelect } from './CountrySelect'\r\n\r\nimport Flag from './Flag'\r\nimport InternationalIcon from './InternationalIcon'\r\n\r\nimport {\r\n\tsortCountryOptions,\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries,\r\n\tgetSupportedCountryOptions,\r\n\tgetCountries\r\n} from './helpers/countries'\r\n\r\nimport { createCountryIconComponent } from './CountryIcon'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes'\r\n\r\nimport {\r\n\tgetPreSelectedCountry,\r\n\tgetCountrySelectOptions,\r\n\tparsePhoneNumber,\r\n\tgenerateNationalNumberDigits,\r\n\tgetPhoneDigitsForNewCountry,\r\n\tgetInitialPhoneDigits,\r\n\tonPhoneDigitsChange,\r\n\te164\r\n} from './helpers/phoneInputHelpers'\r\n\r\nimport getPhoneInputWithCountryStateUpdateFromNewProps from './helpers/getPhoneInputWithCountryStateUpdateFromNewProps'\r\n\r\nclass PhoneNumberInput_ extends React.PureComponent {\r\n\tinputRef = React.createRef()\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\r\n\t\tconst {\r\n\t\t\tvalue,\r\n\t\t\tlabels,\r\n\t\t\tinternational,\r\n\t\t\taddInternationalOption,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tlet {\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries\r\n\t\t} = this.props\r\n\r\n\t\t// Validate `defaultCountry`.\r\n\t\tif (defaultCountry) {\r\n\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\tdefaultCountry = undefined\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Validate `countries`.\r\n\t\tcountries = getSupportedCountries(countries, metadata)\r\n\r\n\t\tconst phoneNumber = parsePhoneNumber(value, metadata)\r\n\r\n\t\tthis.CountryIcon = createCountryIconComponent(this.props)\r\n\r\n\t\tconst preSelectedCountry = getPreSelectedCountry({\r\n\t\t\tvalue,\r\n\t\t\tphoneNumber,\r\n\t\t\tdefaultCountry,\r\n\t\t\trequired: !addInternationalOption,\r\n\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tthis.state = {\r\n\t\t\t// Workaround for `this.props` inside `getDerivedStateFromProps()`.\r\n\t\t\tprops: this.props,\r\n\r\n\t\t\t// The country selected.\r\n\t\t\tcountry: preSelectedCountry,\r\n\r\n\t\t\t// `countries` are stored in `this.state` because they're filtered.\r\n\t\t\t// For example, a developer might theoretically pass some unsupported\r\n\t\t\t// countries as part of the `countries` property, and because of that\r\n\t\t\t// the component uses `this.state.countries` (which are filtered)\r\n\t\t\t// instead of `this.props.countries`\r\n\t\t\t// (which could potentially contain unsupported countries).\r\n\t\t\tcountries,\r\n\r\n\t\t\t// `phoneDigits` state property holds non-formatted user's input.\r\n\t\t\t// The reason is that there's no way of finding out\r\n\t\t\t// in which form should `value` be displayed: international or national.\r\n\t\t\t// E.g. if `value` is `+78005553535` then it could be input\r\n\t\t\t// by a user both as `8 (800) 555-35-35` and `+7 800 555 35 35`.\r\n\t\t\t// Hence storing just `value` is not sufficient for correct formatting.\r\n\t\t\t// E.g. if a user entered `8 (800) 555-35-35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `88005553535`\r\n\t\t\t// and if a user entered `+7 800 555 35 35`\r\n\t\t\t// then value is `+78005553535` and `phoneDigits` are `+78005553535`.\r\n\t\t\tphoneDigits: getInitialPhoneDigits({\r\n\t\t\t\tvalue,\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tdefaultCountry,\r\n\t\t\t\tinternational,\r\n\t\t\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\t\t\tmetadata\r\n\t\t\t}),\r\n\r\n\t\t\t// `value` property is duplicated in state.\r\n\t\t\t// The reason is that `getDerivedStateFromProps()`\r\n\t\t\t// needs this `value` to compare to the new `value` property\r\n\t\t\t// to find out if `phoneDigits` needs updating:\r\n\t\t\t// If the `value` property was changed externally\r\n\t\t\t// then it won't be equal to `state.value`\r\n\t\t\t// in which case `phoneDigits` and `country` should be updated.\r\n\t\t\tvalue\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tlet { defaultCountry } = this.props\r\n\t\tconst { country: selectedCountry } = this.state\r\n\t\tif (onCountryChange) {\r\n\t\t\tif (defaultCountry) {\r\n\t\t\t\tif (!this.isCountrySupportedWithError(defaultCountry)) {\r\n\t\t\t\t\tdefaultCountry = undefined\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (selectedCountry !== defaultCountry) {\r\n\t\t\t\tonCountryChange(selectedCountry)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidUpdate(prevProps, prevState) {\r\n\t\tconst { onCountryChange } = this.props\r\n\t\tconst { country } = this.state\r\n\t\t// Call `onCountryChange` when user selects another country.\r\n\t\tif (onCountryChange && country !== prevState.country) {\r\n\t\t\tonCountryChange(country)\r\n\t\t}\r\n\t}\r\n\r\n\tsetInputRef = (instance) => {\r\n\t\tthis.inputRef.current = instance\r\n\t\tconst { inputRef: ref } = this.props\r\n\t\tif (ref) {\r\n\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\tref(instance)\r\n\t\t\t} else {\r\n\t\t\t\tref.current = instance\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetCountrySelectOptions({ countries }) {\r\n\t\tconst {\r\n\t\t\tinternational,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tlocales,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\t\treturn useMemoCountrySelectOptions(() => {\r\n\t\t\treturn sortCountryOptions(\r\n\t\t\t\tgetCountrySelectOptions({\r\n\t\t\t\t\tcountries: countries || getCountries(metadata),\r\n\t\t\t\t\tcountryNames: labels,\r\n\t\t\t\t\taddInternationalOption: (international && countryCallingCodeEditable === false) ? false : addInternationalOption,\r\n\t\t\t\t\tcompareStringsLocales: locales,\r\n\t\t\t\t\t// compareStrings\r\n\t\t\t\t}),\r\n\t\t\t\tgetSupportedCountryOptions(countryOptionsOrder, metadata)\r\n\t\t\t)\r\n\t\t}, [\r\n\t\t\tcountries,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\taddInternationalOption,\r\n\t\t\tlabels,\r\n\t\t\tmetadata\r\n\t\t])\r\n\t}\r\n\r\n\tgetFirstSupportedCountry({ countries }) {\r\n\t\tconst countryOptions = this.getCountrySelectOptions({ countries })\r\n\t\treturn countryOptions[0].value\r\n\t}\r\n\r\n\t// A shorthand for not passing `metadata` as a second argument.\r\n\tisCountrySupportedWithError = (country) => {\r\n\t\tconst { metadata } = this.props\r\n\t\treturn isCountrySupportedWithError(country, metadata)\r\n\t}\r\n\r\n\t// Country `` holds any digits\r\n\t\t// then migrate those digits for the new `country`.\r\n\t\tconst newPhoneDigits = getPhoneDigitsForNewCountry(prevPhoneDigits, {\r\n\t\t\tprevCountry,\r\n\t\t\tnewCountry,\r\n\t\t\tmetadata,\r\n\t\t\t// Convert the phone number to \"national\" format\r\n\t\t\t// when the user changes the selected country by hand.\r\n\t\t\tuseNationalFormat: !international\r\n\t\t})\r\n\r\n\t\tconst newValue = e164(newPhoneDigits, newCountry, metadata)\r\n\r\n\t\t// Focus phone number `` upon country selection.\r\n\t\tif (focusInputOnCountrySelection) {\r\n\t\t\tthis.inputRef.current.focus()\r\n\t\t}\r\n\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\r\n\t\tthis.setState({\r\n\t\t\tcountry: newCountry,\r\n\t\t\thasUserSelectedACountry: true,\r\n\t\t\tphoneDigits: newPhoneDigits,\r\n\t\t\tvalue: newValue\r\n\t\t},\r\n\t\t() => {\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\tonChange(newValue)\r\n\t\t})\r\n\t}\r\n\r\n\t/**\r\n\t * `` `onChange()` handler.\r\n\t * Updates `value` property accordingly (so that they are kept in sync).\r\n\t * @param {string?} input — Either a parsed phone number or an empty string. Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n\t */\r\n\tonChange = (_phoneDigits) => {\r\n\t\tconst {\r\n\t\t\tdefaultCountry,\r\n\t\t\tonChange,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits: prevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry\r\n\t\t} = this.state\r\n\r\n\t\tconst {\r\n\t\t\tphoneDigits,\r\n\t\t\tcountry,\r\n\t\t\tvalue\r\n\t\t} = onPhoneDigitsChange(_phoneDigits, {\r\n\t\t\tprevPhoneDigits,\r\n\t\t\tcountry: currentlySelectedCountry,\r\n\t\t\tcountryRequired: !addInternationalOption,\r\n\t\t\tdefaultCountry,\r\n\t\t\tgetAnyCountry: () => this.getFirstSupportedCountry({ countries }),\r\n\t\t\tcountries,\r\n\t\t\tinternational,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tmetadata\r\n\t\t})\r\n\r\n\t\tconst stateUpdate = {\r\n\t\t\tphoneDigits,\r\n\t\t\tvalue,\r\n\t\t\tcountry\r\n\t\t}\r\n\r\n\t\tif (countryCallingCodeEditable === false) {\r\n\t\t\t// If it simply did `setState({ phoneDigits: intlPrefix })` here,\r\n\t\t\t// then it would have no effect when erasing an inital international prefix\r\n\t\t\t// via Backspace, because `phoneDigits` in `state` wouldn't change\r\n\t\t\t// as a result, because it was `prefix` and it became `prefix`,\r\n\t\t\t// so the component wouldn't rerender, and the user would be able\r\n\t\t\t// to erase the country calling code part, and that part is\r\n\t\t\t// assumed to be non-eraseable. That's why the component is\r\n\t\t\t// forcefully rerendered here.\r\n\t\t\t// https://github.com/catamphetamine/react-phone-number-input/issues/367#issuecomment-721703501\r\n\t\t\tif (!value && phoneDigits === this.state.phoneDigits) {\r\n\t\t\t\t// Force a re-render of the `` in order to reset its value.\r\n\t\t\t\tstateUpdate.forceRerender = {}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.setState(\r\n\t\t\tstateUpdate,\r\n\t\t\t// Update the new `value` property.\r\n\t\t\t// Doing it after the `state` has been updated\r\n\t\t\t// because `onChange()` will trigger `getDerivedStateFromProps()`\r\n\t\t\t// with the new `value` which will be compared to `state.value` there.\r\n\t\t\t() => onChange(value)\r\n\t\t)\r\n\t}\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onFocus = () => this.setState({ isFocused: true })\r\n\r\n\t// Toggles the `--focus` CSS class.\r\n\t_onBlur = () => this.setState({ isFocused: false })\r\n\r\n\tonFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\tconst { onFocus } = this.props\r\n\t\tif (onFocus) {\r\n\t\t\tonFocus(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonBlur = (event) => {\r\n\t\tconst { onBlur } = this.props\r\n\t\tthis._onBlur()\r\n\t\tif (onBlur) {\r\n\t\t\tonBlur(event)\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryFocus = (event) => {\r\n\t\tthis._onFocus()\r\n\t\t// this.setState({ countrySelectFocused: true })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onFocus } = countrySelectProps\r\n\t\t\tif (onFocus) {\r\n\t\t\t\tonFocus(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonCountryBlur = (event) => {\r\n\t\tthis._onBlur()\r\n\t\t// this.setState({ countrySelectFocused: false })\r\n\t\tconst { countrySelectProps } = this.props\r\n\t\tif (countrySelectProps) {\r\n\t\t\tconst { onBlur } = countrySelectProps\r\n\t\t\tif (onBlur) {\r\n\t\t\t\tonBlur(event)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// `state` holds previous props as `props`, and also:\r\n\t// * `country` — The currently selected country, e.g. `\"RU\"`.\r\n\t// * `value` — The currently entered phone number (E.164), e.g. `+78005553535`.\r\n\t// * `phoneDigits` — The parsed `` value, e.g. `8005553535`.\r\n\t// (and a couple of other less significant properties)\r\n\tstatic getDerivedStateFromProps(props, state) {\r\n\t\treturn {\r\n\t\t\t// Emulate `prevProps` via `state.props`.\r\n\t\t\tprops,\r\n\t\t\t...getPhoneInputWithCountryStateUpdateFromNewProps(props, state.props, state)\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {\r\n\t\t\t// Generic HTML attributes.\r\n\t\t\tname,\r\n\t\t\tdisabled,\r\n\t\t\tautoComplete,\r\n\t\t\tstyle,\r\n\t\t\tclassName,\r\n\r\n\t\t\t// Number `` properties.\r\n\t\t\tinputRef,\r\n\t\t\tinputComponent,\r\n\t\t\tnumberInputProps,\r\n\t\t\tsmartCaret,\r\n\r\n\t\t\t// Country ``).\r\n\t\t\tdefaultCountry,\r\n\t\t\tcountries: countriesProperty,\r\n\t\t\tcountryOptionsOrder,\r\n\t\t\tlabels,\r\n\t\t\tflags,\r\n\t\t\tflagComponent,\r\n\t\t\tflagUrl,\r\n\t\t\taddInternationalOption,\r\n\t\t\tinternationalIcon,\r\n\t\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t\t// superceded by `initialValueFormat` property.\r\n\t\t\tdisplayInitialValueAsLocalNumber,\r\n\t\t\tinitialValueFormat,\r\n\t\t\tonCountryChange,\r\n\t\t\tlimitMaxLength,\r\n\t\t\tcountryCallingCodeEditable,\r\n\t\t\tfocusInputOnCountrySelection,\r\n\t\t\treset,\r\n\t\t\tmetadata,\r\n\t\t\tinternational,\r\n\t\t\tlocales,\r\n\t\t\t// compareStrings,\r\n\t\t\t...rest\r\n\t\t} = this.props\r\n\r\n\t\tconst {\r\n\t\t\tcountry,\r\n\t\t\tcountries,\r\n\t\t\tphoneDigits,\r\n\t\t\tisFocused\r\n\t\t} = this.state\r\n\r\n\t\tconst InputComponent = smartCaret ? InputSmart : InputBasic\r\n\r\n\t\tconst countrySelectOptions = this.getCountrySelectOptions({ countries })\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\r\n\t\t\t\t{/* Country `` */}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\n// This wrapper is only to `.forwardRef()` to the ``.\r\nconst PhoneNumberInput = React.forwardRef((props, ref) => (\r\n\t\r\n))\r\n\r\nPhoneNumberInput.propTypes = {\r\n\t/**\r\n\t * Phone number in `E.164` format.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `\"+12223333333\"`\r\n\t */\r\n\tvalue: PropTypes.string,\r\n\r\n\t/**\r\n\t * A function of `value: string?`.\r\n\t *\r\n\t * Updates the `value` property as the user inputs a phone number.\r\n\t */\r\n\tonChange: PropTypes.func.isRequired,\r\n\r\n\t/**\r\n\t * Toggles the `--focus` CSS class.\r\n\t * @ignore\r\n\t */\r\n\tonFocus: PropTypes.func,\r\n\r\n\t/**\r\n\t * `onBlur` is usually passed by `redux-form`.\r\n\t * @ignore\r\n\t */\r\n\tonBlur: PropTypes.func,\r\n\r\n\t/**\r\n\t * Set to `true` to disable both the phone number ``\r\n\t * and the country ``.\r\n\t *\r\n\t * Web browser's \"autocomplete\" feature\r\n\t * remembers the phone number being input\r\n\t * and can also autofill the ``\r\n\t * with previously remembered phone numbers.\r\n\t *\r\n\t * https://developers.google.com\r\n\t * /web/updates/2015/06/checkout-faster-with-autofill\r\n\t *\r\n\t * For example, can be used to turn it off:\r\n\t *\r\n\t * \"So when should you use `autocomplete=\"off\"`?\r\n\t * One example is when you've implemented your own version\r\n\t * of autocomplete for search. Another example is any form field\r\n\t * where users will input and submit different kinds of information\r\n\t * where it would not be useful to have the browser remember\r\n\t * what was submitted previously\".\r\n\t */\r\n\t// (is `\"tel\"` by default)\r\n\tautoComplete: PropTypes.string.isRequired,\r\n\r\n\t/**\r\n\t * Set to `\"national\"` to show the initial `value` in\r\n\t * \"national\" format rather than \"international\".\r\n\t *\r\n\t * For example, if `initialValueFormat` is `\"national\"`\r\n\t * and the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"(213) 373-4253\"`.\r\n\t *\r\n\t * By default, `initialValueFormat` is `undefined`,\r\n\t * meaning that if the initial `value=\"+12133734253\"` is passed\r\n\t * then the `` value will be `\"+1 213 373 4253\"`.\r\n\t *\r\n\t * The reason for such default behaviour is that\r\n\t * the newer generation grows up when there are no stationary phones\r\n\t * and therefore everyone inputs phone numbers in international format\r\n\t * in their smartphones so people gradually get more accustomed to\r\n\t * writing phone numbers in international format rather than in local format.\r\n\t * Future people won't be using \"national\" format, only \"international\".\r\n\t */\r\n\t// (is `undefined` by default)\r\n\tinitialValueFormat: PropTypes.oneOf(['national']),\r\n\r\n\t// `displayInitialValueAsLocalNumber` property has been\r\n\t// superceded by `initialValueFormat` property.\r\n\tdisplayInitialValueAsLocalNumber: PropTypes.bool,\r\n\r\n\t/**\r\n\t * The country to be selected by default.\r\n\t * For example, can be set after a GeoIP lookup.\r\n\t *\r\n\t * Example: `\"US\"`.\r\n\t */\r\n\t// A two-letter country code (\"ISO 3166-1 alpha-2\").\r\n\tdefaultCountry: PropTypes.string,\r\n\r\n\t/**\r\n\t * If specified, only these countries will be available for selection.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"RU\", \"UA\", \"KZ\"]`\r\n\t */\r\n\tcountries: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * Custom country `` `aria-label`.\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"ZZ\": \"Международный\", RU: \"Россия\", US: \"США\", ... }`\r\n\t *\r\n\t * See the `locales` directory for examples.\r\n\t */\r\n\tlabels: labelsPropType.isRequired,\r\n\r\n\t/**\r\n\t * Country `` options sorting function.\r\n\t * The default one uses `a.localeCompare(b)`, and,\r\n\t * if that's not available, falls back to simple `a > b`/`a < b`.\r\n\t * There have been requests to add custom sorter for cases\r\n\t * like Chinese language and \"pinyin\" (non-default) sorting order.\r\n\t * https://stackoverflow.com/questions/22907288/chinese-sorting-by-pinyin-in-javascript-with-localecompare\r\n\tcompareStrings: PropTypes.func,\r\n\t */\r\n\r\n\t/**\r\n\t * A URL template of a country flag, where\r\n\t * \"{XX}\" is a two-letter country code in upper case,\r\n\t * or where \"{xx}\" is a two-letter country code in lower case.\r\n\t * By default it points to `country-flag-icons` gitlab pages website.\r\n\t * I imagine someone might want to download those country flag icons\r\n\t * and host them on their own servers instead\r\n\t * (all flags are available in the `country-flag-icons` library).\r\n\t * There's a catch though: new countries may be added in future,\r\n\t * so when hosting country flag icons on your own server\r\n\t * one should check the `CHANGELOG.md` every time before updating this library,\r\n\t * otherwise there's a possibility that some new country flag would be missing.\r\n\t */\r\n\tflagUrl: PropTypes.string.isRequired,\r\n\r\n\t/**\r\n\t * Custom country flag icon components.\r\n\t * These flags will be used instead of the default ones.\r\n\t * The the \"Flags\" section of the readme for more info.\r\n\t *\r\n\t * The shape is an object where keys are country codes\r\n\t * and values are flag icon components.\r\n\t * Flag icon components receive the same properties\r\n\t * as `flagComponent` (see below).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `{ \"RU\": (props) => }`\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `import flags from 'country-flag-icons/react/3x2'`\r\n\t *\r\n\t * `import PhoneInput from 'react-phone-number-input'`\r\n\t *\r\n\t * ``\r\n\t */\r\n\tflags: PropTypes.objectOf(PropTypes.elementType),\r\n\r\n\t/**\r\n\t * Country flag icon component.\r\n\t *\r\n\t * Takes properties:\r\n\t *\r\n\t * * `country: string` — The country code.\r\n\t * * `countryName: string` — The country name.\r\n\t * * `flagUrl: string` — The `flagUrl` property (see above).\r\n\t * * `flags: object` — The `flags` property (see above).\r\n\t */\r\n\tflagComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * Set to `false` to remove the \"International\" option from country `` options.\r\n\t *\r\n\t * * `\"XX\"` — inserts an option for \"XX\" country.\r\n\t * * `\"🌐\"` — inserts \"International\" option.\r\n\t * * `\"|\"` — inserts a separator.\r\n\t * * `\"...\"` — inserts options for the rest of the countries (can be omitted, in which case it will be automatically added at the end).\r\n\t *\r\n\t * Example:\r\n\t *\r\n\t * `[\"US\", \"CA\", \"AU\", \"|\", \"...\"]`\r\n\t */\r\n\tcountryOptionsOrder: PropTypes.arrayOf(PropTypes.string),\r\n\r\n\t/**\r\n\t * `` component CSS style object.\r\n\t */\r\n\tstyle: PropTypes.object,\r\n\r\n\t/**\r\n\t * `` component CSS class.\r\n\t */\r\n\tclassName: PropTypes.string,\r\n\r\n\t/**\r\n\t * Country `` component props.\r\n\t * Along with the usual DOM properties such as `aria-label` and `tabIndex`,\r\n\t * some custom properties are supported, such as `arrowComponent` and `unicodeFlags`.\r\n\t */\r\n\tcountrySelectProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `value: string` — The formatted `value`.\r\n\t * * `onChange(event: Event)` — Updates the formatted `value` from `event.target.value`.\r\n\t * * `onFocus()` — Is used to toggle the `--focus` CSS class.\r\n\t * * `onBlur()` — Is used to toggle the `--focus` CSS class.\r\n\t * * Other properties like `type=\"tel\"` or `autoComplete=\"tel\"` that should be passed through to the DOM ``.\r\n\t *\r\n\t * Must also either use `React.forwardRef()` to \"forward\" `ref` to the `` or implement `.focus()` method.\r\n\t */\r\n\tinputComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t *\r\n\t * Receives properties:\r\n\t *\r\n\t * * `style: object` — A component CSS style object.\r\n\t * * `className: string` — Classes to attach to the component, typically changes when component focuses or blurs.\r\n\t */\r\n\tcontainerComponent: PropTypes.elementType.isRequired,\r\n\r\n\t/**\r\n\t * Phone number `` component props.\r\n\t */\r\n\tnumberInputProps: PropTypes.object,\r\n\r\n\t/**\r\n\t * By default, the caret position is being \"intelligently\" managed\r\n\t * while a user inputs a phone number.\r\n\t * This \"smart\" caret behavior can be turned off\r\n\t * by passing `smartCaret={false}` property.\r\n\t * This is just an \"escape hatch\" for any possible caret position issues.\r\n\t */\r\n\t// Is `true` by default.\r\n\tsmartCaret: PropTypes.bool.isRequired,\r\n\r\n\t/**\r\n\t * Set to `true` to force \"international\" phone number format.\r\n\t * Set to `false` to force \"national\" phone number format.\r\n\t * By default it's `undefined` meaning that it doesn't enforce any phone number format.\r\n\t */\r\n\tinternational: PropTypes.bool,\r\n\r\n\t/**\r\n\t * If set to `true`, the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: PropTypes.bool.isRequired,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: PropTypes.bool.isRequired,\r\n\r\n\t/**\r\n\t * `libphonenumber-js` metadata.\r\n\t *\r\n\t * Can be used to pass custom `libphonenumber-js` metadata\r\n\t * to reduce the overall bundle size for those who compile \"custom\" metadata.\r\n\t */\r\n\tmetadata: metadataPropType.isRequired,\r\n\r\n\t/**\r\n\t * Is called every time the selected country changes:\r\n\t * either programmatically or when user selects it manually from the list.\r\n\t */\r\n\t// People have been asking for a way to get the selected country.\r\n\t// @see https://github.com/catamphetamine/react-phone-number-input/issues/128\r\n\t// For some it's just a \"business requirement\".\r\n\t// I guess it's about gathering as much info on the user as a website can\r\n\t// without introducing any addional fields that would complicate the form\r\n\t// therefore reducing \"conversion\" (that's a marketing term).\r\n\t// Assuming that the phone number's country is the user's country\r\n\t// is not 100% correct but in most cases I guess it's valid.\r\n\tonCountryChange: PropTypes.func,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: PropTypes.bool.isRequired\r\n}\r\n\r\nPhoneNumberInput.defaultProps = {\r\n\t/**\r\n\t * Remember (and autofill) the value as a phone number.\r\n\t */\r\n\tautoComplete: 'tel',\r\n\r\n\t/**\r\n\t * Country `` option icon.\r\n\t */\r\n\tinternationalIcon: InternationalIcon,\r\n\r\n\t/**\r\n\t * Phone number `` component.\r\n\t */\r\n\tinputComponent: 'input',\r\n\r\n\t/**\r\n\t * Wrapping `
` component.\r\n\t */\r\n\tcontainerComponent: 'div',\r\n\r\n\t/**\r\n\t * Some users requested a way to reset the component:\r\n\t * both number `` and country ``\r\n\t * and country ``.\r\n\t * It's also not replaced with just resetting `country` on\r\n\t * external `value` reset, because a user could select a country\r\n\t * and then not input any `value`, and so the selected country\r\n\t * would be \"stuck\", if not using this `reset` property.\r\n\t */\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\treset: PropTypes.any,\r\n\r\n\t/**\r\n\t *\r\n\t */\r\n\r\n\t/**\r\n\t * Set to `false` to use \"basic\" caret instead of the \"smart\" one.\r\n\t */\r\n\tsmartCaret: true,\r\n\r\n\t/**\r\n\t * Whether to add the \"International\" option\r\n\t * to the list of countries.\r\n\t */\r\n\taddInternationalOption: true,\r\n\r\n\t/**\r\n\t * If set to `true` the phone number input will get trimmed\r\n\t * if it exceeds the maximum length for the country.\r\n\t */\r\n\tlimitMaxLength: false,\r\n\r\n\t/**\r\n\t * If set to `false`, and `international` is `true`, then\r\n\t * users won't be able to erase the \"country calling part\"\r\n\t * of a phone number in the ``.\r\n\t */\r\n\tcountryCallingCodeEditable: true,\r\n\r\n\t/**\r\n\t * If set to `false`, will not focus the `` component\r\n\t * when the user selects a country from the list of countries.\r\n\t * This can be used to conform to the Web Content Accessibility Guidelines (WCAG).\r\n\t * Quote:\r\n\t * \"On input: Changing the setting of any user interface component\r\n\t * does not automatically cause a change of context unless the user\r\n\t * has been advised of the behaviour before using the component.\"\r\n\t */\r\n\tfocusInputOnCountrySelection: true\r\n}\r\n\r\nexport default PhoneNumberInput\r\n\r\nlet countrySelectOptionsMemo\r\nlet countrySelectOptionsMemoDependencies\r\nfunction useMemoCountrySelectOptions(generator, dependencies) {\r\n\tif (!countrySelectOptionsMemoDependencies ||\r\n\t\t!areEqualArrays(dependencies, countrySelectOptionsMemoDependencies)) {\r\n\t\tcountrySelectOptionsMemo = generator()\r\n\t\tcountrySelectOptionsMemoDependencies = dependencies\r\n\t}\r\n\treturn countrySelectOptionsMemo\r\n}\r\n\r\nfunction areEqualArrays(a, b) {\r\n\tif (a.length !== b.length) {\r\n\t\treturn false\r\n\t}\r\n\tlet i = 0\r\n\twhile (i < a.length) {\r\n\t\tif (a[i] !== b[i]) {\r\n\t\t\treturn false\r\n\t\t}\r\n\t\ti++\r\n\t}\r\n\treturn true\r\n}","import {\r\n\tgetInitialPhoneDigits,\r\n\tgetCountryForPartialE164Number,\r\n\tparsePhoneNumber\r\n} from './phoneInputHelpers'\r\n\r\nimport {\r\n\tisCountrySupportedWithError,\r\n\tgetSupportedCountries\r\n} from './countries'\r\n\r\nexport default function getPhoneInputWithCountryStateUpdateFromNewProps(props, prevProps, state) {\r\n\tconst {\r\n\t\tmetadata,\r\n\t\tcountries,\r\n\t\tdefaultCountry: newDefaultCountry,\r\n\t\tvalue: newValue,\r\n\t\treset: newReset,\r\n\t\tinternational,\r\n\t\t// `displayInitialValueAsLocalNumber` property has been\r\n\t\t// superceded by `initialValueFormat` property.\r\n\t\tdisplayInitialValueAsLocalNumber,\r\n\t\tinitialValueFormat\r\n\t} = props\r\n\r\n\tconst {\r\n\t\tdefaultCountry: prevDefaultCountry,\r\n\t\tvalue: prevValue,\r\n\t\treset: prevReset\r\n\t} = prevProps\r\n\r\n\tconst {\r\n\t\tcountry,\r\n\t\tvalue,\r\n\t\t// If the user has already manually selected a country\r\n\t\t// then don't override that already selected country\r\n\t\t// if the `defaultCountry` property changes.\r\n\t\t// That's what `hasUserSelectedACountry` flag is for.\r\n\t\thasUserSelectedACountry\r\n\t} = state\r\n\r\n\tconst _getInitialPhoneDigits = (parameters) => getInitialPhoneDigits({\r\n\t\t...parameters,\r\n\t\tinternational,\r\n\t\tuseNationalFormat: displayInitialValueAsLocalNumber || initialValueFormat === 'national',\r\n\t\tmetadata\r\n\t})\r\n\r\n\t// Some users requested a way to reset the component\r\n\t// (both number `` and country ``\r\n\t// and country ``.\r\n\t// It's also not replaced with just resetting `country` on\r\n\t// external `value` reset, because a user could select a country\r\n\t// and then not input any `value`, and so the selected country\r\n\t// would be \"stuck\", if not using this `reset` property.\r\n\t// https://github.com/catamphetamine/react-phone-number-input/issues/300\r\n\tif (newReset !== prevReset) {\r\n\t\treturn {\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: undefined,\r\n\t\t\tcountry: newDefaultCountry,\r\n\t\t\thasUserSelectedACountry: undefined\r\n\t\t}\r\n\t}\r\n\r\n\t// `value` is the value currently shown in the component:\r\n\t// it's stored in the component's `state`, and it's not the `value` property.\r\n\t// `prevValue` is \"previous `value` property\".\r\n\t// `newValue` is \"new `value` property\".\r\n\r\n\t// If the default country changed\r\n\t// (e.g. in case of ajax GeoIP detection after page loaded)\r\n\t// then select it, but only if the user hasn't already manually\r\n\t// selected a country, and no phone number has been manually entered so far.\r\n\t// Because if the user has already started inputting a phone number\r\n\t// then they're okay with no country being selected at all (\"International\")\r\n\t// and they don't want to be disturbed, don't want their input to be screwed, etc.\r\n\tif (newDefaultCountry !== prevDefaultCountry) {\r\n\t\tconst isNewDefaultCountrySupported = !newDefaultCountry || isCountrySupportedWithError(newDefaultCountry, metadata)\r\n\t\tconst noValueHasBeenEnteredByTheUser = (\r\n\t\t\t// By default, \"no value has been entered\" means `value` is `undefined`.\r\n\t\t\t!value ||\r\n\t\t\t// When `international` is `true`, and some country has been pre-selected,\r\n\t\t\t// then the `` contains a pre-filled value of `+${countryCallingCode}${leadingDigits}`,\r\n\t\t\t// so in case of `international` being `true`, \"the user hasn't entered anything\" situation\r\n\t\t\t// doesn't just mean `value` is `undefined`, but could also mean `value` is `+${countryCallingCode}`.\r\n\t\t\t(international && value === _getInitialPhoneDigits({\r\n\t\t\t\tvalue: undefined,\r\n\t\t\t\tdefaultCountry: prevDefaultCountry\r\n\t\t\t}))\r\n\t\t)\r\n\t\t// Only update the `defaultCountry` property if no phone number\r\n\t\t// has been entered by the user or pre-set by the application.\r\n\t\tconst noValueHasBeenEntered = !newValue && noValueHasBeenEnteredByTheUser\r\n\t\tif (!hasUserSelectedACountry && isNewDefaultCountrySupported && noValueHasBeenEntered) {\r\n\t\t\treturn {\r\n\t\t\t\tcountry: newDefaultCountry,\r\n\t\t\t\t// If `phoneDigits` is empty, then automatically select the new `country`\r\n\t\t\t\t// and set `phoneDigits` to `+{getCountryCallingCode(newCountry)}`.\r\n\t\t\t\t// The code assumes that \"no phone number has been entered by the user\",\r\n\t\t\t\t// and no `value` property has been passed, so the `phoneNumber` parameter\r\n\t\t\t\t// of `_getInitialPhoneDigits({ value, phoneNumber, ... })` is `undefined`.\r\n\t\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\t\tvalue: undefined,\r\n\t\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t\t}),\r\n\t\t\t\t// `value` is `undefined` and it stays so.\r\n\t\t\t\tvalue: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// If a new `value` is set externally.\r\n\t// (e.g. as a result of an ajax API request\r\n\t// to get user's phone after page loaded)\r\n\t// The first part — `newValue !== prevValue` —\r\n\t// is basically `props.value !== prevProps.value`\r\n\t// so it means \"if value property was changed externally\".\r\n\t// The second part — `newValue !== value` —\r\n\t// is for ignoring the `getDerivedStateFromProps()` call\r\n\t// which happens in `this.onChange()` right after `this.setState()`.\r\n\t// If this `getDerivedStateFromProps()` call isn't ignored\r\n\t// then the country flag would reset on each input.\r\n\tif (newValue !== prevValue && newValue !== value) {\r\n\t\tlet phoneNumber\r\n\t\tlet parsedCountry\r\n\t\tif (newValue) {\r\n\t\t\tphoneNumber = parsePhoneNumber(newValue, metadata)\r\n\t\t\tconst supportedCountries = getSupportedCountries(countries, metadata)\r\n\t\t\tif (phoneNumber && phoneNumber.country) {\r\n\t\t\t\t// Ignore `else` because all countries are supported in metadata.\r\n\t\t\t\t/* istanbul ignore next */\r\n\t\t\t\tif (!supportedCountries || supportedCountries.indexOf(phoneNumber.country) >= 0) {\r\n\t\t\t\t\tparsedCountry = phoneNumber.country\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tparsedCountry = getCountryForPartialE164Number(newValue, {\r\n\t\t\t\t\tcountry: undefined,\r\n\t\t\t\t\tcountries: supportedCountries,\r\n\t\t\t\t\tmetadata\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\tlet hasUserSelectedACountryUpdate\r\n\t\tif (!newValue) {\r\n\t\t\t// Reset `hasUserSelectedACountry` flag in `state`.\r\n\t\t\thasUserSelectedACountryUpdate = {\r\n\t\t\t\thasUserSelectedACountry: undefined\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {\r\n\t\t\t...hasUserSelectedACountryUpdate,\r\n\t\t\tphoneDigits: _getInitialPhoneDigits({\r\n\t\t\t\tphoneNumber,\r\n\t\t\t\tvalue: newValue,\r\n\t\t\t\tdefaultCountry: newDefaultCountry\r\n\t\t\t}),\r\n\t\t\tvalue: newValue,\r\n\t\t\tcountry: newValue ? parsedCountry : newDefaultCountry\r\n\t\t}\r\n\t}\r\n\r\n\t// `defaultCountry` didn't change.\r\n\t// `value` didn't change.\r\n\t// `phoneDigits` didn't change, because `value` didn't change.\r\n\t//\r\n\t// So no need to update state.\r\n}","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nimport labels from '../locale/en.json'\r\n\r\nimport {\r\n\tmetadata as metadataPropType,\r\n\tlabels as labelsPropType\r\n} from './PropTypes'\r\n\r\nimport PhoneInput from './PhoneInputWithCountry'\r\n\r\nexport function createPhoneInput(defaultMetadata) {\r\n\tconst PhoneInputDefault = React.forwardRef((props, ref) => (\r\n\t\t\r\n\t))\r\n\r\n\tPhoneInputDefault.propTypes = {\r\n\t\tmetadata: metadataPropType.isRequired,\r\n\t\tlabels: labelsPropType.isRequired\r\n\t}\r\n\r\n\tPhoneInputDefault.defaultProps = {\r\n\t\tmetadata: defaultMetadata,\r\n\t\tlabels\r\n\t}\r\n\r\n\treturn PhoneInputDefault\r\n}\r\n\r\nexport default createPhoneInput()","import metadata from 'libphonenumber-js/metadata.min.json'\r\n\r\nimport {\r\n\tparsePhoneNumber as _parsePhoneNumber,\r\n\tformatPhoneNumber as _formatPhoneNumber,\r\n\tformatPhoneNumberIntl as _formatPhoneNumberIntl,\r\n\tisValidPhoneNumber as _isValidPhoneNumber,\r\n\tisPossiblePhoneNumber as _isPossiblePhoneNumber,\r\n\tgetCountries as _getCountries,\r\n\tgetCountryCallingCode as _getCountryCallingCode,\r\n\tisSupportedCountry as _isSupportedCountry\r\n} from '../core/index'\r\n\r\nimport { createPhoneInput } from '../modules/PhoneInputWithCountryDefault'\r\n\r\nfunction call(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}\r\n\r\nexport default createPhoneInput(metadata)\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn call(_parsePhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumber() {\r\n\treturn call(_formatPhoneNumber, arguments)\r\n}\r\n\r\nexport function formatPhoneNumberIntl() {\r\n\treturn call(_formatPhoneNumberIntl, arguments)\r\n}\r\n\r\nexport function isValidPhoneNumber() {\r\n\treturn call(_isValidPhoneNumber, arguments)\r\n}\r\n\r\nexport function isPossiblePhoneNumber() {\r\n\treturn call(_isPossiblePhoneNumber, arguments)\r\n}\r\n\r\nexport function getCountries() {\r\n\treturn call(_getCountries, arguments)\r\n}\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn call(_getCountryCallingCode, arguments)\r\n}\r\n\r\nexport function isSupportedCountry() {\r\n\treturn call(_isSupportedCountry, arguments)\r\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"ConfigConsumer\", {\n enumerable: true,\n get: function get() {\n return _context.ConfigConsumer;\n }\n});\nObject.defineProperty(exports, \"ConfigContext\", {\n enumerable: true,\n get: function get() {\n return _context.ConfigContext;\n }\n});\nexports[\"default\"] = exports.globalConfig = exports.defaultPrefixCls = exports.configConsumerProps = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _Context = _interopRequireDefault(require(\"@ant-design/icons/lib/components/Context\"));\n\nvar _rcFieldForm = require(\"rc-field-form\");\n\nvar _useMemo = _interopRequireDefault(require(\"rc-util/lib/hooks/useMemo\"));\n\nvar _localeProvider = _interopRequireWildcard(require(\"../locale-provider\"));\n\nvar _LocaleReceiver = _interopRequireDefault(require(\"../locale-provider/LocaleReceiver\"));\n\nvar _context = require(\"./context\");\n\nvar _SizeContext = _interopRequireWildcard(require(\"./SizeContext\"));\n\nvar _message = _interopRequireDefault(require(\"../message\"));\n\nvar _notification = _interopRequireDefault(require(\"../notification\"));\n\nvar _default2 = _interopRequireDefault(require(\"../locale/default\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader']; // These props is used by `useContext` directly in sub component\n\nexports.configConsumerProps = configConsumerProps;\nvar PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'form'];\nvar defaultPrefixCls = 'ant';\nexports.defaultPrefixCls = defaultPrefixCls;\nvar globalPrefixCls;\n\nvar setGlobalConfig = function setGlobalConfig(params) {\n if (params.prefixCls !== undefined) {\n globalPrefixCls = params.prefixCls;\n }\n};\n\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\n\nvar globalConfig = function globalConfig() {\n return {\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"\".concat(getGlobalPrefixCls(), \"-\").concat(suffixCls) : getGlobalPrefixCls();\n },\n getRootPrefixCls: function getRootPrefixCls(rootPrefixCls, customizePrefixCls) {\n // Customize rootPrefixCls is first priority\n if (rootPrefixCls) {\n return rootPrefixCls;\n } // If Global prefixCls provided, use this\n\n\n if (globalPrefixCls) {\n return globalPrefixCls;\n } // [Legacy] If customize prefixCls provided, we cut it to get the prefixCls\n\n\n if (customizePrefixCls && customizePrefixCls.includes('-')) {\n return customizePrefixCls.replace(/^(.*)-[^-]*$/, '$1');\n } // Fallback to default prefixCls\n\n\n return getGlobalPrefixCls();\n }\n };\n};\n\nexports.globalConfig = globalConfig;\n\nvar ProviderChildren = function ProviderChildren(props) {\n var _a, _b;\n\n var children = props.children,\n csp = props.csp,\n autoInsertSpaceInButton = props.autoInsertSpaceInButton,\n form = props.form,\n locale = props.locale,\n componentSize = props.componentSize,\n direction = props.direction,\n space = props.space,\n virtual = props.virtual,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n legacyLocale = props.legacyLocale,\n parentContext = props.parentContext,\n iconPrefixCls = props.iconPrefixCls;\n var getPrefixCls = React.useCallback(function (suffixCls, customizePrefixCls) {\n var prefixCls = props.prefixCls;\n if (customizePrefixCls) return customizePrefixCls;\n var mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? \"\".concat(mergedPrefixCls, \"-\").concat(suffixCls) : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n var config = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, parentContext), {\n csp: csp,\n autoInsertSpaceInButton: autoInsertSpaceInButton,\n locale: locale || legacyLocale,\n direction: direction,\n space: space,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n getPrefixCls: getPrefixCls\n }); // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n\n PASSED_PROPS.forEach(function (propName) {\n var propValue = props[propName];\n\n if (propValue) {\n config[propName] = propValue;\n }\n }); // https://github.com/ant-design/ant-design/issues/27617\n\n var memoedConfig = (0, _useMemo[\"default\"])(function () {\n return config;\n }, config, function (prevConfig, currentConfig) {\n var prevKeys = Object.keys(prevConfig);\n var currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(function (key) {\n return prevConfig[key] !== currentConfig[key];\n });\n });\n var memoIconContextValue = React.useMemo(function () {\n return {\n prefixCls: iconPrefixCls,\n csp: csp\n };\n }, [iconPrefixCls]);\n var childNode = children; // Additional Form provider\n\n var validateMessages = {};\n\n if (locale) {\n validateMessages = ((_a = locale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || ((_b = _default2[\"default\"].Form) === null || _b === void 0 ? void 0 : _b.defaultValidateMessages) || {};\n }\n\n if (form && form.validateMessages) {\n validateMessages = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, validateMessages), form.validateMessages);\n }\n\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(_rcFieldForm.FormProvider, {\n validateMessages: validateMessages\n }, children);\n }\n\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(_localeProvider[\"default\"], {\n locale: locale,\n _ANT_MARK__: _localeProvider.ANT_MARK\n }, childNode);\n }\n\n if (iconPrefixCls) {\n childNode = /*#__PURE__*/React.createElement(_Context[\"default\"].Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(_SizeContext.SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n\n return /*#__PURE__*/React.createElement(_context.ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\n\nvar ConfigProvider = function ConfigProvider(props) {\n React.useEffect(function () {\n if (props.direction) {\n _message[\"default\"].config({\n rtl: props.direction === 'rtl'\n });\n\n _notification[\"default\"].config({\n rtl: props.direction === 'rtl'\n });\n }\n }, [props.direction]);\n return /*#__PURE__*/React.createElement(_LocaleReceiver[\"default\"], null, function (_, __, legacyLocale) {\n return /*#__PURE__*/React.createElement(_context.ConfigConsumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ProviderChildren, (0, _extends2[\"default\"])({\n parentContext: context,\n legacyLocale: legacyLocale\n }, props));\n });\n });\n};\n/** @private internal Usage. do not use in your production */\n\n\nConfigProvider.ConfigContext = _context.ConfigContext;\nConfigProvider.SizeContext = _SizeContext[\"default\"];\nConfigProvider.config = setGlobalConfig;\nvar _default = ConfigProvider;\nexports[\"default\"] = _default;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","// This icon file is generated automatically.\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexport default LoadingOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport LoadingOutlinedSvg from \"@ant-design/icons-svg/es/asn/LoadingOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: LoadingOutlinedSvg\n }));\n};\n\nLoadingOutlined.displayName = 'LoadingOutlined';\nexport default /*#__PURE__*/React.forwardRef(LoadingOutlined);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport shallowEqual from 'shallowequal';\nexport var MenuContext = /*#__PURE__*/React.createContext(null);\n\nfunction mergeProps(origin, target) {\n var clone = _objectSpread({}, origin);\n\n Object.keys(target).forEach(function (key) {\n var value = target[key];\n\n if (value !== undefined) {\n clone[key] = value;\n }\n });\n return clone;\n}\n\nexport default function InheritableContextProvider(_ref) {\n var children = _ref.children,\n locked = _ref.locked,\n restProps = _objectWithoutProperties(_ref, [\"children\", \"locked\"]);\n\n var context = React.useContext(MenuContext);\n var inheritableContext = useMemo(function () {\n return mergeProps(context, restProps);\n }, [context, restProps], function (prev, next) {\n return !locked && (prev[0] !== next[0] || !shallowEqual(prev[1], next[1]));\n });\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: inheritableContext\n }, children);\n}","import * as React from 'react';\nimport { MenuContext } from '../context/MenuContext';\nexport default function useActive(eventKey, disabled, onMouseEnter, onMouseLeave) {\n var _React$useContext = React.useContext(MenuContext),\n activeKey = _React$useContext.activeKey,\n onActive = _React$useContext.onActive,\n onInactive = _React$useContext.onInactive;\n\n var ret = {\n active: activeKey === eventKey\n }; // Skip when disabled\n\n if (!disabled) {\n ret.onMouseEnter = function (domEvent) {\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n onActive(eventKey);\n };\n\n ret.onMouseLeave = function (domEvent) {\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n onInactive(eventKey);\n };\n }\n\n return ret;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport warning from \"rc-util/es/warning\";\n/**\n * `onClick` event return `info.item` which point to react node directly.\n * We should warning this since it will not work on FC.\n */\n\nexport function warnItemProp(_ref) {\n var item = _ref.item,\n restInfo = _objectWithoutProperties(_ref, [\"item\"]);\n\n Object.defineProperty(restInfo, 'item', {\n get: function get() {\n warning(false, '`info.item` is deprecated since we will move to function component that not provides React Node instance in future.');\n return item;\n }\n });\n return restInfo;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function Icon(_ref) {\n var icon = _ref.icon,\n props = _ref.props,\n children = _ref.children;\n var iconNode;\n\n if (typeof icon === 'function') {\n iconNode = /*#__PURE__*/React.createElement(icon, _objectSpread({}, props));\n } else {\n // Compatible for origin definition\n iconNode = icon;\n }\n\n return iconNode || children || null;\n}","import * as React from 'react';\nimport { MenuContext } from '../context/MenuContext';\nexport default function useDirectionStyle(level) {\n var _React$useContext = React.useContext(MenuContext),\n mode = _React$useContext.mode,\n rtl = _React$useContext.rtl,\n inlineIndent = _React$useContext.inlineIndent;\n\n if (mode !== 'inline') {\n return null;\n }\n\n var len = level;\n return rtl ? {\n paddingRight: len * inlineIndent\n } : {\n paddingLeft: len * inlineIndent\n };\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nvar EmptyList = [];\nexport var PathRegisterContext = /*#__PURE__*/React.createContext(null);\nexport function useMeasure() {\n return React.useContext(PathRegisterContext);\n} // ========================= Path Tracker ==========================\n\nexport var PathTrackerContext = /*#__PURE__*/React.createContext(EmptyList);\nexport function useFullPath(eventKey) {\n var parentKeyPath = React.useContext(PathTrackerContext);\n return React.useMemo(function () {\n return eventKey !== undefined ? [].concat(_toConsumableArray(parentKeyPath), [eventKey]) : parentKeyPath;\n }, [parentKeyPath, eventKey]);\n}\nexport var PathUserContext = /*#__PURE__*/React.createContext(null);","import * as React from 'react';\nexport var IdContext = /*#__PURE__*/React.createContext(null);\nexport function getMenuId(uuid, eventKey) {\n if (uuid === undefined) {\n return null;\n }\n\n return \"\".concat(uuid, \"-\").concat(eventKey);\n}\n/**\n * Get `data-menu-id`\n */\n\nexport function useMenuId(eventKey) {\n var id = React.useContext(IdContext);\n return getMenuId(id, eventKey);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport warning from \"rc-util/es/warning\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport { MenuContext } from './context/MenuContext';\nimport useActive from './hooks/useActive';\nimport { warnItemProp } from './utils/warnUtil';\nimport Icon from './Icon';\nimport useDirectionStyle from './hooks/useDirectionStyle';\nimport { useFullPath, useMeasure } from './context/PathContext';\nimport { useMenuId } from './context/IdContext'; // Since Menu event provide the `info.item` which point to the MenuItem node instance.\n// We have to use class component here.\n// This should be removed from doc & api in future.\n\nvar LegacyMenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(LegacyMenuItem, _React$Component);\n\n var _super = _createSuper(LegacyMenuItem);\n\n function LegacyMenuItem() {\n _classCallCheck(this, LegacyMenuItem);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(LegacyMenuItem, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n title = _this$props.title,\n attribute = _this$props.attribute,\n elementRef = _this$props.elementRef,\n restProps = _objectWithoutProperties(_this$props, [\"title\", \"attribute\", \"elementRef\"]);\n\n var passedProps = omit(restProps, ['eventKey']);\n warning(!attribute, '`attribute` of Menu.Item is deprecated. Please pass attribute directly.');\n return /*#__PURE__*/React.createElement(Overflow.Item, _extends({}, attribute, {\n title: typeof title === 'string' ? title : undefined\n }, passedProps, {\n ref: elementRef\n }));\n }\n }]);\n\n return LegacyMenuItem;\n}(React.Component);\n/**\n * Real Menu Item component\n */\n\n\nvar InternalMenuItem = function InternalMenuItem(props) {\n var _classNames;\n\n var style = props.style,\n className = props.className,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n itemIcon = props.itemIcon,\n children = props.children,\n role = props.role,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onClick = props.onClick,\n onKeyDown = props.onKeyDown,\n onFocus = props.onFocus,\n restProps = _objectWithoutProperties(props, [\"style\", \"className\", \"eventKey\", \"warnKey\", \"disabled\", \"itemIcon\", \"children\", \"role\", \"onMouseEnter\", \"onMouseLeave\", \"onClick\", \"onKeyDown\", \"onFocus\"]);\n\n var domDataId = useMenuId(eventKey);\n\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n onItemClick = _React$useContext.onItemClick,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n contextItemIcon = _React$useContext.itemIcon,\n selectedKeys = _React$useContext.selectedKeys,\n onActive = _React$useContext.onActive;\n\n var itemCls = \"\".concat(prefixCls, \"-item\");\n var legacyMenuItemRef = React.useRef();\n var elementRef = React.useRef();\n var mergedDisabled = contextDisabled || disabled;\n var connectedKeys = useFullPath(eventKey); // ================================ Warn ================================\n\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'MenuItem should not leave undefined `key`.');\n } // ============================= Info =============================\n\n\n var getEventInfo = function getEventInfo(e) {\n return {\n key: eventKey,\n // Note: For legacy code is reversed which not like other antd component\n keyPath: _toConsumableArray(connectedKeys).reverse(),\n item: legacyMenuItemRef.current,\n domEvent: e\n };\n }; // ============================= Icon =============================\n\n\n var mergedItemIcon = itemIcon || contextItemIcon; // ============================ Active ============================\n\n var _useActive = useActive(eventKey, mergedDisabled, onMouseEnter, onMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, [\"active\"]); // ============================ Select ============================\n\n\n var selected = selectedKeys.includes(eventKey); // ======================== DirectionStyle ========================\n\n var directionStyle = useDirectionStyle(connectedKeys.length); // ============================ Events ============================\n\n var onInternalClick = function onInternalClick(e) {\n if (mergedDisabled) {\n return;\n }\n\n var info = getEventInfo(e);\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n };\n\n var onInternalKeyDown = function onInternalKeyDown(e) {\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n\n if (e.which === KeyCode.ENTER) {\n var info = getEventInfo(e); // Legacy. Key will also trigger click event\n\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n }\n };\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n\n\n var onInternalFocus = function onInternalFocus(e) {\n onActive(eventKey);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n }; // ============================ Render ============================\n\n\n var optionRoleProps = {};\n\n if (props.role === 'option') {\n optionRoleProps['aria-selected'] = selected;\n }\n\n return /*#__PURE__*/React.createElement(LegacyMenuItem, _extends({\n ref: legacyMenuItemRef,\n elementRef: elementRef,\n role: role === null ? 'none' : role || 'menuitem',\n tabIndex: disabled ? null : -1,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId\n }, restProps, activeProps, optionRoleProps, {\n component: \"li\",\n \"aria-disabled\": disabled,\n style: _objectSpread(_objectSpread({}, directionStyle), style),\n className: classNames(itemCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(itemCls, \"-active\"), active), _defineProperty(_classNames, \"\".concat(itemCls, \"-selected\"), selected), _defineProperty(_classNames, \"\".concat(itemCls, \"-disabled\"), mergedDisabled), _classNames), className),\n onClick: onInternalClick,\n onKeyDown: onInternalKeyDown,\n onFocus: onInternalFocus\n }), children, /*#__PURE__*/React.createElement(Icon, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n isSelected: selected\n }),\n icon: mergedItemIcon\n }));\n};\n\nfunction MenuItem(props) {\n var eventKey = props.eventKey; // ==================== Record KeyPath ====================\n\n var measure = useMeasure();\n var connectedKeyPath = useFullPath(eventKey); // eslint-disable-next-line consistent-return\n\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n\n if (measure) {\n return null;\n } // ======================== Render ========================\n\n\n return /*#__PURE__*/React.createElement(InternalMenuItem, props);\n}\n\nexport default MenuItem;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nexport function parseChildren(children, keyPath) {\n return toArray(children).map(function (child, index) {\n if ( /*#__PURE__*/React.isValidElement(child)) {\n var _child$props$eventKey, _child$props;\n\n var key = child.key;\n var eventKey = (_child$props$eventKey = (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.eventKey) !== null && _child$props$eventKey !== void 0 ? _child$props$eventKey : key;\n var emptyKey = eventKey === null || eventKey === undefined;\n\n if (emptyKey) {\n eventKey = \"tmp_key-\".concat([].concat(_toConsumableArray(keyPath), [index]).join('-'));\n }\n\n var cloneProps = {\n key: eventKey,\n eventKey: eventKey\n };\n\n if (process.env.NODE_ENV !== 'production' && emptyKey) {\n cloneProps.warnKey = true;\n }\n\n return /*#__PURE__*/React.cloneElement(child, cloneProps);\n }\n\n return child;\n });\n}","import * as React from 'react';\n/**\n * Cache callback function that always return same ref instead.\n * This is used for context optimization.\n */\n\nexport default function useMemoCallback(func) {\n var funRef = React.useRef(func);\n funRef.current = func;\n var callback = React.useCallback(function () {\n var _funRef$current;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (_funRef$current = funRef.current) === null || _funRef$current === void 0 ? void 0 : _funRef$current.call.apply(_funRef$current, [funRef].concat(args));\n }, []);\n return func ? callback : undefined;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from '../context/MenuContext';\n\nvar InternalSubMenuList = function InternalSubMenuList(_ref, ref) {\n var className = _ref.className,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, [\"className\", \"children\"]);\n\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode;\n\n return /*#__PURE__*/React.createElement(\"ul\", _extends({\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-sub\"), \"\".concat(prefixCls, \"-\").concat(mode === 'inline' ? 'inline' : 'vertical'), className)\n }, restProps, {\n \"data-menu-list\": true,\n ref: ref\n }), children);\n};\n\nvar SubMenuList = /*#__PURE__*/React.forwardRef(InternalSubMenuList);\nSubMenuList.displayName = 'SubMenuList';\nexport default SubMenuList;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport var placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport default placements;","export function getMotion(mode, motion, defaultMotions) {\n if (motion) {\n return motion;\n }\n\n if (defaultMotions) {\n return defaultMotions[mode] || defaultMotions.other;\n }\n\n return undefined;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport { MenuContext } from '../context/MenuContext';\nimport { placements, placementsRtl } from '../placements';\nimport { getMotion } from '../utils/motionUtil';\nvar popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\nexport default function PopupTrigger(_ref) {\n var prefixCls = _ref.prefixCls,\n visible = _ref.visible,\n children = _ref.children,\n popup = _ref.popup,\n popupClassName = _ref.popupClassName,\n popupOffset = _ref.popupOffset,\n disabled = _ref.disabled,\n mode = _ref.mode,\n onVisibleChange = _ref.onVisibleChange;\n\n var _React$useContext = React.useContext(MenuContext),\n getPopupContainer = _React$useContext.getPopupContainer,\n rtl = _React$useContext.rtl,\n subMenuOpenDelay = _React$useContext.subMenuOpenDelay,\n subMenuCloseDelay = _React$useContext.subMenuCloseDelay,\n builtinPlacements = _React$useContext.builtinPlacements,\n triggerSubMenuAction = _React$useContext.triggerSubMenuAction,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerVisible = _React$useState2[0],\n setInnerVisible = _React$useState2[1];\n\n var placement = rtl ? _objectSpread(_objectSpread({}, placementsRtl), builtinPlacements) : _objectSpread(_objectSpread({}, placements), builtinPlacements);\n var popupPlacement = popupPlacementMap[mode];\n var targetMotion = getMotion(mode, motion, defaultMotions);\n\n var mergedMotion = _objectSpread(_objectSpread({}, targetMotion), {}, {\n leavedClassName: \"\".concat(prefixCls, \"-hidden\"),\n removeOnLeave: false,\n motionAppear: true\n }); // Delay to change visible\n\n\n var visibleRef = React.useRef();\n React.useEffect(function () {\n visibleRef.current = raf(function () {\n setInnerVisible(visible);\n });\n return function () {\n raf.cancel(visibleRef.current);\n };\n }, [visible]);\n return /*#__PURE__*/React.createElement(Trigger, {\n prefixCls: prefixCls,\n popupClassName: classNames(\"\".concat(prefixCls, \"-popup\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), rtl), popupClassName),\n stretch: mode === 'horizontal' ? 'minWidth' : null,\n getPopupContainer: getPopupContainer,\n builtinPlacements: placement,\n popupPlacement: popupPlacement,\n popupVisible: innerVisible,\n popup: popup,\n popupAlign: popupOffset && {\n offset: popupOffset\n },\n action: disabled ? [] : [triggerSubMenuAction],\n mouseEnterDelay: subMenuOpenDelay,\n mouseLeaveDelay: subMenuCloseDelay,\n onPopupVisibleChange: onVisibleChange,\n forceRender: forceSubMenuRender,\n popupMotion: mergedMotion\n }, children);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from '../utils/motionUtil';\nimport MenuContextProvider, { MenuContext } from '../context/MenuContext';\nimport SubMenuList from './SubMenuList';\nexport default function InlineSubMenuList(_ref) {\n var id = _ref.id,\n open = _ref.open,\n keyPath = _ref.keyPath,\n children = _ref.children;\n var fixedMode = 'inline';\n\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n forceSubMenuRender = _React$useContext.forceSubMenuRender,\n motion = _React$useContext.motion,\n defaultMotions = _React$useContext.defaultMotions,\n mode = _React$useContext.mode; // Always use latest mode check\n\n\n var sameModeRef = React.useRef(false);\n sameModeRef.current = mode === fixedMode; // We record `destroy` mark here since when mode change from `inline` to others.\n // The inline list should remove when motion end.\n\n var _React$useState = React.useState(!sameModeRef.current),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n destroy = _React$useState2[0],\n setDestroy = _React$useState2[1];\n\n var mergedOpen = sameModeRef.current ? open : false; // ================================= Effect =================================\n // Reset destroy state when mode change back\n\n React.useEffect(function () {\n if (sameModeRef.current) {\n setDestroy(false);\n }\n }, [mode]); // ================================= Render =================================\n\n var mergedMotion = _objectSpread({}, getMotion(fixedMode, motion, defaultMotions)); // No need appear since nest inlineCollapse changed\n\n\n if (keyPath.length > 1) {\n mergedMotion.motionAppear = false;\n } // Hide inline list when mode changed and motion end\n\n\n var originOnVisibleChanged = mergedMotion.onVisibleChanged;\n\n mergedMotion.onVisibleChanged = function (newVisible) {\n if (!sameModeRef.current && !newVisible) {\n setDestroy(true);\n }\n\n return originOnVisibleChanged === null || originOnVisibleChanged === void 0 ? void 0 : originOnVisibleChanged(newVisible);\n };\n\n if (destroy) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n mode: fixedMode,\n locked: !sameModeRef.current\n }, /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: mergedOpen\n }, mergedMotion, {\n forceRender: forceSubMenuRender,\n removeOnLeave: false,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }), function (_ref2) {\n var motionClassName = _ref2.className,\n motionStyle = _ref2.style;\n return /*#__PURE__*/React.createElement(SubMenuList, {\n id: id,\n className: motionClassName,\n style: motionStyle\n }, children);\n }));\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Overflow from 'rc-overflow';\nimport warning from \"rc-util/es/warning\";\nimport SubMenuList from './SubMenuList';\nimport { parseChildren } from '../utils/nodeUtil';\nimport MenuContextProvider, { MenuContext } from '../context/MenuContext';\nimport useMemoCallback from '../hooks/useMemoCallback';\nimport PopupTrigger from './PopupTrigger';\nimport Icon from '../Icon';\nimport useActive from '../hooks/useActive';\nimport { warnItemProp } from '../utils/warnUtil';\nimport useDirectionStyle from '../hooks/useDirectionStyle';\nimport InlineSubMenuList from './InlineSubMenuList';\nimport { PathTrackerContext, PathUserContext, useFullPath, useMeasure } from '../context/PathContext';\nimport { useMenuId } from '../context/IdContext';\n\nvar InternalSubMenu = function InternalSubMenu(props) {\n var _classNames;\n\n var style = props.style,\n className = props.className,\n title = props.title,\n eventKey = props.eventKey,\n warnKey = props.warnKey,\n disabled = props.disabled,\n internalPopupClose = props.internalPopupClose,\n children = props.children,\n itemIcon = props.itemIcon,\n expandIcon = props.expandIcon,\n popupClassName = props.popupClassName,\n popupOffset = props.popupOffset,\n onClick = props.onClick,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onTitleClick = props.onTitleClick,\n onTitleMouseEnter = props.onTitleMouseEnter,\n onTitleMouseLeave = props.onTitleMouseLeave,\n restProps = _objectWithoutProperties(props, [\"style\", \"className\", \"title\", \"eventKey\", \"warnKey\", \"disabled\", \"internalPopupClose\", \"children\", \"itemIcon\", \"expandIcon\", \"popupClassName\", \"popupOffset\", \"onClick\", \"onMouseEnter\", \"onMouseLeave\", \"onTitleClick\", \"onTitleMouseEnter\", \"onTitleMouseLeave\"]);\n\n var domDataId = useMenuId(eventKey);\n\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls,\n mode = _React$useContext.mode,\n openKeys = _React$useContext.openKeys,\n contextDisabled = _React$useContext.disabled,\n overflowDisabled = _React$useContext.overflowDisabled,\n activeKey = _React$useContext.activeKey,\n selectedKeys = _React$useContext.selectedKeys,\n contextItemIcon = _React$useContext.itemIcon,\n contextExpandIcon = _React$useContext.expandIcon,\n onItemClick = _React$useContext.onItemClick,\n onOpenChange = _React$useContext.onOpenChange,\n onActive = _React$useContext.onActive;\n\n var _React$useContext2 = React.useContext(PathUserContext),\n isSubPathKey = _React$useContext2.isSubPathKey;\n\n var connectedPath = useFullPath();\n var subMenuPrefixCls = \"\".concat(prefixCls, \"-submenu\");\n var mergedDisabled = contextDisabled || disabled;\n var elementRef = React.useRef();\n var popupRef = React.useRef(); // ================================ Warn ================================\n\n if (process.env.NODE_ENV !== 'production' && warnKey) {\n warning(false, 'SubMenu should not leave undefined `key`.');\n } // ================================ Icon ================================\n\n\n var mergedItemIcon = itemIcon || contextItemIcon;\n var mergedExpandIcon = expandIcon || contextExpandIcon; // ================================ Open ================================\n\n var originOpen = openKeys.includes(eventKey);\n var open = !overflowDisabled && originOpen; // =============================== Select ===============================\n\n var childrenSelected = isSubPathKey(selectedKeys, eventKey); // =============================== Active ===============================\n\n var _useActive = useActive(eventKey, mergedDisabled, onTitleMouseEnter, onTitleMouseLeave),\n active = _useActive.active,\n activeProps = _objectWithoutProperties(_useActive, [\"active\"]); // Fallback of active check to avoid hover on menu title or disabled item\n\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n childrenActive = _React$useState2[0],\n setChildrenActive = _React$useState2[1];\n\n var triggerChildrenActive = function triggerChildrenActive(newActive) {\n if (!mergedDisabled) {\n setChildrenActive(newActive);\n }\n };\n\n var onInternalMouseEnter = function onInternalMouseEnter(domEvent) {\n triggerChildrenActive(true);\n onMouseEnter === null || onMouseEnter === void 0 ? void 0 : onMouseEnter({\n key: eventKey,\n domEvent: domEvent\n });\n };\n\n var onInternalMouseLeave = function onInternalMouseLeave(domEvent) {\n triggerChildrenActive(false);\n onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave({\n key: eventKey,\n domEvent: domEvent\n });\n };\n\n var mergedActive = React.useMemo(function () {\n if (active) {\n return active;\n }\n\n if (mode !== 'inline') {\n return childrenActive || isSubPathKey([activeKey], eventKey);\n }\n\n return false;\n }, [mode, active, activeKey, childrenActive, eventKey, isSubPathKey]); // ========================== DirectionStyle ==========================\n\n var directionStyle = useDirectionStyle(connectedPath.length); // =============================== Events ===============================\n // >>>> Title click\n\n var onInternalTitleClick = function onInternalTitleClick(e) {\n // Skip if disabled\n if (mergedDisabled) {\n return;\n }\n\n onTitleClick === null || onTitleClick === void 0 ? void 0 : onTitleClick({\n key: eventKey,\n domEvent: e\n }); // Trigger open by click when mode is `inline`\n\n if (mode === 'inline') {\n onOpenChange(eventKey, !originOpen);\n }\n }; // >>>> Context for children click\n\n\n var onMergedItemClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n onItemClick(info);\n }); // >>>>> Visible change\n\n var onPopupVisibleChange = function onPopupVisibleChange(newVisible) {\n if (mode !== 'inline') {\n onOpenChange(eventKey, newVisible);\n }\n };\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n\n\n var onInternalFocus = function onInternalFocus() {\n onActive(eventKey);\n }; // =============================== Render ===============================\n\n\n var popupId = domDataId && \"\".concat(domDataId, \"-popup\"); // >>>>> Title\n\n var titleNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"menuitem\",\n style: directionStyle,\n className: \"\".concat(subMenuPrefixCls, \"-title\"),\n tabIndex: mergedDisabled ? null : -1,\n ref: elementRef,\n title: typeof title === 'string' ? title : null,\n \"data-menu-id\": overflowDisabled && domDataId ? null : domDataId,\n \"aria-expanded\": open,\n \"aria-haspopup\": true,\n \"aria-controls\": popupId,\n \"aria-disabled\": mergedDisabled,\n onClick: onInternalTitleClick,\n onFocus: onInternalFocus\n }, activeProps), title, /*#__PURE__*/React.createElement(Icon, {\n icon: mode !== 'horizontal' ? mergedExpandIcon : null,\n props: _objectSpread(_objectSpread({}, props), {}, {\n isOpen: open,\n // [Legacy] Not sure why need this mark\n isSubMenu: true\n })\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"\".concat(subMenuPrefixCls, \"-arrow\")\n }))); // Cache mode if it change to `inline` which do not have popup motion\n\n var triggerModeRef = React.useRef(mode);\n\n if (mode !== 'inline') {\n triggerModeRef.current = connectedPath.length > 1 ? 'vertical' : mode;\n }\n\n if (!overflowDisabled) {\n var triggerMode = triggerModeRef.current; // Still wrap with Trigger here since we need avoid react re-mount dom node\n // Which makes motion failed\n\n titleNode = /*#__PURE__*/React.createElement(PopupTrigger, {\n mode: triggerMode,\n prefixCls: subMenuPrefixCls,\n visible: !internalPopupClose && open && mode !== 'inline',\n popupClassName: popupClassName,\n popupOffset: popupOffset,\n popup: /*#__PURE__*/React.createElement(MenuContextProvider // Special handle of horizontal mode\n , {\n mode: triggerMode === 'horizontal' ? 'vertical' : triggerMode\n }, /*#__PURE__*/React.createElement(SubMenuList, {\n id: popupId,\n ref: popupRef\n }, children)),\n disabled: mergedDisabled,\n onVisibleChange: onPopupVisibleChange\n }, titleNode);\n } // >>>>> Render\n\n\n return /*#__PURE__*/React.createElement(MenuContextProvider, {\n onItemClick: onMergedItemClick,\n mode: mode === 'horizontal' ? 'vertical' : mode,\n itemIcon: mergedItemIcon,\n expandIcon: mergedExpandIcon\n }, /*#__PURE__*/React.createElement(Overflow.Item, _extends({\n role: \"none\"\n }, restProps, {\n component: \"li\",\n style: style,\n className: classNames(subMenuPrefixCls, \"\".concat(subMenuPrefixCls, \"-\").concat(mode), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-open\"), open), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-active\"), mergedActive), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-selected\"), childrenSelected), _defineProperty(_classNames, \"\".concat(subMenuPrefixCls, \"-disabled\"), mergedDisabled), _classNames)),\n onMouseEnter: onInternalMouseEnter,\n onMouseLeave: onInternalMouseLeave\n }), titleNode, !overflowDisabled && /*#__PURE__*/React.createElement(InlineSubMenuList, {\n id: popupId,\n open: open,\n keyPath: connectedPath\n }, children)));\n};\n\nexport default function SubMenu(props) {\n var eventKey = props.eventKey,\n children = props.children;\n var connectedKeyPath = useFullPath(eventKey);\n var childList = parseChildren(children, connectedKeyPath); // ==================== Record KeyPath ====================\n\n var measure = useMeasure(); // eslint-disable-next-line consistent-return\n\n React.useEffect(function () {\n if (measure) {\n measure.registerPath(eventKey, connectedKeyPath);\n return function () {\n measure.unregisterPath(eventKey, connectedKeyPath);\n };\n }\n }, [connectedKeyPath]);\n var renderNode; // ======================== Render ========================\n\n if (measure) {\n renderNode = childList;\n } else {\n renderNode = /*#__PURE__*/React.createElement(InternalSubMenu, props, childList);\n }\n\n return /*#__PURE__*/React.createElement(PathTrackerContext.Provider, {\n value: connectedKeyPath\n }, renderNode);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport isVisible from './isVisible';\n\nfunction focusable(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isVisible(node)) {\n var nodeName = node.nodeName.toLowerCase();\n var isFocusableElement = // Focusable element\n ['input', 'select', 'textarea', 'button'].includes(nodeName) || // Editable element\n node.isContentEditable || nodeName === 'a' && !!node.getAttribute('href'); // Get tabIndex\n\n var tabIndexAttr = node.getAttribute('tabindex');\n var tabIndexNum = Number(tabIndexAttr); // Parse as number if validate\n\n var tabIndex = null;\n\n if (tabIndexAttr && !Number.isNaN(tabIndexNum)) {\n tabIndex = tabIndexNum;\n } else if (isFocusableElement && tabIndex === null) {\n tabIndex = 0;\n } // Block focusable if disabled\n\n\n if (isFocusableElement && node.disabled) {\n tabIndex = null;\n }\n\n return tabIndex !== null && (tabIndex >= 0 || includePositive && tabIndex < 0);\n }\n\n return false;\n}\n\nexport function getFocusNodeList(node) {\n var includePositive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var res = _toConsumableArray(node.querySelectorAll('*')).filter(function (child) {\n return focusable(child, includePositive);\n });\n\n if (focusable(node, includePositive)) {\n res.unshift(node);\n }\n\n return res;\n}\nvar lastFocusElement = null;\n/** @deprecated Do not use since this may failed when used in async */\n\nexport function saveLastFocusNode() {\n lastFocusElement = document.activeElement;\n}\n/** @deprecated Do not use since this may failed when used in async */\n\nexport function clearLastFocusNode() {\n lastFocusElement = null;\n}\n/** @deprecated Do not use since this may failed when used in async */\n\nexport function backLastFocusNode() {\n if (lastFocusElement) {\n try {\n // 元素可能已经被移动了\n lastFocusElement.focus();\n /* eslint-disable no-empty */\n } catch (e) {// empty\n }\n /* eslint-enable no-empty */\n\n }\n}\nexport function limitTabRange(node, e) {\n if (e.keyCode === 9) {\n var tabNodeList = getFocusNodeList(node);\n var lastTabNode = tabNodeList[e.shiftKey ? 0 : tabNodeList.length - 1];\n var leavingTab = lastTabNode === document.activeElement || node === document.activeElement;\n\n if (leavingTab) {\n var target = tabNodeList[e.shiftKey ? tabNodeList.length - 1 : 0];\n target.focus();\n e.preventDefault();\n }\n }\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport raf from \"rc-util/es/raf\";\nimport { getFocusNodeList } from \"rc-util/es/Dom/focus\";\nimport { getMenuId } from '../context/IdContext'; // destruct to reduce minify size\n\nvar LEFT = KeyCode.LEFT,\n RIGHT = KeyCode.RIGHT,\n UP = KeyCode.UP,\n DOWN = KeyCode.DOWN,\n ENTER = KeyCode.ENTER,\n ESC = KeyCode.ESC;\nvar ArrowKeys = [UP, DOWN, LEFT, RIGHT];\n\nfunction getOffset(mode, isRootLevel, isRtl, which) {\n var _inline, _horizontal, _vertical, _offsets$;\n\n var prev = 'prev';\n var next = 'next';\n var children = 'children';\n var parent = 'parent'; // Inline enter is special that we use unique operation\n\n if (mode === 'inline' && which === ENTER) {\n return {\n inlineTrigger: true\n };\n }\n\n var inline = (_inline = {}, _defineProperty(_inline, UP, prev), _defineProperty(_inline, DOWN, next), _inline);\n var horizontal = (_horizontal = {}, _defineProperty(_horizontal, LEFT, isRtl ? next : prev), _defineProperty(_horizontal, RIGHT, isRtl ? prev : next), _defineProperty(_horizontal, DOWN, children), _defineProperty(_horizontal, ENTER, children), _horizontal);\n var vertical = (_vertical = {}, _defineProperty(_vertical, UP, prev), _defineProperty(_vertical, DOWN, next), _defineProperty(_vertical, ENTER, children), _defineProperty(_vertical, ESC, parent), _defineProperty(_vertical, LEFT, isRtl ? children : parent), _defineProperty(_vertical, RIGHT, isRtl ? parent : children), _vertical);\n var offsets = {\n inline: inline,\n horizontal: horizontal,\n vertical: vertical,\n inlineSub: inline,\n horizontalSub: vertical,\n verticalSub: vertical\n };\n var type = (_offsets$ = offsets[\"\".concat(mode).concat(isRootLevel ? '' : 'Sub')]) === null || _offsets$ === void 0 ? void 0 : _offsets$[which];\n\n switch (type) {\n case prev:\n return {\n offset: -1,\n sibling: true\n };\n\n case next:\n return {\n offset: 1,\n sibling: true\n };\n\n case parent:\n return {\n offset: -1,\n sibling: false\n };\n\n case children:\n return {\n offset: 1,\n sibling: false\n };\n\n default:\n return null;\n }\n}\n\nfunction findContainerUL(element) {\n var current = element;\n\n while (current) {\n if (current.getAttribute('data-menu-list')) {\n return current;\n }\n\n current = current.parentElement;\n } // Normally should not reach this line\n\n /* istanbul ignore next */\n\n\n return null;\n}\n/**\n * Find focused element within element set provided\n */\n\n\nfunction getFocusElement(activeElement, elements) {\n var current = activeElement || document.activeElement;\n\n while (current) {\n if (elements.has(current)) {\n return current;\n }\n\n current = current.parentElement;\n }\n\n return null;\n}\n/**\n * Get focusable elements from the element set under provided container\n */\n\n\nfunction getFocusableElements(container, elements) {\n var list = getFocusNodeList(container, true);\n return list.filter(function (ele) {\n return elements.has(ele);\n });\n}\n\nfunction getNextFocusElement(parentQueryContainer, elements, focusMenuElement) {\n var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n\n // Key on the menu item will not get validate parent container\n if (!parentQueryContainer) {\n return null;\n } // List current level menu item elements\n\n\n var sameLevelFocusableMenuElementList = getFocusableElements(parentQueryContainer, elements); // Find next focus index\n\n var count = sameLevelFocusableMenuElementList.length;\n var focusIndex = sameLevelFocusableMenuElementList.findIndex(function (ele) {\n return focusMenuElement === ele;\n });\n\n if (offset < 0) {\n if (focusIndex === -1) {\n focusIndex = count - 1;\n } else {\n focusIndex -= 1;\n }\n } else if (offset > 0) {\n focusIndex += 1;\n }\n\n focusIndex = (focusIndex + count) % count; // Focus menu item\n\n return sameLevelFocusableMenuElementList[focusIndex];\n}\n\nexport default function useAccessibility(mode, activeKey, isRtl, id, containerRef, getKeys, getKeyPath, triggerActiveKey, triggerAccessibilityOpen, originOnKeyDown) {\n var rafRef = React.useRef();\n var activeRef = React.useRef();\n activeRef.current = activeKey;\n\n var cleanRaf = function cleanRaf() {\n raf.cancel(rafRef.current);\n };\n\n React.useEffect(function () {\n return function () {\n cleanRaf();\n };\n }, []);\n return function (e) {\n var which = e.which;\n\n if ([].concat(ArrowKeys, [ENTER, ESC]).includes(which)) {\n // Convert key to elements\n var elements;\n var key2element;\n var element2key; // >>> Wrap as function since we use raf for some case\n\n var refreshElements = function refreshElements() {\n elements = new Set();\n key2element = new Map();\n element2key = new Map();\n var keys = getKeys();\n keys.forEach(function (key) {\n var element = document.querySelector(\"[data-menu-id='\".concat(getMenuId(id, key), \"']\"));\n\n if (element) {\n elements.add(element);\n element2key.set(element, key);\n key2element.set(key, element);\n }\n });\n return elements;\n };\n\n refreshElements(); // First we should find current focused MenuItem/SubMenu element\n\n var activeElement = key2element.get(activeKey);\n var focusMenuElement = getFocusElement(activeElement, elements);\n var focusMenuKey = element2key.get(focusMenuElement);\n var offsetObj = getOffset(mode, getKeyPath(focusMenuKey, true).length === 1, isRtl, which); // Some mode do not have fully arrow operation like inline\n\n if (!offsetObj) {\n return;\n } // Arrow prevent default to avoid page scroll\n\n\n if (ArrowKeys.includes(which)) {\n e.preventDefault();\n }\n\n var tryFocus = function tryFocus(menuElement) {\n if (menuElement) {\n var focusTargetElement = menuElement; // Focus to link instead of menu item if possible\n\n var link = menuElement.querySelector('a');\n\n if (link === null || link === void 0 ? void 0 : link.getAttribute('href')) {\n focusTargetElement = link;\n }\n\n var targetKey = element2key.get(menuElement);\n triggerActiveKey(targetKey);\n /**\n * Do not `useEffect` here since `tryFocus` may trigger async\n * which makes React sync update the `activeKey`\n * that force render before `useRef` set the next activeKey\n */\n\n cleanRaf();\n rafRef.current = raf(function () {\n if (activeRef.current === targetKey) {\n focusTargetElement.focus();\n }\n });\n }\n };\n\n if (offsetObj.sibling || !focusMenuElement) {\n // ========================== Sibling ==========================\n // Find walkable focus menu element container\n var parentQueryContainer;\n\n if (!focusMenuElement || mode === 'inline') {\n parentQueryContainer = containerRef.current;\n } else {\n parentQueryContainer = findContainerUL(focusMenuElement);\n } // Get next focus element\n\n\n var targetElement = getNextFocusElement(parentQueryContainer, elements, focusMenuElement, offsetObj.offset); // Focus menu item\n\n tryFocus(targetElement); // ======================= InlineTrigger =======================\n } else if (offsetObj.inlineTrigger) {\n // Inline trigger no need switch to sub menu item\n triggerAccessibilityOpen(focusMenuKey); // =========================== Level ===========================\n } else if (offsetObj.offset > 0) {\n triggerAccessibilityOpen(focusMenuKey, true);\n cleanRaf();\n rafRef.current = raf(function () {\n // Async should resync elements\n refreshElements();\n var controlId = focusMenuElement.getAttribute('aria-controls');\n var subQueryContainer = document.getElementById(controlId); // Get sub focusable menu item\n\n var targetElement = getNextFocusElement(subQueryContainer, elements); // Focus menu item\n\n tryFocus(targetElement);\n }, 5);\n } else if (offsetObj.offset < 0) {\n var keyPath = getKeyPath(focusMenuKey, true);\n var parentKey = keyPath[keyPath.length - 2];\n var parentMenuElement = key2element.get(parentKey); // Focus menu item\n\n triggerAccessibilityOpen(parentKey, false);\n tryFocus(parentMenuElement);\n }\n } // Pass origin key down event\n\n\n originOnKeyDown === null || originOnKeyDown === void 0 ? void 0 : originOnKeyDown(e);\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nvar uniquePrefix = Math.random().toFixed(5).toString().slice(2);\nvar internalId = 0;\nexport default function useUUID(id) {\n var _useMergedState = useMergedState(id, {\n value: id\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n uuid = _useMergedState2[0],\n setUUID = _useMergedState2[1];\n\n React.useEffect(function () {\n internalId += 1;\n var newId = process.env.NODE_ENV === 'test' ? 'test' : \"\".concat(uniquePrefix, \"-\").concat(internalId);\n setUUID(\"rc-menu-uuid-\".concat(newId));\n }, []);\n return uuid;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useCallback } from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { nextSlice } from '../utils/timeUtil';\nvar PATH_SPLIT = '__RC_UTIL_PATH_SPLIT__';\n\nvar getPathStr = function getPathStr(keyPath) {\n return keyPath.join(PATH_SPLIT);\n};\n\nvar getPathKeys = function getPathKeys(keyPathStr) {\n return keyPathStr.split(PATH_SPLIT);\n};\n\nexport var OVERFLOW_KEY = 'rc-menu-more';\nexport default function useKeyRecords() {\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n internalForceUpdate = _React$useState2[1];\n\n var key2pathRef = useRef(new Map());\n var path2keyRef = useRef(new Map());\n\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n overflowKeys = _React$useState4[0],\n setOverflowKeys = _React$useState4[1];\n\n var updateRef = useRef(0);\n var destroyRef = useRef(false);\n\n var forceUpdate = function forceUpdate() {\n if (!destroyRef.current) {\n internalForceUpdate({});\n }\n };\n\n var registerPath = useCallback(function (key, keyPath) {\n // Warning for invalidate or duplicated `key`\n if (process.env.NODE_ENV !== 'production') {\n warning(!key2pathRef.current.has(key), \"Duplicated key '\".concat(key, \"' used in Menu by path [\").concat(keyPath.join(' > '), \"]\"));\n } // Fill map\n\n\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.set(connectedPath, key);\n key2pathRef.current.set(key, connectedPath);\n updateRef.current += 1;\n var id = updateRef.current;\n nextSlice(function () {\n if (id === updateRef.current) {\n forceUpdate();\n }\n });\n }, []);\n var unregisterPath = useCallback(function (key, keyPath) {\n var connectedPath = getPathStr(keyPath);\n path2keyRef.current.delete(connectedPath);\n key2pathRef.current.delete(key);\n }, []);\n var refreshOverflowKeys = useCallback(function (keys) {\n setOverflowKeys(keys);\n }, []);\n var getKeyPath = useCallback(function (eventKey, includeOverflow) {\n var fullPath = key2pathRef.current.get(eventKey) || '';\n var keys = getPathKeys(fullPath);\n\n if (includeOverflow && overflowKeys.includes(keys[0])) {\n keys.unshift(OVERFLOW_KEY);\n }\n\n return keys;\n }, [overflowKeys]);\n var isSubPathKey = useCallback(function (pathKeys, eventKey) {\n return pathKeys.some(function (pathKey) {\n var pathKeyList = getKeyPath(pathKey, true);\n return pathKeyList.includes(eventKey);\n });\n }, [getKeyPath]);\n\n var getKeys = function getKeys() {\n var keys = _toConsumableArray(key2pathRef.current.keys());\n\n if (overflowKeys.length) {\n keys.push(OVERFLOW_KEY);\n }\n\n return keys;\n };\n /**\n * Find current key related child path keys\n */\n\n\n var getSubPathKeys = useCallback(function (key) {\n var connectedPath = \"\".concat(key2pathRef.current.get(key)).concat(PATH_SPLIT);\n var pathKeys = new Set();\n\n _toConsumableArray(path2keyRef.current.keys()).forEach(function (pathKey) {\n if (pathKey.startsWith(connectedPath)) {\n pathKeys.add(path2keyRef.current.get(pathKey));\n }\n });\n\n return pathKeys;\n }, []);\n React.useEffect(function () {\n return function () {\n destroyRef.current = true;\n };\n }, []);\n return {\n // Register\n registerPath: registerPath,\n unregisterPath: unregisterPath,\n refreshOverflowKeys: refreshOverflowKeys,\n // Util\n isSubPathKey: isSubPathKey,\n getKeyPath: getKeyPath,\n getKeys: getKeys,\n getSubPathKeys: getSubPathKeys\n };\n}","export function nextSlice(callback) {\n /* istanbul ignore next */\n Promise.resolve().then(callback);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport shallowEqual from 'shallowequal';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport Overflow from 'rc-overflow';\nimport MenuItem from './MenuItem';\nimport { parseChildren } from './utils/nodeUtil';\nimport MenuContextProvider from './context/MenuContext';\nimport useMemoCallback from './hooks/useMemoCallback';\nimport { warnItemProp } from './utils/warnUtil';\nimport SubMenu from './SubMenu';\nimport useAccessibility from './hooks/useAccessibility';\nimport useUUID from './hooks/useUUID';\nimport { PathRegisterContext, PathUserContext } from './context/PathContext';\nimport useKeyRecords, { OVERFLOW_KEY } from './hooks/useKeyRecords';\nimport { IdContext } from './context/IdContext';\n/**\n * Menu modify after refactor:\n * ## Add\n * - disabled\n *\n * ## Remove\n * - openTransitionName\n * - openAnimation\n * - onDestroy\n * - siderCollapsed: Seems antd do not use this prop (Need test in antd)\n * - collapsedWidth: Seems this logic should be handle by antd Layout.Sider\n */\n// optimize for render\n\nvar EMPTY_LIST = [];\n\nvar Menu = function Menu(props) {\n var _childList$, _classNames;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-menu' : _props$prefixCls,\n style = props.style,\n className = props.className,\n _props$tabIndex = props.tabIndex,\n tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,\n children = props.children,\n direction = props.direction,\n id = props.id,\n _props$mode = props.mode,\n mode = _props$mode === void 0 ? 'vertical' : _props$mode,\n inlineCollapsed = props.inlineCollapsed,\n disabled = props.disabled,\n disabledOverflow = props.disabledOverflow,\n _props$subMenuOpenDel = props.subMenuOpenDelay,\n subMenuOpenDelay = _props$subMenuOpenDel === void 0 ? 0.1 : _props$subMenuOpenDel,\n _props$subMenuCloseDe = props.subMenuCloseDelay,\n subMenuCloseDelay = _props$subMenuCloseDe === void 0 ? 0.1 : _props$subMenuCloseDe,\n forceSubMenuRender = props.forceSubMenuRender,\n defaultOpenKeys = props.defaultOpenKeys,\n openKeys = props.openKeys,\n activeKey = props.activeKey,\n defaultActiveFirst = props.defaultActiveFirst,\n _props$selectable = props.selectable,\n selectable = _props$selectable === void 0 ? true : _props$selectable,\n _props$multiple = props.multiple,\n multiple = _props$multiple === void 0 ? false : _props$multiple,\n defaultSelectedKeys = props.defaultSelectedKeys,\n selectedKeys = props.selectedKeys,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n _props$inlineIndent = props.inlineIndent,\n inlineIndent = _props$inlineIndent === void 0 ? 24 : _props$inlineIndent,\n motion = props.motion,\n defaultMotions = props.defaultMotions,\n _props$triggerSubMenu = props.triggerSubMenuAction,\n triggerSubMenuAction = _props$triggerSubMenu === void 0 ? 'hover' : _props$triggerSubMenu,\n builtinPlacements = props.builtinPlacements,\n itemIcon = props.itemIcon,\n expandIcon = props.expandIcon,\n _props$overflowedIndi = props.overflowedIndicator,\n overflowedIndicator = _props$overflowedIndi === void 0 ? '...' : _props$overflowedIndi,\n overflowedIndicatorPopupClassName = props.overflowedIndicatorPopupClassName,\n getPopupContainer = props.getPopupContainer,\n onClick = props.onClick,\n onOpenChange = props.onOpenChange,\n onKeyDown = props.onKeyDown,\n openAnimation = props.openAnimation,\n openTransitionName = props.openTransitionName,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"style\", \"className\", \"tabIndex\", \"children\", \"direction\", \"id\", \"mode\", \"inlineCollapsed\", \"disabled\", \"disabledOverflow\", \"subMenuOpenDelay\", \"subMenuCloseDelay\", \"forceSubMenuRender\", \"defaultOpenKeys\", \"openKeys\", \"activeKey\", \"defaultActiveFirst\", \"selectable\", \"multiple\", \"defaultSelectedKeys\", \"selectedKeys\", \"onSelect\", \"onDeselect\", \"inlineIndent\", \"motion\", \"defaultMotions\", \"triggerSubMenuAction\", \"builtinPlacements\", \"itemIcon\", \"expandIcon\", \"overflowedIndicator\", \"overflowedIndicatorPopupClassName\", \"getPopupContainer\", \"onClick\", \"onOpenChange\", \"onKeyDown\", \"openAnimation\", \"openTransitionName\"]);\n\n var childList = parseChildren(children, EMPTY_LIST);\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mounted = _React$useState2[0],\n setMounted = _React$useState2[1];\n\n var containerRef = React.useRef();\n var uuid = useUUID(id);\n var isRtl = direction === 'rtl'; // ========================= Warn =========================\n\n if (process.env.NODE_ENV !== 'production') {\n warning(!openAnimation && !openTransitionName, '`openAnimation` and `openTransitionName` is removed. Please use `motion` or `defaultMotion` instead.');\n } // ========================= Mode =========================\n\n\n var _React$useMemo = React.useMemo(function () {\n if ((mode === 'inline' || mode === 'vertical') && inlineCollapsed) {\n return ['vertical', inlineCollapsed];\n }\n\n return [mode, false];\n }, [mode, inlineCollapsed]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n mergedMode = _React$useMemo2[0],\n mergedInlineCollapsed = _React$useMemo2[1]; // ====================== Responsive ======================\n\n\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n lastVisibleIndex = _React$useState4[0],\n setLastVisibleIndex = _React$useState4[1];\n\n var allVisible = lastVisibleIndex >= childList.length - 1 || mergedMode !== 'horizontal' || disabledOverflow; // ========================= Open =========================\n\n var _useMergedState = useMergedState(defaultOpenKeys, {\n value: openKeys,\n postState: function postState(keys) {\n return keys || EMPTY_LIST;\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedOpenKeys = _useMergedState2[0],\n setMergedOpenKeys = _useMergedState2[1];\n\n var triggerOpenKeys = function triggerOpenKeys(keys) {\n setMergedOpenKeys(keys);\n onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(keys);\n }; // >>>>> Cache & Reset open keys when inlineCollapsed changed\n\n\n var _React$useState5 = React.useState(mergedOpenKeys),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n inlineCacheOpenKeys = _React$useState6[0],\n setInlineCacheOpenKeys = _React$useState6[1];\n\n var isInlineMode = mergedMode === 'inline';\n var mountRef = React.useRef(false); // Cache\n\n React.useEffect(function () {\n if (isInlineMode) {\n setInlineCacheOpenKeys(mergedOpenKeys);\n }\n }, [mergedOpenKeys]); // Restore\n\n React.useEffect(function () {\n if (!mountRef.current) {\n mountRef.current = true;\n return;\n }\n\n if (isInlineMode) {\n setMergedOpenKeys(inlineCacheOpenKeys);\n } else {\n // Trigger open event in case its in control\n triggerOpenKeys(EMPTY_LIST);\n }\n }, [isInlineMode]); // ========================= Path =========================\n\n var _useKeyRecords = useKeyRecords(),\n registerPath = _useKeyRecords.registerPath,\n unregisterPath = _useKeyRecords.unregisterPath,\n refreshOverflowKeys = _useKeyRecords.refreshOverflowKeys,\n isSubPathKey = _useKeyRecords.isSubPathKey,\n getKeyPath = _useKeyRecords.getKeyPath,\n getKeys = _useKeyRecords.getKeys,\n getSubPathKeys = _useKeyRecords.getSubPathKeys;\n\n var registerPathContext = React.useMemo(function () {\n return {\n registerPath: registerPath,\n unregisterPath: unregisterPath\n };\n }, [registerPath, unregisterPath]);\n var pathUserContext = React.useMemo(function () {\n return {\n isSubPathKey: isSubPathKey\n };\n }, [isSubPathKey]);\n React.useEffect(function () {\n refreshOverflowKeys(allVisible ? EMPTY_LIST : childList.slice(lastVisibleIndex + 1).map(function (child) {\n return child.key;\n }));\n }, [lastVisibleIndex, allVisible]); // ======================== Active ========================\n\n var _useMergedState3 = useMergedState(activeKey || defaultActiveFirst && ((_childList$ = childList[0]) === null || _childList$ === void 0 ? void 0 : _childList$.key), {\n value: activeKey\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n mergedActiveKey = _useMergedState4[0],\n setMergedActiveKey = _useMergedState4[1];\n\n var onActive = useMemoCallback(function (key) {\n setMergedActiveKey(key);\n });\n var onInactive = useMemoCallback(function () {\n setMergedActiveKey(undefined);\n }); // ======================== Select ========================\n // >>>>> Select keys\n\n var _useMergedState5 = useMergedState(defaultSelectedKeys || [], {\n value: selectedKeys,\n // Legacy convert key to array\n postState: function postState(keys) {\n if (Array.isArray(keys)) {\n return keys;\n }\n\n if (keys === null || keys === undefined) {\n return EMPTY_LIST;\n }\n\n return [keys];\n }\n }),\n _useMergedState6 = _slicedToArray(_useMergedState5, 2),\n mergedSelectKeys = _useMergedState6[0],\n setMergedSelectKeys = _useMergedState6[1]; // >>>>> Trigger select\n\n\n var triggerSelection = function triggerSelection(info) {\n if (selectable) {\n // Insert or Remove\n var targetKey = info.key;\n var exist = mergedSelectKeys.includes(targetKey);\n var newSelectKeys;\n\n if (multiple) {\n if (exist) {\n newSelectKeys = mergedSelectKeys.filter(function (key) {\n return key !== targetKey;\n });\n } else {\n newSelectKeys = [].concat(_toConsumableArray(mergedSelectKeys), [targetKey]);\n }\n } else {\n newSelectKeys = [targetKey];\n }\n\n setMergedSelectKeys(newSelectKeys); // Trigger event\n\n var selectInfo = _objectSpread(_objectSpread({}, info), {}, {\n selectedKeys: newSelectKeys\n });\n\n if (exist) {\n onDeselect === null || onDeselect === void 0 ? void 0 : onDeselect(selectInfo);\n } else {\n onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectInfo);\n }\n } // Whatever selectable, always close it\n\n\n if (!multiple && mergedOpenKeys.length && mergedMode !== 'inline') {\n triggerOpenKeys(EMPTY_LIST);\n }\n }; // ========================= Open =========================\n\n /**\n * Click for item. SubMenu do not have selection status\n */\n\n\n var onInternalClick = useMemoCallback(function (info) {\n onClick === null || onClick === void 0 ? void 0 : onClick(warnItemProp(info));\n triggerSelection(info);\n });\n var onInternalOpenChange = useMemoCallback(function (key, open) {\n var newOpenKeys = mergedOpenKeys.filter(function (k) {\n return k !== key;\n });\n\n if (open) {\n newOpenKeys.push(key);\n } else if (mergedMode !== 'inline') {\n // We need find all related popup to close\n var subPathKeys = getSubPathKeys(key);\n newOpenKeys = newOpenKeys.filter(function (k) {\n return !subPathKeys.has(k);\n });\n }\n\n if (!shallowEqual(mergedOpenKeys, newOpenKeys)) {\n triggerOpenKeys(newOpenKeys);\n }\n });\n var getInternalPopupContainer = useMemoCallback(getPopupContainer); // ==================== Accessibility =====================\n\n var triggerAccessibilityOpen = function triggerAccessibilityOpen(key, open) {\n var nextOpen = open !== null && open !== void 0 ? open : !mergedOpenKeys.includes(key);\n onInternalOpenChange(key, nextOpen);\n };\n\n var onInternalKeyDown = useAccessibility(mergedMode, mergedActiveKey, isRtl, uuid, containerRef, getKeys, getKeyPath, setMergedActiveKey, triggerAccessibilityOpen, onKeyDown); // ======================== Effect ========================\n\n React.useEffect(function () {\n setMounted(true);\n }, []); // ======================== Render ========================\n // >>>>> Children\n\n var wrappedChildList = mergedMode !== 'horizontal' || disabledOverflow ? childList : // Need wrap for overflow dropdown that do not response for open\n childList.map(function (child, index) {\n return (\n /*#__PURE__*/\n // Always wrap provider to avoid sub node re-mount\n React.createElement(MenuContextProvider, {\n key: child.key,\n overflowDisabled: index > lastVisibleIndex\n }, child)\n );\n }); // >>>>> Container\n\n var container = /*#__PURE__*/React.createElement(Overflow, _extends({\n id: id,\n ref: containerRef,\n prefixCls: \"\".concat(prefixCls, \"-overflow\"),\n component: \"ul\",\n itemComponent: MenuItem,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-root\"), \"\".concat(prefixCls, \"-\").concat(mergedMode), className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-inline-collapsed\"), mergedInlineCollapsed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), isRtl), _classNames)),\n dir: direction,\n style: style,\n role: \"menu\",\n tabIndex: tabIndex,\n data: wrappedChildList,\n renderRawItem: function renderRawItem(node) {\n return node;\n },\n renderRawRest: function renderRawRest(omitItems) {\n // We use origin list since wrapped list use context to prevent open\n var len = omitItems.length;\n var originOmitItems = len ? childList.slice(-len) : null;\n return /*#__PURE__*/React.createElement(SubMenu, {\n eventKey: OVERFLOW_KEY,\n title: overflowedIndicator,\n disabled: allVisible,\n internalPopupClose: len === 0,\n popupClassName: overflowedIndicatorPopupClassName\n }, originOmitItems);\n },\n maxCount: mergedMode !== 'horizontal' || disabledOverflow ? Overflow.INVALIDATE : Overflow.RESPONSIVE,\n ssr: \"full\",\n \"data-menu-list\": true,\n onVisibleChange: function onVisibleChange(newLastIndex) {\n setLastVisibleIndex(newLastIndex);\n },\n onKeyDown: onInternalKeyDown\n }, restProps)); // >>>>> Render\n\n return /*#__PURE__*/React.createElement(IdContext.Provider, {\n value: uuid\n }, /*#__PURE__*/React.createElement(MenuContextProvider, {\n prefixCls: prefixCls,\n mode: mergedMode,\n openKeys: mergedOpenKeys,\n rtl: isRtl // Disabled\n ,\n disabled: disabled // Motion\n ,\n motion: mounted ? motion : null,\n defaultMotions: mounted ? defaultMotions : null // Active\n ,\n activeKey: mergedActiveKey,\n onActive: onActive,\n onInactive: onInactive // Selection\n ,\n selectedKeys: mergedSelectKeys // Level\n ,\n inlineIndent: inlineIndent // Popup\n ,\n subMenuOpenDelay: subMenuOpenDelay,\n subMenuCloseDelay: subMenuCloseDelay,\n forceSubMenuRender: forceSubMenuRender,\n builtinPlacements: builtinPlacements,\n triggerSubMenuAction: triggerSubMenuAction,\n getPopupContainer: getInternalPopupContainer // Icon\n ,\n itemIcon: itemIcon,\n expandIcon: expandIcon // Events\n ,\n onItemClick: onInternalClick,\n onOpenChange: onInternalOpenChange\n }, /*#__PURE__*/React.createElement(PathUserContext.Provider, {\n value: pathUserContext\n }, container), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'none'\n },\n \"aria-hidden\": true\n }, /*#__PURE__*/React.createElement(PathRegisterContext.Provider, {\n value: registerPathContext\n }, childList))));\n};\n\nexport default Menu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { parseChildren } from './utils/nodeUtil';\nimport { MenuContext } from './context/MenuContext';\nimport { useFullPath, useMeasure } from './context/PathContext';\n\nvar InternalMenuItemGroup = function InternalMenuItemGroup(_ref) {\n var className = _ref.className,\n title = _ref.title,\n eventKey = _ref.eventKey,\n children = _ref.children,\n restProps = _objectWithoutProperties(_ref, [\"className\", \"title\", \"eventKey\", \"children\"]);\n\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n\n var groupPrefixCls = \"\".concat(prefixCls, \"-item-group\");\n return /*#__PURE__*/React.createElement(\"li\", _extends({}, restProps, {\n onClick: function onClick(e) {\n return e.stopPropagation();\n },\n className: classNames(groupPrefixCls, className)\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(groupPrefixCls, \"-title\"),\n title: typeof title === 'string' ? title : undefined\n }, title), /*#__PURE__*/React.createElement(\"ul\", {\n className: \"\".concat(groupPrefixCls, \"-list\")\n }, children));\n};\n\nexport default function MenuItemGroup(_ref2) {\n var children = _ref2.children,\n props = _objectWithoutProperties(_ref2, [\"children\"]);\n\n var connectedKeyPath = useFullPath(props.eventKey);\n var childList = parseChildren(children, connectedKeyPath);\n var measure = useMeasure();\n\n if (measure) {\n return childList;\n }\n\n return /*#__PURE__*/React.createElement(InternalMenuItemGroup, omit(props, ['warnKey']), childList);\n}","import * as React from 'react';\nimport classNames from 'classnames';\nimport { MenuContext } from './context/MenuContext';\nimport { useMeasure } from './context/PathContext';\nexport default function Divider(_ref) {\n var className = _ref.className,\n style = _ref.style;\n\n var _React$useContext = React.useContext(MenuContext),\n prefixCls = _React$useContext.prefixCls;\n\n var measure = useMeasure();\n\n if (measure) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(\"li\", {\n className: classNames(\"\".concat(prefixCls, \"-item-divider\"), className),\n style: style\n });\n}","import Menu from './Menu';\nimport MenuItem from './MenuItem';\nimport SubMenu from './SubMenu';\nimport MenuItemGroup from './MenuItemGroup';\nimport { useFullPath as useOriginFullPath } from './context/PathContext';\nimport Divider from './Divider';\n/** @private Only used for antd internal. Do not use in your production. */\n\nvar useFullPath = useOriginFullPath;\nexport { SubMenu, MenuItem as Item, MenuItem, MenuItemGroup, MenuItemGroup as ItemGroup, Divider, useFullPath };\nvar ExportMenu = Menu;\nExportMenu.Item = MenuItem;\nExportMenu.SubMenu = SubMenu;\nExportMenu.ItemGroup = MenuItemGroup;\nExportMenu.Divider = Divider;\nexport default ExportMenu;","export interface IVendorSettings {\n isWebkit?: boolean;\n isMoz?: boolean;\n isMs?: boolean;\n isOpera?: boolean;\n}\n\nlet _vendorSettings: IVendorSettings | undefined;\n\nexport function getVendorSettings(): IVendorSettings {\n if (!_vendorSettings) {\n const doc = typeof document !== 'undefined' ? document : undefined;\n const nav = typeof navigator !== 'undefined' ? navigator : undefined;\n const userAgent = nav ? nav.userAgent.toLowerCase() : undefined;\n\n if (!doc) {\n _vendorSettings = {\n isWebkit: true,\n isMoz: true,\n isOpera: true,\n isMs: true,\n };\n } else {\n _vendorSettings = {\n isWebkit: !!(doc && 'WebkitAppearance' in doc.documentElement.style),\n isMoz: !!(userAgent && userAgent.indexOf('firefox') > -1),\n isOpera: !!(userAgent && userAgent.indexOf('opera') > -1),\n isMs: !!(nav && (/rv:11.0/i.test(nav.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent))),\n };\n }\n }\n\n return _vendorSettings;\n}\n\n/**\n * Sets the vendor settings for prefixing and vendor specific operations.\n */\nexport function setVendorSettings(vendorSettings?: IVendorSettings): void {\n _vendorSettings = vendorSettings;\n}\n","const rules: { [key: string]: string } = {};\n\nexport function kebabRules(rulePairs: (string | number)[], index: number): void {\n const rule: string = rulePairs[index] as string;\n\n if (rule.charAt(0) !== '-') {\n rulePairs[index] = rules[rule] = rules[rule] || rule.replace(/([A-Z])/g, '-$1').toLowerCase();\n }\n}\n","import { getVendorSettings } from '../getVendorSettings';\n\nconst autoPrefixNames: { [key: string]: number } = {\n 'user-select': 1,\n};\n\nexport function prefixRules(rulePairs: (string | number)[], index: number): void {\n const vendorSettings = getVendorSettings();\n\n const name = rulePairs[index];\n\n if (autoPrefixNames[name]) {\n const value = rulePairs[index + 1];\n\n if (autoPrefixNames[name]) {\n if (vendorSettings.isWebkit) {\n rulePairs.push('-webkit-' + name, value);\n }\n if (vendorSettings.isMoz) {\n rulePairs.push('-moz-' + name, value);\n }\n if (vendorSettings.isMs) {\n rulePairs.push('-ms-' + name, value);\n }\n if (vendorSettings.isOpera) {\n rulePairs.push('-o-' + name, value);\n }\n }\n }\n}\n","const NON_PIXEL_NUMBER_PROPS = [\n 'column-count',\n 'font-weight',\n 'flex',\n 'flex-grow',\n 'flex-shrink',\n 'fill-opacity',\n 'opacity',\n 'order',\n 'z-index',\n 'zoom',\n];\n\nexport function provideUnits(rulePairs: (string | number)[], index: number): void {\n const name = rulePairs[index] as string;\n const value = rulePairs[index + 1];\n\n if (typeof value === 'number') {\n const isNonPixelProp = NON_PIXEL_NUMBER_PROPS.indexOf(name as string) > -1;\n const isVariableOrPrefixed = name.indexOf('--') > -1;\n const unit = isNonPixelProp || isVariableOrPrefixed ? '' : 'px';\n\n rulePairs[index + 1] = `${value}${unit}`;\n }\n}\n","import { IStyleOptions } from '../IStyleOptions';\n\nconst LEFT = 'left';\nconst RIGHT = 'right';\nconst NO_FLIP = '@noflip';\nconst NAME_REPLACEMENTS: { [key: string]: string } = {\n [LEFT]: RIGHT,\n [RIGHT]: LEFT,\n};\nconst VALUE_REPLACEMENTS: { [key: string]: string } = {\n 'w-resize': 'e-resize',\n 'sw-resize': 'se-resize',\n 'nw-resize': 'ne-resize',\n};\n\n/**\n * RTLifies the rulePair in the array at the current index. This mutates the array for performance\n * reasons.\n */\nexport function rtlifyRules(options: IStyleOptions, rulePairs: (string | number)[], index: number): void {\n if (options.rtl) {\n const name = rulePairs[index] as string;\n\n if (!name) {\n return;\n }\n\n const value = rulePairs[index + 1] as string;\n\n if (typeof value === 'string' && value.indexOf(NO_FLIP) >= 0) {\n rulePairs[index + 1] = value.replace(/\\s*(?:\\/\\*\\s*)?\\@noflip\\b(?:\\s*\\*\\/)?\\s*?/g, '');\n } else if (name.indexOf(LEFT) >= 0) {\n rulePairs[index] = name.replace(LEFT, RIGHT);\n } else if (name.indexOf(RIGHT) >= 0) {\n rulePairs[index] = name.replace(RIGHT, LEFT);\n } else if (String(value).indexOf(LEFT) >= 0) {\n rulePairs[index + 1] = value.replace(LEFT, RIGHT);\n } else if (String(value).indexOf(RIGHT) >= 0) {\n rulePairs[index + 1] = value.replace(RIGHT, LEFT);\n } else if (NAME_REPLACEMENTS[name]) {\n rulePairs[index] = NAME_REPLACEMENTS[name];\n } else if (VALUE_REPLACEMENTS[value]) {\n rulePairs[index + 1] = VALUE_REPLACEMENTS[value];\n } else {\n switch (name) {\n case 'margin':\n case 'padding':\n rulePairs[index + 1] = flipQuad(value);\n break;\n case 'box-shadow':\n rulePairs[index + 1] = negateNum(value, 0);\n break;\n }\n }\n }\n}\n\n/**\n * Given a string value in a space delimited format (e.g. \"1 2 3 4\"), negates a particular value.\n */\nfunction negateNum(value: string, partIndex: number): string {\n const parts = value.split(' ');\n const numberVal = parseInt(parts[partIndex], 10);\n\n parts[0] = parts[0].replace(String(numberVal), String(numberVal * -1));\n\n return parts.join(' ');\n}\n\n/**\n * Given a string quad, flips the left and right values.\n */\nfunction flipQuad(value: string): string {\n if (typeof value === 'string') {\n const parts = value.split(' ');\n\n if (parts.length === 4) {\n return `${parts[0]} ${parts[3]} ${parts[2]} ${parts[1]}`;\n }\n }\n\n return value;\n}\n","import { IStyle } from './IStyle';\nimport { IRawStyle } from './IRawStyle';\n\nimport { Stylesheet } from './Stylesheet';\nimport { kebabRules } from './transforms/kebabRules';\nimport { prefixRules } from './transforms/prefixRules';\nimport { provideUnits } from './transforms/provideUnits';\nimport { rtlifyRules } from './transforms/rtlifyRules';\nimport { IStyleOptions } from './IStyleOptions';\n\nconst DISPLAY_NAME = 'displayName';\n\ntype IDictionary = { [key: string]: any };\n\ninterface IRuleSet {\n __order: string[];\n [key: string]: IDictionary;\n}\n\nfunction getDisplayName(rules?: { [key: string]: IRawStyle }): string | undefined {\n const rootStyle: IStyle = rules && rules['&'];\n\n return rootStyle ? (rootStyle as IRawStyle).displayName : undefined;\n}\n\nconst globalSelectorRegExp = /\\:global\\((.+?)\\)/g;\n\ntype ReplacementInfo = [number, number, string];\n\n/**\n * Finds comma separated selectors in a :global() e.g. \":global(.class1, .class2, .class3)\"\n * and wraps them each in their own global \":global(.class1), :global(.class2), :global(.class3)\"\n *\n * @param selectorWithGlobals The selector to process\n * @returns The updated selector\n */\nfunction expandCommaSeparatedGlobals(selectorWithGlobals: string): string {\n // We the selector does not have a :global() we can shortcut\n if (!globalSelectorRegExp.test(selectorWithGlobals)) {\n return selectorWithGlobals;\n }\n\n const replacementInfo: ReplacementInfo[] = [];\n\n const findGlobal = /\\:global\\((.+?)\\)/g;\n let match = null;\n // Create a result list for global selectors so we can replace them.\n while ((match = findGlobal.exec(selectorWithGlobals))) {\n // Only if the found selector is a comma separated list we'll process it.\n if (match[1].indexOf(',') > -1) {\n replacementInfo.push([\n match.index,\n match.index + match[0].length,\n // Wrap each of the found selectors in :global()\n match[1]\n .split(',')\n .map((v: string) => `:global(${v.trim()})`)\n .join(', '),\n ]);\n }\n }\n\n // Replace the found selectors with their wrapped variants in reverse order\n return replacementInfo\n .reverse()\n .reduce((selector: string, [matchIndex, matchEndIndex, replacement]: ReplacementInfo) => {\n const prefix = selector.slice(0, matchIndex);\n const suffix = selector.slice(matchEndIndex);\n\n return prefix + replacement + suffix;\n }, selectorWithGlobals);\n}\n\nfunction expandSelector(newSelector: string, currentSelector: string): string {\n if (newSelector.indexOf(':global(') >= 0) {\n return newSelector.replace(globalSelectorRegExp, '$1');\n } else if (newSelector.indexOf(':') === 0) {\n return currentSelector + newSelector;\n } else if (newSelector.indexOf('&') < 0) {\n return currentSelector + ' ' + newSelector;\n }\n\n return newSelector;\n}\n\nfunction extractSelector(currentSelector: string, rules: IRuleSet = { __order: [] }, selector: string, value: IStyle) {\n if (selector.indexOf('@') === 0) {\n selector = selector + '{' + currentSelector;\n extractRules([value], rules, selector);\n } else if (selector.indexOf(',') > -1) {\n expandCommaSeparatedGlobals(selector)\n .split(',')\n .map((s: string) => s.trim())\n .forEach((separatedSelector: string) =>\n extractRules([value], rules, expandSelector(separatedSelector, currentSelector)),\n );\n } else {\n extractRules([value], rules, expandSelector(selector, currentSelector));\n }\n}\n\nfunction extractRules(args: IStyle[], rules: IRuleSet = { __order: [] }, currentSelector: string = '&'): IRuleSet {\n const stylesheet = Stylesheet.getInstance();\n let currentRules: IDictionary | undefined = rules[currentSelector] as IDictionary;\n\n if (!currentRules) {\n currentRules = {};\n rules[currentSelector] = currentRules;\n rules.__order.push(currentSelector);\n }\n\n for (const arg of args) {\n // If the arg is a string, we need to look up the class map and merge.\n if (typeof arg === 'string') {\n const expandedRules = stylesheet.argsFromClassName(arg);\n\n if (expandedRules) {\n extractRules(expandedRules, rules, currentSelector);\n }\n // Else if the arg is an array, we need to recurse in.\n } else if (Array.isArray(arg)) {\n extractRules(arg, rules, currentSelector);\n } else {\n for (const prop in arg as any) {\n if ((arg as any).hasOwnProperty(prop)) {\n const propValue = (arg as any)[prop];\n\n if (prop === 'selectors') {\n // every child is a selector.\n const selectors: { [key: string]: IStyle } = (arg as any).selectors;\n\n for (const newSelector in selectors) {\n if (selectors.hasOwnProperty(newSelector)) {\n extractSelector(currentSelector, rules, newSelector, selectors[newSelector]);\n }\n }\n } else if (typeof propValue === 'object') {\n // prop is a selector.\n if (propValue !== null) {\n extractSelector(currentSelector, rules, prop, propValue);\n }\n } else {\n if (propValue !== undefined) {\n // Else, add the rule to the currentSelector.\n if (prop === 'margin' || prop === 'padding') {\n expandQuads(currentRules, prop, propValue);\n } else {\n (currentRules as any)[prop] = propValue;\n }\n }\n }\n }\n }\n }\n }\n\n return rules;\n}\n\nfunction expandQuads(currentRules: IDictionary, name: string, value: string): void {\n const parts = typeof value === 'string' ? value.split(' ') : [value];\n\n currentRules[name + 'Top'] = parts[0];\n currentRules[name + 'Right'] = parts[1] || parts[0];\n currentRules[name + 'Bottom'] = parts[2] || parts[0];\n currentRules[name + 'Left'] = parts[3] || parts[1] || parts[0];\n}\n\nfunction getKeyForRules(options: IStyleOptions, rules: IRuleSet): string | undefined {\n const serialized: string[] = [options.rtl ? 'rtl' : 'ltr'];\n let hasProps = false;\n\n for (const selector of rules.__order) {\n serialized.push(selector);\n const rulesForSelector = rules[selector];\n\n for (const propName in rulesForSelector) {\n if (rulesForSelector.hasOwnProperty(propName) && rulesForSelector[propName] !== undefined) {\n hasProps = true;\n serialized.push(propName, rulesForSelector[propName]);\n }\n }\n }\n\n return hasProps ? serialized.join('') : undefined;\n}\n\nfunction repeatString(target: string, count: number): string {\n if (count <= 0) {\n return '';\n }\n\n if (count === 1) {\n return target;\n }\n\n return target + repeatString(target, count - 1);\n}\n\nexport function serializeRuleEntries(options: IStyleOptions, ruleEntries: { [key: string]: string | number }): string {\n if (!ruleEntries) {\n return '';\n }\n\n const allEntries: (string | number)[] = [];\n\n for (const entry in ruleEntries) {\n if (ruleEntries.hasOwnProperty(entry) && entry !== DISPLAY_NAME && ruleEntries[entry] !== undefined) {\n allEntries.push(entry, ruleEntries[entry]);\n }\n }\n\n // Apply transforms.\n for (let i = 0; i < allEntries.length; i += 2) {\n kebabRules(allEntries, i);\n provideUnits(allEntries, i);\n rtlifyRules(options, allEntries, i);\n prefixRules(allEntries, i);\n }\n\n // Apply punctuation.\n for (let i = 1; i < allEntries.length; i += 4) {\n allEntries.splice(i, 1, ':', allEntries[i], ';');\n }\n\n return allEntries.join('');\n}\n\nexport interface IRegistration {\n className: string;\n key: string;\n args: IStyle[];\n rulesToInsert: string[];\n}\n\nexport function styleToRegistration(options: IStyleOptions, ...args: IStyle[]): IRegistration | undefined {\n const rules: IRuleSet = extractRules(args);\n const key = getKeyForRules(options, rules);\n\n if (key) {\n const stylesheet = Stylesheet.getInstance();\n const registration: Partial = {\n className: stylesheet.classNameFromKey(key),\n key,\n args,\n };\n\n if (!registration.className) {\n registration.className = stylesheet.getClassName(getDisplayName(rules));\n const rulesToInsert: string[] = [];\n\n for (const selector of rules.__order) {\n rulesToInsert.push(selector, serializeRuleEntries(options, rules[selector]));\n }\n registration.rulesToInsert = rulesToInsert;\n }\n\n return registration as IRegistration;\n }\n\n return undefined;\n}\n\n/**\n * Insert style to stylesheet.\n * @param registration Style registration.\n * @param specificityMultiplier Number of times classname selector is repeated in the css rule.\n * This is to increase css specificity in case it's needed. Default to 1.\n */\nexport function applyRegistration(registration: IRegistration, specificityMultiplier: number = 1): void {\n const stylesheet = Stylesheet.getInstance();\n const { className, key, args, rulesToInsert } = registration;\n\n if (rulesToInsert) {\n // rulesToInsert is an ordered array of selector/rule pairs.\n for (let i = 0; i < rulesToInsert.length; i += 2) {\n const rules = rulesToInsert[i + 1];\n if (rules) {\n let selector = rulesToInsert[i];\n selector = selector.replace(/&/g, repeatString(`.${registration.className}`, specificityMultiplier));\n\n // Insert. Note if a media query, we must close the query with a final bracket.\n const processedRule = `${selector}{${rules}}${selector.indexOf('@') === 0 ? '}' : ''}`;\n stylesheet.insertRule(processedRule);\n }\n }\n stylesheet.cacheClassName(className!, key!, args!, rulesToInsert);\n }\n}\n\nexport function styleToClassName(options: IStyleOptions, ...args: IStyle[]): string {\n const registration = styleToRegistration(options, ...args);\n if (registration) {\n applyRegistration(registration, options.specificityMultiplier);\n\n return registration.className;\n }\n\n return '';\n}\n","/**\n * Split a string into tokens separated by whitespace, except all text within parentheses\n * is treated as a single token (whitespace is ignored within parentheses).\n *\n * Unlike String.split(' '), multiple consecutive space characters are collapsed and\n * removed from the returned array (including leading and trailing spaces).\n *\n * For example:\n * `tokenizeWithParentheses(\"3px calc(var(--x) / 2) 9px 0 \")`\n * => `[\"3px\", \"calc(var(--x) / 2)\", \"9px\", \"0\"]`\n *\n * @returns The array of tokens. Returns an empty array if the string was empty or contained only whitespace.\n */\nexport function tokenizeWithParentheses(value: string): string[] {\n const parts = [];\n let partStart = 0;\n let parens = 0;\n\n for (let i = 0; i < value.length; i++) {\n switch (value[i]) {\n case '(':\n parens++;\n break;\n case ')':\n if (parens) {\n parens--;\n }\n break;\n case '\\t':\n case ' ':\n if (!parens) {\n // Add the new part if it's not an empty string\n if (i > partStart) {\n parts.push(value.substring(partStart, i));\n }\n partStart = i + 1;\n }\n break;\n }\n }\n\n // Add the last part\n if (partStart < value.length) {\n parts.push(value.substring(partStart));\n }\n\n return parts;\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport defaultLocale from '../locale/default';\n\nvar runtimeLocale = _extends({}, defaultLocale.Modal);\n\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = _extends(_extends({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = _extends({}, defaultLocale.Modal);\n }\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","import { assign } from './object';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * @internal\n */\nexport interface IEventRecord {\n target: any;\n eventName: string;\n parent: any;\n callback: (args?: any) => void;\n elementCallback?: (...args: any[]) => void;\n objectCallback?: (args?: any) => void;\n options?: boolean | AddEventListenerOptions;\n}\n\n/**\n * @internal\n */\nexport interface IEventRecordsByName {\n [eventName: string]: IEventRecordList;\n}\n\n/**\n * @internal\n */\nexport interface IEventRecordList {\n [id: string]: IEventRecord[] | number;\n count: number;\n}\n\n/**\n * @internal\n */\nexport interface IDeclaredEventsByName {\n [eventName: string]: boolean;\n}\n\n/** An instance of EventGroup allows anything with a handle to it to trigger events on it.\n * If the target is an HTMLElement, the event will be attached to the element and can be\n * triggered as usual (like clicking for onClick).\n * The event can be triggered by calling EventGroup.raise() here. If the target is an\n * HTMLElement, the event gets raised and is handled by the browser. Otherwise, it gets\n * handled here in EventGroup, and the handler is called in the context of the parent\n * (which is passed in in the constructor).\n *\n * @public\n * {@docCategory EventGroup}\n */\nexport class EventGroup {\n private static _uniqueId: number = 0;\n private _parent: any;\n private _eventRecords: IEventRecord[];\n private _id: number = EventGroup._uniqueId++;\n private _isDisposed!: boolean;\n\n /** For IE8, bubbleEvent is ignored here and must be dealt with by the handler.\n * Events raised here by default have bubbling set to false and cancelable set to true.\n * This applies also to built-in events being raised manually here on HTMLElements,\n * which may lead to unexpected behavior if it differs from the defaults.\n *\n */\n public static raise(target: any, eventName: string, eventArgs?: any, bubbleEvent?: boolean): boolean | undefined {\n let retVal;\n\n if (EventGroup._isElement(target)) {\n if (typeof document !== 'undefined' && document.createEvent) {\n let ev = document.createEvent('HTMLEvents');\n\n ev.initEvent(eventName, bubbleEvent || false, true);\n\n assign(ev, eventArgs);\n\n retVal = target.dispatchEvent(ev);\n } else if (typeof document !== 'undefined' && (document as any).createEventObject) {\n // IE8\n let evObj = (document as any).createEventObject(eventArgs);\n // cannot set cancelBubble on evObj, fireEvent will overwrite it\n target.fireEvent('on' + eventName, evObj);\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n while (target && retVal !== false) {\n let events = target.__events__;\n let eventRecords = events ? events[eventName] : null;\n\n if (eventRecords) {\n for (let id in eventRecords) {\n if (eventRecords.hasOwnProperty(id)) {\n let eventRecordList = eventRecords[id];\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n for (let listIndex = 0; retVal !== false && listIndex < eventRecordList.length; listIndex++) {\n let record = eventRecordList[listIndex];\n\n if (record.objectCallback) {\n retVal = record.objectCallback.call(record.parent, eventArgs);\n }\n }\n }\n }\n }\n\n // If the target has a parent, bubble the event up.\n target = bubbleEvent ? target.parent : null;\n }\n }\n\n return retVal;\n }\n\n public static isObserved(target: any, eventName: string): boolean {\n let events = target && target.__events__;\n\n return !!events && !!events[eventName];\n }\n\n /** Check to see if the target has declared support of the given event. */\n public static isDeclared(target: any, eventName: string): boolean {\n let declaredEvents = target && target.__declaredEvents;\n\n return !!declaredEvents && !!declaredEvents[eventName];\n }\n\n public static stopPropagation(event: any): void {\n if (event.stopPropagation) {\n event.stopPropagation();\n } else {\n // IE8\n event.cancelBubble = true;\n }\n }\n\n private static _isElement(target: HTMLElement): boolean {\n return (\n !!target && (!!target.addEventListener || (typeof HTMLElement !== 'undefined' && target instanceof HTMLElement))\n );\n }\n\n /** parent: the context in which events attached to non-HTMLElements are called */\n public constructor(parent: any) {\n this._parent = parent;\n this._eventRecords = [];\n }\n\n public dispose(): void {\n if (!this._isDisposed) {\n this._isDisposed = true;\n\n this.off();\n this._parent = null;\n }\n }\n\n /** On the target, attach a set of events, where the events object is a name to function mapping. */\n public onAll(target: any, events: { [key: string]: (args?: any) => void }, useCapture?: boolean): void {\n for (let eventName in events) {\n if (events.hasOwnProperty(eventName)) {\n this.on(target, eventName, events[eventName], useCapture);\n }\n }\n }\n\n /**\n * On the target, attach an event whose handler will be called in the context of the parent\n * of this instance of EventGroup.\n */\n public on(\n target: any,\n eventName: string,\n callback: (args?: any) => void,\n options?: boolean | AddEventListenerOptions,\n ): void {\n if (eventName.indexOf(',') > -1) {\n let events = eventName.split(/[ ,]+/);\n\n for (let i = 0; i < events.length; i++) {\n this.on(target, events[i], callback, options);\n }\n } else {\n let parent = this._parent;\n let eventRecord: IEventRecord = {\n target: target,\n eventName: eventName,\n parent: parent,\n callback: callback,\n options,\n };\n\n // Initialize and wire up the record on the target, so that it can call the callback if the event fires.\n let events = (target.__events__ = target.__events__ || {});\n events[eventName] =\n events[eventName] ||\n {\n count: 0,\n };\n events[eventName][this._id] = events[eventName][this._id] || [];\n (events[eventName][this._id]).push(eventRecord);\n events[eventName].count++;\n\n if (EventGroup._isElement(target)) {\n let processElementEvent = (...args: any[]) => {\n if (this._isDisposed) {\n return;\n }\n\n let result;\n try {\n result = callback.apply(parent, args);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore -- FIXME: strictBindCallApply error - https://github.com/microsoft/fluentui/issues/17331\n if (result === false && args[0]) {\n let e = args[0];\n\n if (e.preventDefault) {\n e.preventDefault();\n }\n\n if (e.stopPropagation) {\n e.stopPropagation();\n }\n\n e.cancelBubble = true;\n }\n } catch (e) {\n // ignore\n }\n\n return result;\n };\n\n eventRecord.elementCallback = processElementEvent;\n\n if (target.addEventListener) {\n (target).addEventListener(eventName, processElementEvent, options);\n } else if (target.attachEvent) {\n // IE8\n target.attachEvent('on' + eventName, processElementEvent);\n }\n } else {\n let processObjectEvent = (...args: any[]) => {\n if (this._isDisposed) {\n return;\n }\n\n return callback.apply(parent, args);\n };\n\n eventRecord.objectCallback = processObjectEvent;\n }\n\n // Remember the record locally, so that it can be removed.\n this._eventRecords.push(eventRecord);\n }\n }\n\n public off(\n target?: any,\n eventName?: string,\n callback?: (args?: any) => void,\n options?: boolean | AddEventListenerOptions,\n ): void {\n for (let i = 0; i < this._eventRecords.length; i++) {\n let eventRecord = this._eventRecords[i];\n if (\n (!target || target === eventRecord.target) &&\n (!eventName || eventName === eventRecord.eventName) &&\n (!callback || callback === eventRecord.callback) &&\n (typeof options !== 'boolean' || options === eventRecord.options)\n ) {\n let events = eventRecord.target.__events__;\n let targetArrayLookup = events[eventRecord.eventName];\n let targetArray = targetArrayLookup ? targetArrayLookup[this._id] : null;\n\n // We may have already target's entries, so check for null.\n if (targetArray) {\n if (targetArray.length === 1 || !callback) {\n targetArrayLookup.count -= targetArray.length;\n delete events[eventRecord.eventName][this._id];\n } else {\n targetArrayLookup.count--;\n targetArray.splice(targetArray.indexOf(eventRecord), 1);\n }\n\n if (!targetArrayLookup.count) {\n delete events[eventRecord.eventName];\n }\n }\n\n if (eventRecord.elementCallback) {\n if (eventRecord.target.removeEventListener) {\n eventRecord.target.removeEventListener(\n eventRecord.eventName,\n eventRecord.elementCallback,\n eventRecord.options,\n );\n } else if (eventRecord.target.detachEvent) {\n // IE8\n eventRecord.target.detachEvent('on' + eventRecord.eventName, eventRecord.elementCallback);\n }\n }\n\n this._eventRecords.splice(i--, 1);\n }\n }\n }\n\n /** Trigger the given event in the context of this instance of EventGroup. */\n public raise(eventName: string, eventArgs?: any, bubbleEvent?: boolean): boolean | undefined {\n return EventGroup.raise(this._parent, eventName, eventArgs, bubbleEvent);\n }\n\n /** Declare an event as being supported by this instance of EventGroup. */\n public declare(event: string | string[]): void {\n let declaredEvents = (this._parent.__declaredEvents = this._parent.__declaredEvents || {});\n\n if (typeof event === 'string') {\n declaredEvents[event] = true;\n } else {\n for (let i = 0; i < event.length; i++) {\n declaredEvents[event[i]] = true;\n }\n }\n }\n}\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nimport { toArray } from './commonUtil';\n\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n\n if ('value' in data) {\n value = data.value;\n }\n\n if (key !== null && key !== undefined) {\n return key;\n }\n\n if (value !== undefined) {\n return value;\n }\n\n return \"rc-index-key-\".concat(index);\n}\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\n\n\nexport function flattenOptions(options) {\n var flattenList = [];\n\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n if (isGroupOption || !('options' in data)) {\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data\n });\n } else {\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data\n });\n dig(data.options, true);\n }\n });\n }\n\n dig(options, false);\n return flattenList;\n}\n/**\n * Inject `props` into `option` for legacy usage\n */\n\nfunction injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n\n return newOption;\n}\n\nexport function findValueOption(values, options) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$prevValueOptions = _ref.prevValueOptions,\n prevValueOptions = _ref$prevValueOptions === void 0 ? [] : _ref$prevValueOptions;\n\n var optionMap = new Map();\n options.forEach(function (flattenItem) {\n if (!flattenItem.group) {\n var data = flattenItem.data; // Check if match\n\n optionMap.set(data.value, data);\n }\n });\n return values.map(function (val) {\n var option = optionMap.get(val); // Fallback to try to find prev options\n\n if (!option) {\n option = _objectSpread({}, prevValueOptions.find(function (opt) {\n return opt._INTERNAL_OPTION_VALUE_ === val;\n }));\n }\n\n return injectPropsWithOption(option);\n });\n}\nexport var getLabeledValue = function getLabeledValue(value, _ref2) {\n var options = _ref2.options,\n prevValueMap = _ref2.prevValueMap,\n labelInValue = _ref2.labelInValue,\n optionLabelProp = _ref2.optionLabelProp;\n var item = findValueOption([value], options)[0];\n var result = {\n value: value\n };\n var prevValItem = labelInValue ? prevValueMap.get(value) : undefined;\n\n if (prevValItem && _typeof(prevValItem) === 'object' && 'label' in prevValItem) {\n result.label = prevValItem.label;\n\n if (item && typeof prevValItem.label === 'string' && typeof item[optionLabelProp] === 'string' && prevValItem.label.trim() !== item[optionLabelProp].trim()) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n } else if (item && optionLabelProp in item) {\n result.label = item[optionLabelProp];\n } else {\n result.label = value;\n result.isCacheable = true;\n } // Used for motion control\n\n\n result.key = result.value;\n return result;\n};\n\nfunction toRawString(content) {\n return toArray(content).join('');\n}\n/** Filter single option if match the search text */\n\n\nfunction getFilterFunction(optionFilterProp) {\n return function (searchValue, option) {\n var lowerSearchText = searchValue.toLowerCase(); // Group label search\n\n if ('options' in option) {\n return toRawString(option.label).toLowerCase().includes(lowerSearchText);\n } // Option value search\n\n\n var rawValue = option[optionFilterProp];\n var value = toRawString(rawValue).toLowerCase();\n return value.includes(lowerSearchText);\n };\n}\n/** Filter options and return a new options by the search text */\n\n\nexport function filterOptions(searchValue, options, _ref3) {\n var optionFilterProp = _ref3.optionFilterProp,\n filterOption = _ref3.filterOption;\n var filteredOptions = [];\n var filterFunc;\n\n if (filterOption === false) {\n return _toConsumableArray(options);\n }\n\n if (typeof filterOption === 'function') {\n filterFunc = filterOption;\n } else {\n filterFunc = getFilterFunction(optionFilterProp);\n }\n\n options.forEach(function (item) {\n // Group should check child options\n if ('options' in item) {\n // Check group first\n var matchGroup = filterFunc(searchValue, item);\n\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item.options.filter(function (subItem) {\n return filterFunc(searchValue, subItem);\n });\n\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, {\n options: subOptions\n }));\n }\n }\n\n return;\n }\n\n if (filterFunc(searchValue, injectPropsWithOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n\n var match = false;\n\n function separate(str, _ref4) {\n var _ref5 = _toArray(_ref4),\n token = _ref5[0],\n restTokens = _ref5.slice(1);\n\n if (!token) {\n return [str];\n }\n\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n\n var list = separate(text, tokens);\n return match ? list : null;\n}\nexport function isValueDisabled(value, options) {\n var option = findValueOption([value], options)[0];\n return option.disabled;\n}\n/**\n * `tags` mode should fill un-list item into the option list\n */\n\nexport function fillOptionsWithMissingValue(options, value, optionLabelProp, labelInValue) {\n var values = toArray(value).slice().sort();\n\n var cloneOptions = _toConsumableArray(options); // Convert options value to set\n\n\n var optionValues = new Set();\n options.forEach(function (opt) {\n if (opt.options) {\n opt.options.forEach(function (subOpt) {\n optionValues.add(subOpt.value);\n });\n } else {\n optionValues.add(opt.value);\n }\n }); // Fill missing value\n\n values.forEach(function (item) {\n var val = labelInValue ? item.value : item;\n\n if (!optionValues.has(val)) {\n var _ref6;\n\n cloneOptions.push(labelInValue ? (_ref6 = {}, _defineProperty(_ref6, optionLabelProp, item.label), _defineProperty(_ref6, \"value\", val), _ref6) : {\n value: val\n });\n }\n });\n return cloneOptions;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport ResizeObserver from 'resize-observer-polyfill';\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key'; // Still need to be compatible with React 15, we use class component here\n\nvar ReactResizeObserver = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactResizeObserver, _React$Component);\n\n var _super = _createSuper(ReactResizeObserver);\n\n function ReactResizeObserver() {\n var _this;\n\n _classCallCheck(this, ReactResizeObserver);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.resizeObserver = null;\n _this.childNode = null;\n _this.currentElement = null;\n _this.state = {\n width: 0,\n height: 0,\n offsetHeight: 0,\n offsetWidth: 0\n };\n\n _this.onResize = function (entries) {\n var onResize = _this.props.onResize;\n var target = entries[0].target;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (_this.state.width !== fixedWidth || _this.state.height !== fixedHeight || _this.state.offsetWidth !== offsetWidth || _this.state.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n\n _this.setState(size);\n\n if (onResize) {\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight; // defer the callback but not defer to next frame\n\n Promise.resolve().then(function () {\n onResize(_objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n }), target);\n });\n }\n }\n };\n\n _this.setChildNode = function (node) {\n _this.childNode = node;\n };\n\n return _this;\n }\n\n _createClass(ReactResizeObserver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyObserver();\n }\n }, {\n key: \"onComponentUpdated\",\n value: function onComponentUpdated() {\n var disabled = this.props.disabled; // Unregister if disabled\n\n if (disabled) {\n this.destroyObserver();\n return;\n } // Unregister if element changed\n\n\n var element = findDOMNode(this.childNode || this);\n var elementChanged = element !== this.currentElement;\n\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n var childNodes = toArray(children);\n\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Will only observe first one.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n return null;\n }\n\n var childNode = childNodes[0];\n\n if ( /*#__PURE__*/React.isValidElement(childNode) && supportRef(childNode)) {\n var ref = childNode.ref;\n childNodes[0] = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(ref, this.setChildNode)\n });\n }\n\n return childNodes.length === 1 ? childNodes[0] : childNodes.map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || 'key' in node && node.key !== null) {\n return node;\n }\n\n return /*#__PURE__*/React.cloneElement(node, {\n key: \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index)\n });\n });\n }\n }]);\n\n return ReactResizeObserver;\n}(React.Component);\n\nReactResizeObserver.displayName = 'ResizeObserver';\nexport default ReactResizeObserver;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n/* eslint-enable max-len */\n\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\n\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\n\n\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if ( // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) || mergedConfig.data && match(key, dataPrefix) || mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from '../utils/legacyUtil';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","let vendorPrefix;\n\nconst jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-',\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n const style = document.createElement('p').style;\n const testProp = 'Transform';\n for (const key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix()\n ? `${getVendorPrefix()}TransitionProperty`\n : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? `${getVendorPrefix()}Transform` : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n const name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n const name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n const matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0),\n };\n }\n return {\n x: 0,\n y: 0,\n };\n}\n\nconst matrix2d = /matrix\\((.*)\\)/;\nconst matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n const style = window.getComputedStyle(node, null);\n const transform =\n style.getPropertyValue('transform') ||\n style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n let arr;\n let match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, `matrix(${arr.join(',')})`);\n } else {\n const match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(item => {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, `matrix3d(${arr.join(',')})`);\n }\n } else {\n setTransform(\n node,\n `translateX(${xy.x}px) translateY(${xy.y}px) translateZ(0)`,\n );\n }\n}\n","import {\n setTransitionProperty,\n getTransitionProperty,\n getTransformXY,\n setTransformXY,\n getTransformName,\n} from './propertyUtils';\n\nconst RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nlet getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n const originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\n\nfunction css(el, name, v) {\n let value = v;\n if (typeof name === 'object') {\n for (const i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = `${value}px`;\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\nfunction getClientPosition(elem) {\n let box;\n let x;\n let y;\n const doc = elem.ownerDocument;\n const body = doc.body;\n const docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y,\n };\n}\n\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n const pos = getClientPosition(el);\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\n\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\n\nfunction _getComputedStyle(elem, name, cs) {\n let computedStyle = cs;\n let val = '';\n const d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nconst _RE_NUM_NO_PX = new RegExp(`^(${RE_NUM})(?!px)[a-z%]+$`, 'i');\nconst RE_POS = /^(top|right|bottom|left)$/;\nconst CURRENT_STYLE = 'currentStyle';\nconst RUNTIME_STYLE = 'runtimeStyle';\nconst LEFT = 'left';\nconst PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n let ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n const style = elem.style;\n const left = style[LEFT];\n const rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle\n ? _getComputedStyle\n : _getComputedStyleIE;\n}\n\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\n\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n let presetH = -999;\n let presetV = -999;\n const horizontalProperty = getOffsetDirection('left', option);\n const verticalProperty = getOffsetDirection('top', option);\n const oppositeHorizontalProperty = oppositeOffsetDirection(\n horizontalProperty,\n );\n const oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n let originalTransition = '';\n const originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = `${presetH}px`;\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = `${presetV}px`;\n }\n // force relayout\n forceRelayout(elem);\n const old = getOffset(elem);\n const originalStyle = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const preset = key === 'left' ? presetH : presetV;\n const off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n const ret = {};\n for (const key in offset) {\n if (offset.hasOwnProperty(key)) {\n const dir = getOffsetDirection(key, option);\n const off = offset[key] - originalOffset[key];\n if (key === dir) {\n ret[dir] = originalStyle[dir] + off;\n } else {\n ret[dir] = originalStyle[dir] - off;\n }\n }\n }\n css(elem, ret);\n}\n\nfunction setTransform(elem, offset) {\n const originalOffset = getOffset(elem);\n const originalXY = getTransformXY(elem);\n const resultXY = { x: originalXY.x, y: originalXY.y };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\n\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n const oriOffset = getOffset(elem);\n\n const oLeft = oriOffset.left.toFixed(0);\n const oTop = oriOffset.top.toFixed(0);\n const tLeft = offset.left.toFixed(0);\n const tTop = offset.top.toFixed(0);\n\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (\n option.useCssTransform &&\n getTransformName() in document.body.style\n ) {\n setTransform(elem, offset, option);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\n\nfunction each(arr, fn) {\n for (let i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nconst BOX_MODELS = ['margin', 'border', 'padding'];\nconst CONTENT_INDEX = -1;\nconst PADDING_INDEX = 2;\nconst BORDER_INDEX = 1;\nconst MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n const old = {};\n const style = elem.style;\n let name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n let value = 0;\n let prop;\n let j;\n let i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n let cssProp;\n if (prop === 'border') {\n cssProp = `${prop}${which[i]}Width`;\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\nconst domUtils = {\n getParent(element) {\n let parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n },\n};\n\neach(['Width', 'Height'], name => {\n domUtils[`doc${name}`] = refWin => {\n const d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[`scroll${name}`],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[`scroll${name}`],\n domUtils[`viewport${name}`](d),\n );\n };\n\n domUtils[`viewport${name}`] = win => {\n // pc browser includes scrollbar in window.innerWidth\n const prop = `client${name}`;\n const doc = win.document;\n const body = doc.body;\n const documentElement = doc.documentElement;\n const documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return (\n (doc.compatMode === 'CSS1Compat' && documentElementProp) ||\n (body && body[prop]) ||\n documentElementProp\n );\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n let extra = ex;\n if (isWindow(elem)) {\n return name === 'width'\n ? domUtils.viewportWidth(elem)\n : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width'\n ? domUtils.docWidth(elem)\n : domUtils.docHeight(elem);\n }\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n let borderBoxValue =\n name === 'width'\n ? elem.getBoundingClientRect().width\n : elem.getBoundingClientRect().height;\n const isBorderBox = isBorderBoxFn(elem);\n let cssBoxValue = 0;\n if (\n borderBoxValue === null ||\n borderBoxValue === undefined ||\n borderBoxValue <= 0\n ) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (\n cssBoxValue === null ||\n cssBoxValue === undefined ||\n Number(cssBoxValue) < 0\n ) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n const borderBoxValueOrIsBorderBox =\n borderBoxValue !== undefined || isBorderBox;\n const val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return (\n val - getPBMWidth(elem, ['border', 'padding'], which)\n );\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return (\n val +\n (extra === PADDING_INDEX\n ? -getPBMWidth(elem, ['border'], which)\n : getPBMWidth(elem, ['margin'], which))\n );\n }\n return (\n cssBoxValue +\n getPBMWidth(elem, BOX_MODELS.slice(extra), which)\n );\n}\n\nconst cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block',\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(...args) {\n let val;\n const elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, () => {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\neach(['width', 'height'], name => {\n const first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[`outer${first}`] = (el, includeMargin) => {\n return (\n el &&\n getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX)\n );\n };\n const which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = (elem, v) => {\n let val = v;\n if (val !== undefined) {\n if (elem) {\n const isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\nfunction mix(to, from) {\n for (const i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\n\nconst utils = {\n getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n const doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument,\n offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow,\n each,\n css,\n clone(obj) {\n let i;\n const ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n const overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix,\n getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge(...args) {\n const ret = {};\n for (let i = 0; i < args.length; i++) {\n utils.mix(ret, args[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0,\n};\n\nmix(utils, domUtils);\n\nexport default utils;\n","import utils from './utils';\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nconst { getParent } = utils;\n\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n
\n
\n 元素 6 高 100px 宽 50px
\n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n const doc = utils.getDocument(element);\n const body = doc.body;\n let parent;\n let positionStyle = utils.css(element, 'position');\n const skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html'\n ? null\n : getParent(element);\n }\n\n for (\n parent = getParent(element);\n parent && parent !== body && parent.nodeType !== 9;\n parent = getParent(parent)\n ) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nexport default getOffsetParent;\n","import utils from './utils';\n\nconst { getParent } = utils;\n\nexport default function isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n const doc = utils.getDocument(element);\n const body = doc.body;\n let parent = null;\n for (\n parent = getParent(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc;\n parent = getParent(parent)\n ) {\n const positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n","import utils from './utils';\nimport getOffsetParent from './getOffsetParent';\nimport isAncestorFixed from './isAncestorFixed';\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n const visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity,\n };\n let el = getOffsetParent(element);\n const doc = utils.getDocument(element);\n const win = doc.defaultView || doc.parentWindow;\n const body = doc.body;\n const documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if (\n (navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n (el !== body &&\n el !== documentElement &&\n utils.css(el, 'overflow') !== 'visible')\n ) {\n const pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(\n visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth,\n );\n visibleRect.bottom = Math.min(\n visibleRect.bottom,\n pos.top + el.clientHeight,\n );\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n let originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n const position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n\n const scrollX = utils.getWindowScrollLeft(win);\n const scrollY = utils.getWindowScrollTop(win);\n const viewportWidth = utils.viewportWidth(win);\n const viewportHeight = utils.viewportHeight(win);\n let documentWidth = documentElement.scrollWidth;\n let documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n const bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n const maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n\n const maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n\n return visibleRect.top >= 0 &&\n visibleRect.left >= 0 &&\n visibleRect.bottom > visibleRect.top &&\n visibleRect.right > visibleRect.left\n ? visibleRect\n : null;\n}\n\nexport default getVisibleRectForElement;\n","import utils from './utils';\n\nfunction getRegion(node) {\n let offset;\n let w;\n let h;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n const win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win),\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\nexport default getRegion;\n","/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n const V = align.charAt(0);\n const H = align.charAt(1);\n const w = region.width;\n const h = region.height;\n\n let x = region.left;\n let y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y,\n };\n}\n\nexport default getAlignOffset;\n","import getAlignOffset from './getAlignOffset';\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n const p1 = getAlignOffset(refNodeRegion, points[1]);\n const p2 = getAlignOffset(elRegion, points[0]);\n const diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1]),\n };\n}\n\nexport default getElFuturePos;\n","/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\nimport utils from '../utils';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport adjustForViewport from '../adjustForViewport';\nimport getRegion from '../getRegion';\nimport getElFuturePos from '../getElFuturePos';\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.left < visibleRect.left ||\n elFuturePos.left + elRegion.width > visibleRect.right\n );\n}\n\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.top < visibleRect.top ||\n elFuturePos.top + elRegion.height > visibleRect.bottom\n );\n}\n\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.left > visibleRect.right ||\n elFuturePos.left + elRegion.width < visibleRect.left\n );\n}\n\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return (\n elFuturePos.top > visibleRect.bottom ||\n elFuturePos.top + elRegion.height < visibleRect.top\n );\n}\n\nfunction flip(points, reg, map) {\n const ret = [];\n utils.each(points, p => {\n ret.push(\n p.replace(reg, m => {\n return map[m];\n }),\n );\n });\n return ret;\n}\n\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\n\nfunction convertOffset(str, offsetLen) {\n let n;\n if (/%$/.test(str)) {\n n = (parseInt(str.substring(0, str.length - 1), 10) / 100) * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\n\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n let points = align.points;\n let offset = align.offset || [0, 0];\n let targetOffset = align.targetOffset || [0, 0];\n let overflow = align.overflow;\n const source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n const newOverflowCfg = {};\n let fail = 0;\n const alwaysByViewport = !!(overflow && overflow.alwaysByViewport);\n // 当前节点可以被放置的显示区域\n const visibleRect = getVisibleRectForElement(source, alwaysByViewport);\n // 当前节点所占的区域, left/top/width/height\n const elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n let elFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n points,\n offset,\n targetOffset,\n );\n // 当前节点将要所处的区域\n let newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (\n visibleRect &&\n (overflow.adjustX || overflow.adjustY) &&\n isTgtRegionVisible\n ) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n const newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l',\n });\n // 偏移量也反下\n const newOffset = flipOffset(offset, 0);\n const newTargetOffset = flipOffset(targetOffset, 0);\n const newElFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n newPoints,\n newOffset,\n newTargetOffset,\n );\n\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n const newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't',\n });\n // 偏移量也反下\n const newOffset = flipOffset(offset, 1);\n const newTargetOffset = flipOffset(targetOffset, 1);\n const newElFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n newPoints,\n newOffset,\n newTargetOffset,\n );\n\n if (!isCompleteFailY(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(\n elRegion,\n tgtRegion,\n points,\n offset,\n targetOffset,\n );\n utils.mix(newElRegion, elFuturePos);\n }\n const isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n const isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n let newPoints = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l',\n });\n }\n if (isStillFailY) {\n newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't',\n });\n }\n\n points = newPoints;\n\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(\n elFuturePos,\n elRegion,\n visibleRect,\n newOverflowCfg,\n );\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(\n source,\n 'width',\n utils.width(source) + newElRegion.width - elRegion.width,\n );\n }\n\n if (newElRegion.height !== elRegion.height) {\n utils.css(\n source,\n 'height',\n utils.height(source) + newElRegion.height - elRegion.height,\n );\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n utils.offset(\n source,\n {\n left: newElRegion.left,\n top: newElRegion.top,\n },\n {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake,\n },\n );\n\n return {\n points,\n offset,\n targetOffset,\n overflow: newOverflowCfg,\n };\n}\n\nexport default doAlign;\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n","import utils from './utils';\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n const pos = utils.clone(elFuturePos);\n const size = {\n width: elRegion.width,\n height: elRegion.height,\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (\n overflow.resizeWidth &&\n pos.left >= visibleRect.left &&\n pos.left + size.width > visibleRect.right\n ) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (\n overflow.resizeHeight &&\n pos.top >= visibleRect.top &&\n pos.top + size.height > visibleRect.bottom\n ) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nexport default adjustForViewport;\n","import doAlign from './align';\nimport getOffsetParent from '../getOffsetParent';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport getRegion from '../getRegion';\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n const visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n const targetRegion = getRegion(target);\n\n return (\n !visibleRect ||\n targetRegion.left + targetRegion.width <= visibleRect.left ||\n targetRegion.top + targetRegion.height <= visibleRect.top ||\n targetRegion.left >= visibleRect.right ||\n targetRegion.top >= visibleRect.bottom\n );\n}\n\nfunction alignElement(el, refNode, align) {\n const target = align.target || refNode;\n const refNodeRegion = getRegion(target);\n\n const isTargetNotOutOfVisible = !isOutOfVisibleRect(\n target,\n align.overflow && align.overflow.alwaysByViewport,\n );\n\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\n\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\nexport default alignElement;\n","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport contains from \"rc-util/es/Dom/contains\";\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n var prevWidth = null;\n var prevHeight = null;\n\n function onResize(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n target = _ref2[0].target;\n\n if (!document.documentElement.contains(target)) return;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(function () {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n\n var resizeObserver = new ResizeObserver(onResize);\n\n if (element) {\n resizeObserver.observe(element);\n }\n\n return function () {\n resizeObserver.disconnect();\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/**\n * Removed props:\n * - childrenProps\n */\nimport React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport isEqual from 'lodash/isEqual';\nimport { isSamePoint, restoreFocus, monitorResize } from './util';\nimport useBuffer from './hooks/useBuffer';\n\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (_typeof(point) !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function Align(_ref, ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n target = _ref.target,\n align = _ref.align,\n onAlign = _ref.onAlign,\n monitorWindowResize = _ref.monitorWindowResize,\n _ref$monitorBufferTim = _ref.monitorBufferTime,\n monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n var cacheRef = React.useRef({});\n var nodeRef = React.useRef();\n var childNode = React.Children.only(children); // ===================== Align ======================\n // We save the props here to avoid closure makes props ood\n\n var forceAlignPropsRef = React.useRef({});\n forceAlignPropsRef.current.disabled = disabled;\n forceAlignPropsRef.current.target = target;\n forceAlignPropsRef.current.align = align;\n forceAlignPropsRef.current.onAlign = onAlign;\n\n var _useBuffer = useBuffer(function () {\n var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n latestDisabled = _forceAlignPropsRef$c.disabled,\n latestTarget = _forceAlignPropsRef$c.target,\n latestAlign = _forceAlignPropsRef$c.align,\n latestOnAlign = _forceAlignPropsRef$c.onAlign;\n\n if (!latestDisabled && latestTarget) {\n var source = nodeRef.current;\n var result;\n var element = getElement(latestTarget);\n var point = getPoint(latestTarget);\n cacheRef.current.element = element;\n cacheRef.current.point = point;\n cacheRef.current.align = latestAlign; // IE lose focus after element realign\n // We should record activeElement and restore later\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var _document = document,\n activeElement = _document.activeElement; // We only align when element is visible\n\n // We only align when element is visible\n if (element && isVisible(element)) {\n result = alignElement(source, element, latestAlign);\n } else if (point) {\n result = alignPoint(source, point, latestAlign);\n }\n\n restoreFocus(activeElement, source);\n\n if (latestOnAlign && result) {\n latestOnAlign(source, result);\n }\n\n return true;\n }\n\n return false;\n }, monitorBufferTime),\n _useBuffer2 = _slicedToArray(_useBuffer, 2),\n _forceAlign = _useBuffer2[0],\n cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n // Listen for target updated\n\n\n var resizeMonitor = React.useRef({\n cancel: function cancel() {}\n }); // Listen for source updated\n\n var sourceResizeMonitor = React.useRef({\n cancel: function cancel() {}\n });\n React.useEffect(function () {\n var element = getElement(target);\n var point = getPoint(target);\n\n if (nodeRef.current !== sourceResizeMonitor.current.element) {\n sourceResizeMonitor.current.cancel();\n sourceResizeMonitor.current.element = nodeRef.current;\n sourceResizeMonitor.current.cancel = monitorResize(nodeRef.current, _forceAlign);\n }\n\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point) || !isEqual(cacheRef.current.align, align)) {\n _forceAlign(); // Add resize observer\n\n\n if (resizeMonitor.current.element !== element) {\n resizeMonitor.current.cancel();\n resizeMonitor.current.element = element;\n resizeMonitor.current.cancel = monitorResize(element, _forceAlign);\n }\n }\n }); // Listen for disabled change\n\n React.useEffect(function () {\n if (!disabled) {\n _forceAlign();\n } else {\n cancelForceAlign();\n }\n }, [disabled]); // Listen for window resize\n\n var winResizeRef = React.useRef(null);\n React.useEffect(function () {\n if (monitorWindowResize) {\n if (!winResizeRef.current) {\n winResizeRef.current = addEventListener(window, 'resize', _forceAlign);\n }\n } else if (winResizeRef.current) {\n winResizeRef.current.remove();\n winResizeRef.current = null;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n resizeMonitor.current.cancel();\n sourceResizeMonitor.current.cancel();\n if (winResizeRef.current) winResizeRef.current.remove();\n cancelForceAlign();\n };\n }, []); // ====================== Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {\n return _forceAlign(true);\n }\n };\n }); // ===================== Render =====================\n\n if ( /*#__PURE__*/React.isValidElement(childNode)) {\n childNode = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RcAlign = /*#__PURE__*/React.forwardRef(Align);\nRcAlign.displayName = 'Align';\nexport default RcAlign;","import React from 'react';\nexport default (function (callback, buffer) {\n var calledRef = React.useRef(false);\n var timeoutRef = React.useRef(null);\n\n function cancelTrigger() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function trigger(force) {\n if (!calledRef.current || force === true) {\n if (callback() === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n cancelTrigger();\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n cancelTrigger();\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n trigger();\n }, buffer);\n }\n }\n\n return [trigger, function () {\n calledRef.current = false;\n cancelTrigger();\n }];\n});","import utils from '../utils';\nimport doAlign from './align';\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n let pageX;\n let pageY;\n\n const doc = utils.getDocument(el);\n const win = doc.defaultView || doc.parentWindow;\n\n const scrollX = utils.getWindowScrollLeft(win);\n const scrollY = utils.getWindowScrollTop(win);\n const viewportWidth = utils.viewportWidth(win);\n const viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n const tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0,\n };\n\n const pointInView =\n pageX >= 0 &&\n pageX <= scrollX + viewportWidth &&\n (pageY >= 0 && pageY <= scrollY + viewportHeight);\n\n // Provide default target point\n const points = [align.points[0], 'cc'];\n\n return doAlign(el, tgtRegion, { ...align, points }, pointInView);\n}\n\nexport default alignPoint;\n","// export this package's api\nimport Align from './Align';\nexport default Align;","import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useState, useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nvar StatusQueue = ['measure', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setInternalStatus = _useState2[1];\n\n var rafRef = useRef();\n var destroyRef = useRef(false);\n\n function setStatus(nextStatus) {\n if (!destroyRef.current) {\n setInternalStatus(nextStatus);\n }\n }\n\n function cancelRaf() {\n raf.cancel(rafRef.current);\n }\n\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.current = raf(function () {\n // Only align should be manually trigger\n setStatus(function (prev) {\n switch (status) {\n case 'align':\n return 'motion';\n\n case 'motion':\n return 'stable';\n\n default:\n }\n\n return prev;\n });\n callback === null || callback === void 0 ? void 0 : callback();\n });\n } // Init status\n\n\n useEffect(function () {\n setStatus('measure');\n }, [visible]); // Go next status\n\n useEffect(function () {\n switch (status) {\n case 'measure':\n doMeasure();\n break;\n\n default:\n }\n\n if (status) {\n rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var index, nextStatus;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = StatusQueue.indexOf(status);\n nextStatus = StatusQueue[index + 1];\n\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n }\n }, [status]);\n useEffect(function () {\n return function () {\n destroyRef.current = true;\n cancelRaf();\n };\n }, []);\n return [status, goNextStatus];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport Align from 'rc-align';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from './useVisibleStatus';\nimport { getMotion } from '../utils/legacyUtil';\nimport useStretchStyle from './useStretchStyle';\nvar PopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var visible = props.visible,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n zIndex = props.zIndex,\n stretch = props.stretch,\n destroyPopupOnHide = props.destroyPopupOnHide,\n forceRender = props.forceRender,\n align = props.align,\n point = props.point,\n getRootDomNode = props.getRootDomNode,\n getClassNameFromAlign = props.getClassNameFromAlign,\n onAlign = props.onAlign,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onMouseDown = props.onMouseDown,\n onTouchStart = props.onTouchStart;\n var alignRef = useRef();\n var elementRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n alignedClassName = _useState2[0],\n setAlignedClassName = _useState2[1]; // ======================= Measure ========================\n\n\n var _useStretchStyle = useStretchStyle(stretch),\n _useStretchStyle2 = _slicedToArray(_useStretchStyle, 2),\n stretchStyle = _useStretchStyle2[0],\n measureStretchStyle = _useStretchStyle2[1];\n\n function doMeasure() {\n if (stretch) {\n measureStretchStyle(getRootDomNode());\n }\n } // ======================== Status ========================\n\n\n var _useVisibleStatus = useVisibleStatus(visible, doMeasure),\n _useVisibleStatus2 = _slicedToArray(_useVisibleStatus, 2),\n status = _useVisibleStatus2[0],\n goNextStatus = _useVisibleStatus2[1]; // ======================== Aligns ========================\n\n\n var prepareResolveRef = useRef(); // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n function getAlignTarget() {\n if (point) {\n return point;\n }\n\n return getRootDomNode;\n }\n\n function forceAlign() {\n var _alignRef$current;\n\n (_alignRef$current = alignRef.current) === null || _alignRef$current === void 0 ? void 0 : _alignRef$current.forceAlign();\n }\n\n function onInternalAlign(popupDomNode, matchAlign) {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n\n if (alignedClassName !== nextAlignedClassName) {\n setAlignedClassName(nextAlignedClassName);\n }\n\n if (status === 'align') {\n // Repeat until not more align needed\n if (alignedClassName !== nextAlignedClassName) {\n Promise.resolve().then(function () {\n forceAlign();\n });\n } else {\n goNextStatus(function () {\n var _prepareResolveRef$cu;\n\n (_prepareResolveRef$cu = prepareResolveRef.current) === null || _prepareResolveRef$cu === void 0 ? void 0 : _prepareResolveRef$cu.call(prepareResolveRef);\n });\n }\n\n onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // ======================== Motion ========================\n\n\n var motion = _objectSpread({}, getMotion(props));\n\n ['onAppearEnd', 'onEnterEnd', 'onLeaveEnd'].forEach(function (eventName) {\n var originHandler = motion[eventName];\n\n motion[eventName] = function (element, event) {\n goNextStatus();\n return originHandler === null || originHandler === void 0 ? void 0 : originHandler(element, event);\n };\n });\n\n function onShowPrepare() {\n return new Promise(function (resolve) {\n prepareResolveRef.current = resolve;\n });\n } // Go to stable directly when motion not provided\n\n\n React.useEffect(function () {\n if (!motion.motionName && status === 'motion') {\n goNextStatus();\n }\n }, [motion.motionName, status]); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: forceAlign,\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex,\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n pointerEvents: status === 'stable' ? undefined : 'none'\n }, style); // Align status\n\n\n var alignDisabled = true;\n\n if ((align === null || align === void 0 ? void 0 : align.points) && (status === 'align' || status === 'stable')) {\n alignDisabled = false;\n }\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide,\n forceRender: forceRender\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return /*#__PURE__*/React.createElement(Align, {\n target: getAlignTarget(),\n key: \"popup\",\n ref: alignRef,\n monitorWindowResize: true,\n disabled: alignDisabled,\n align: align,\n onAlign: onInternalAlign\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDownCapture: onMouseDown,\n onTouchStartCapture: onTouchStart,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode));\n });\n});\nPopupInner.displayName = 'PopupInner';\nexport default PopupInner;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default (function (stretch) {\n var _React$useState = React.useState({\n width: 0,\n height: 0\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n targetSize = _React$useState2[0],\n setTargetSize = _React$useState2[1];\n\n function measureStretch(element) {\n setTargetSize({\n width: element.offsetWidth,\n height: element.offsetHeight\n });\n } // Merge stretch style\n\n\n var style = React.useMemo(function () {\n var sizeStyle = {};\n\n if (stretch) {\n var width = targetSize.width,\n height = targetSize.height; // Stretch with target\n\n if (stretch.indexOf('height') !== -1 && height) {\n sizeStyle.height = height;\n } else if (stretch.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = height;\n }\n\n if (stretch.indexOf('width') !== -1 && width) {\n sizeStyle.width = width;\n } else if (stretch.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = width;\n }\n }\n\n return sizeStyle;\n }, [stretch, targetSize]);\n return [style, measureStretch];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n children = props.children,\n _props$mobile = props.mobile;\n _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;\n var popupClassName = _props$mobile.popupClassName,\n popupStyle = _props$mobile.popupStyle,\n _props$mobile$popupMo = _props$mobile.popupMotion,\n popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,\n popupRender = _props$mobile.popupRender;\n var elementRef = React.useRef(); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {},\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread({\n zIndex: zIndex\n }, popupStyle);\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n } // Mobile support additional render\n\n\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n removeOnLeave: true\n }, popupMotion), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, popupClassName, motionClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"mobile\"];\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport isMobile from \"rc-util/es/isMobile\";\nimport Mask from './Mask';\nimport PopupInner from './PopupInner';\nimport MobilePopupInner from './MobilePopupInner';\nvar Popup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(visible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n serInnerVisible = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n inMobile = _useState4[0],\n setInMobile = _useState4[1];\n\n var cloneProps = _objectSpread(_objectSpread({}, props), {}, {\n visible: innerVisible\n }); // We check mobile in visible changed here.\n // And this also delay set `innerVisible` to avoid popup component render flash\n\n\n useEffect(function () {\n serInnerVisible(visible);\n\n if (visible && mobile) {\n setInMobile(isMobile());\n }\n }, [visible, mobile]);\n var popupNode = inMobile ? /*#__PURE__*/React.createElement(MobilePopupInner, _extends({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : /*#__PURE__*/React.createElement(PopupInner, _extends({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Mask, cloneProps), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport raf from \"rc-util/es/raf\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Portal from \"rc-util/es/Portal\";\nimport classNames from 'classnames';\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils/alignUtil';\nimport Popup from './Popup';\nimport TriggerContext from './context';\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\n\nexport function generateTrigger(PortalComponent) {\n var Trigger = /*#__PURE__*/function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n var _super = _createSuper(Trigger);\n\n function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n _this.popupRef = /*#__PURE__*/React.createRef();\n _this.triggerRef = /*#__PURE__*/React.createRef();\n _this.attachId = void 0;\n _this.clickOutsideHandler = void 0;\n _this.touchOutsideHandler = void 0;\n _this.contextMenuOutsideHandler1 = void 0;\n _this.contextMenuOutsideHandler2 = void 0;\n _this.mouseDownTimeout = void 0;\n _this.focusTime = void 0;\n _this.preClickTime = void 0;\n _this.preTouchTime = void 0;\n _this.delayTimer = void 0;\n _this.hasPopupMouseDown = void 0;\n\n _this.onMouseEnter = function (e) {\n var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n _this.fireEvents('onMouseEnter', e);\n\n _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n };\n\n _this.onMouseMove = function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n };\n\n _this.onMouseLeave = function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onPopupMouseEnter = function () {\n _this.clearDelayTimer();\n };\n\n _this.onPopupMouseLeave = function (e) {\n var _this$popupRef$curren;\n\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && contains((_this$popupRef$curren = _this.popupRef.current) === null || _this$popupRef$curren === void 0 ? void 0 : _this$popupRef$curren.getElement(), e.relatedTarget)) {\n return;\n }\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n };\n\n _this.onFocus = function (e) {\n _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n _this.clearDelayTimer();\n\n if (_this.isFocusToShow()) {\n _this.focusTime = Date.now();\n\n _this.delaySetPopupVisible(true, _this.props.focusDelay);\n }\n };\n\n _this.onMouseDown = function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n };\n\n _this.onTouchStart = function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n };\n\n _this.onBlur = function (e) {\n _this.fireEvents('onBlur', e);\n\n _this.clearDelayTimer();\n\n if (_this.isBlurToHide()) {\n _this.delaySetPopupVisible(false, _this.props.blurDelay);\n }\n };\n\n _this.onContextMenu = function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n };\n\n _this.onContextMenuClose = function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n };\n\n _this.onClick = function (event) {\n _this.fireEvents('onClick', event); // focus will trigger click\n\n\n if (_this.focusTime) {\n var preTime;\n\n if (_this.preClickTime && _this.preTouchTime) {\n preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n } else if (_this.preClickTime) {\n preTime = _this.preClickTime;\n } else if (_this.preTouchTime) {\n preTime = _this.preTouchTime;\n }\n\n if (Math.abs(preTime - _this.focusTime) < 20) {\n return;\n }\n\n _this.focusTime = 0;\n }\n\n _this.preClickTime = 0;\n _this.preTouchTime = 0; // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n\n if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n\n var nextVisible = !_this.state.popupVisible;\n\n if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n _this.setPopupVisible(!_this.state.popupVisible, event);\n }\n };\n\n _this.onPopupMouseDown = function () {\n _this.hasPopupMouseDown = true;\n clearTimeout(_this.mouseDownTimeout);\n _this.mouseDownTimeout = window.setTimeout(function () {\n _this.hasPopupMouseDown = false;\n }, 0);\n\n if (_this.context) {\n var _this$context;\n\n (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n }\n };\n\n _this.onDocumentClick = function (event) {\n if (_this.props.mask && !_this.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n\n var root = _this.getRootDomNode();\n\n var popupNode = _this.getPopupDomNode();\n\n if ( // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || _this.isContextMenuOnly()) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n };\n\n _this.getRootDomNode = function () {\n var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n if (getTriggerDOMNode) {\n return getTriggerDOMNode(_this.triggerRef.current);\n }\n\n try {\n var domNode = findDOMNode(_this.triggerRef.current);\n\n if (domNode) {\n return domNode;\n }\n } catch (err) {// Do nothing\n }\n\n return ReactDOM.findDOMNode(_assertThisInitialized(_this));\n };\n\n _this.getPopupClassNameFromAlign = function (align) {\n var className = [];\n var _this$props = _this.props,\n popupPlacement = _this$props.popupPlacement,\n builtinPlacements = _this$props.builtinPlacements,\n prefixCls = _this$props.prefixCls,\n alignPoint = _this$props.alignPoint,\n getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n\n return className.join(' ');\n };\n\n _this.getComponent = function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n popupClassName = _this$props2.popupClassName,\n onPopupAlign = _this$props2.onPopupAlign,\n popupMotion = _this$props2.popupMotion,\n popupAnimation = _this$props2.popupAnimation,\n popupTransitionName = _this$props2.popupTransitionName,\n popupStyle = _this$props2.popupStyle,\n mask = _this$props2.mask,\n maskAnimation = _this$props2.maskAnimation,\n maskTransitionName = _this$props2.maskTransitionName,\n maskMotion = _this$props2.maskMotion,\n zIndex = _this$props2.zIndex,\n popup = _this$props2.popup,\n stretch = _this$props2.stretch,\n alignPoint = _this$props2.alignPoint,\n mobile = _this$props2.mobile,\n forceRender = _this$props2.forceRender;\n var _this$state = _this.state,\n popupVisible = _this$state.popupVisible,\n point = _this$state.point;\n\n var align = _this.getPopupAlign();\n\n var mouseProps = {};\n\n if (_this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n }\n\n if (_this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this.onPopupMouseDown;\n mouseProps.onTouchStart = _this.onPopupMouseDown;\n return /*#__PURE__*/React.createElement(Popup, _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n maskMotion: maskMotion,\n ref: _this.popupRef,\n motion: popupMotion,\n mobile: mobile,\n forceRender: forceRender\n }), typeof popup === 'function' ? popup() : popup);\n };\n\n _this.attachParent = function (popupContainer) {\n raf.cancel(_this.attachId);\n var _this$props3 = _this.props,\n getPopupContainer = _this$props3.getPopupContainer,\n getDocument = _this$props3.getDocument;\n\n var domNode = _this.getRootDomNode();\n\n var mountNode;\n\n if (!getPopupContainer) {\n mountNode = getDocument(_this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n _this.attachId = raf(function () {\n _this.attachParent(popupContainer);\n });\n }\n };\n\n _this.getContainer = function () {\n var getDocument = _this.props.getDocument;\n var popupContainer = getDocument(_this.getRootDomNode()).createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n\n _this.attachParent(popupContainer);\n\n return popupContainer;\n };\n\n _this.setPoint = function (point) {\n var alignPoint = _this.props.alignPoint;\n if (!alignPoint || !point) return;\n\n _this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n };\n\n _this.handlePortalUpdate = function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\n };\n\n _this.triggerContextValue = {\n onPopupMouseDown: _this.onPopupMouseDown\n };\n\n var _popupVisible;\n\n if ('popupVisible' in props) {\n _popupVisible = !!props.popupVisible;\n } else {\n _popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: _popupVisible,\n popupVisible: _popupVisible\n };\n ALL_HANDLERS.forEach(function (h) {\n _this[\"fire\".concat(h)] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n _createClass(Trigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var props = this.props;\n var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n\n if (state.popupVisible) {\n var currentDocument;\n\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n } // always hide on mobile\n\n\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n\n return;\n }\n\n this.clearOutsideHandler();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n }\n }, {\n key: \"getPopupDomNode\",\n value: function getPopupDomNode() {\n var _this$popupRef$curren2;\n\n // for test\n return ((_this$popupRef$curren2 = this.popupRef.current) === null || _this$popupRef$curren2 === void 0 ? void 0 : _this$popupRef$curren2.getElement()) || null;\n }\n }, {\n key: \"getPopupAlign\",\n value: function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n\n return popupAlign;\n }\n }, {\n key: \"setPopupVisible\",\n value:\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible: popupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n\n this.props.onPopupVisibleChange(popupVisible);\n } // Always record the point position since mouseEnterDelay will delay the show\n\n\n if (alignPoint && event && popupVisible) {\n this.setPoint(event);\n }\n }\n }, {\n key: \"delaySetPopupVisible\",\n value: function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n\n if (delay) {\n var point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = window.setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n }\n }, {\n key: \"clearDelayTimer\",\n value: function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n }, {\n key: \"clearOutsideHandler\",\n value: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n }, {\n key: \"createTwoChains\",\n value: function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n\n if (childPros[event] && props[event]) {\n return this[\"fire\".concat(event)];\n }\n\n return childPros[event] || props[event];\n }\n }, {\n key: \"isClickToShow\",\n value: function isClickToShow() {\n var _this$props4 = this.props,\n action = _this$props4.action,\n showAction = _this$props4.showAction;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isContextMenuOnly\",\n value: function isContextMenuOnly() {\n var action = this.props.action;\n return action === 'contextMenu' || action.length === 1 && action[0] === 'contextMenu';\n }\n }, {\n key: \"isContextMenuToShow\",\n value: function isContextMenuToShow() {\n var _this$props5 = this.props,\n action = _this$props5.action,\n showAction = _this$props5.showAction;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n }, {\n key: \"isClickToHide\",\n value: function isClickToHide() {\n var _this$props6 = this.props,\n action = _this$props6.action,\n hideAction = _this$props6.hideAction;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isMouseEnterToShow\",\n value: function isMouseEnterToShow() {\n var _this$props7 = this.props,\n action = _this$props7.action,\n showAction = _this$props7.showAction;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n }, {\n key: \"isMouseLeaveToHide\",\n value: function isMouseLeaveToHide() {\n var _this$props8 = this.props,\n action = _this$props8.action,\n hideAction = _this$props8.hideAction;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n }, {\n key: \"isFocusToShow\",\n value: function isFocusToShow() {\n var _this$props9 = this.props,\n action = _this$props9.action,\n showAction = _this$props9.showAction;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n }, {\n key: \"isBlurToHide\",\n value: function isBlurToHide() {\n var _this$props10 = this.props,\n action = _this$props10.action,\n hideAction = _this$props10.hideAction;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n }, {\n key: \"forcePopupAlign\",\n value: function forcePopupAlign() {\n if (this.state.popupVisible) {\n var _this$popupRef$curren3;\n\n (_this$popupRef$curren3 = this.popupRef.current) === null || _this$popupRef$curren3 === void 0 ? void 0 : _this$popupRef$curren3.forceAlign();\n }\n }\n }, {\n key: \"fireEvents\",\n value: function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n\n if (childCallback) {\n childCallback(e);\n }\n\n var callback = this.props[type];\n\n if (callback) {\n callback(e);\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n this.setPopupVisible(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var popupVisible = this.state.popupVisible;\n var _this$props11 = this.props,\n children = _this$props11.children,\n forceRender = _this$props11.forceRender,\n alignPoint = _this$props11.alignPoint,\n className = _this$props11.className,\n autoDestroy = _this$props11.autoDestroy;\n var child = React.Children.only(children);\n var newChildProps = {\n key: 'trigger'\n }; // ============================== Visible Handlers ==============================\n // >>> ContextMenu\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n } // >>> Click\n\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n } // >>> Hover(enter)\n\n\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter; // Point align\n\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n } // >>> Hover(leave)\n\n\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n } // >>> Focus\n\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n } // =================================== Render ===================================\n\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n\n var cloneProps = _objectSpread({}, newChildProps);\n\n if (supportRef(child)) {\n cloneProps.ref = composeRef(this.triggerRef, child.ref);\n }\n\n var trigger = /*#__PURE__*/React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = /*#__PURE__*/React.createElement(PortalComponent, {\n key: \"portal\",\n getContainer: this.getContainer,\n didUpdate: this.handlePortalUpdate\n }, this.getComponent());\n }\n\n if (!popupVisible && autoDestroy) {\n portal = null;\n }\n\n return /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: this.triggerContextValue\n }, trigger, portal);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Trigger;\n }(React.Component);\n\n Trigger.contextType = TriggerContext;\n Trigger.defaultProps = {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n autoDestroy: false\n };\n return Trigger;\n}\nexport default generateTrigger(Portal);","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}","import * as React from 'react';\nimport type { ICustomizations } from './Customizations';\n\nexport interface ICustomizerContext {\n customizations: ICustomizations;\n}\n\nexport const CustomizerContext = React.createContext({\n customizations: {\n inCustomizerContext: false,\n settings: {},\n scopedSettings: {},\n },\n});\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n\n return root.contains(n);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback);\n }\n }\n };\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","import * as React from 'react';\nimport classNames from 'classnames';\n\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n\n if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n\n if (_onMouseDown) {\n _onMouseDown(event);\n }\n },\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n },\n unselectable: \"on\",\n onClick: onClick,\n \"aria-hidden\": true\n }, icon !== undefined ? icon : /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(className.split(/\\s+/).map(function (cls) {\n return \"\".concat(cls, \"-icon\");\n }))\n }, children));\n};\n\nexport default TransBtn;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nexport var LayoutContext = /*#__PURE__*/React.createContext({\n siderHook: {\n addSider: function addSider() {\n return null;\n },\n removeSider: function removeSider() {\n return null;\n }\n }\n});\n\nfunction generator(_ref) {\n var suffixCls = _ref.suffixCls,\n tagName = _ref.tagName,\n displayName = _ref.displayName;\n return function (BasicComponent) {\n var Adapter = function Adapter(props) {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(suffixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(BasicComponent, _extends({\n prefixCls: prefixCls,\n tagName: tagName\n }, props));\n };\n\n Adapter.displayName = displayName;\n return Adapter;\n };\n}\n\nvar Basic = function Basic(props) {\n var prefixCls = props.prefixCls,\n className = props.className,\n children = props.children,\n tagName = props.tagName,\n others = __rest(props, [\"prefixCls\", \"className\", \"children\", \"tagName\"]);\n\n var classString = classNames(prefixCls, className);\n return /*#__PURE__*/React.createElement(tagName, _extends({\n className: classString\n }, others), children);\n};\n\nvar BasicLayout = function BasicLayout(props) {\n var _classNames;\n\n var _React$useContext2 = React.useContext(ConfigContext),\n direction = _React$useContext2.direction;\n\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n siders = _React$useState2[0],\n setSiders = _React$useState2[1];\n\n var prefixCls = props.prefixCls,\n className = props.className,\n children = props.children,\n hasSider = props.hasSider,\n Tag = props.tagName,\n others = __rest(props, [\"prefixCls\", \"className\", \"children\", \"hasSider\", \"tagName\"]);\n\n var classString = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-sider\"), typeof hasSider === 'boolean' ? hasSider : siders.length > 0), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(LayoutContext.Provider, {\n value: {\n siderHook: {\n addSider: function addSider(id) {\n setSiders(function (prev) {\n return [].concat(_toConsumableArray(prev), [id]);\n });\n },\n removeSider: function removeSider(id) {\n setSiders(function (prev) {\n return prev.filter(function (currentId) {\n return currentId !== id;\n });\n });\n }\n }\n }\n }, /*#__PURE__*/React.createElement(Tag, _extends({\n className: classString\n }, others), children));\n};\n\nvar Layout = generator({\n suffixCls: 'layout',\n tagName: 'section',\n displayName: 'Layout'\n})(BasicLayout);\nvar Header = generator({\n suffixCls: 'layout-header',\n tagName: 'header',\n displayName: 'Header'\n})(Basic);\nvar Footer = generator({\n suffixCls: 'layout-footer',\n tagName: 'footer',\n displayName: 'Footer'\n})(Basic);\nvar Content = generator({\n suffixCls: 'layout-content',\n tagName: 'main',\n displayName: 'Content'\n})(Basic);\nexport { Header, Footer, Content };\nexport default Layout;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nexport function getInputClassName(prefixCls, bordered, size, disabled, direction) {\n var _classNames;\n\n return classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames));\n}\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseOutlinedSvg\n }));\n};\n\nCloseOutlined.displayName = 'CloseOutlined';\nexport default /*#__PURE__*/React.forwardRef(CloseOutlined);","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","// This icon file is generated automatically.\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexport default CheckCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CheckCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CheckCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CheckCircleFilled = function CheckCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CheckCircleFilledSvg\n }));\n};\n\nCheckCircleFilled.displayName = 'CheckCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(CheckCircleFilled);","import arrayLikeToArray from \"@babel/runtime/helpers/esm/arrayLikeToArray\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4))) {\n return true;\n }\n\n return false;\n});","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","// This icon file is generated automatically.\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexport default ExclamationCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ExclamationCircleFilledSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ExclamationCircleFilledSvg\n }));\n};\n\nExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(ExclamationCircleFilled);","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { CSSMotionList } from 'rc-motion';\nimport Notice from './Notice';\nimport _useNotification from './useNotification';\nvar seed = 0;\nvar now = Date.now();\n\nfunction getUuid() {\n var id = seed;\n seed += 1;\n return \"rcNotification_\".concat(now, \"_\").concat(id);\n}\n\nvar Notification = /*#__PURE__*/function (_Component) {\n _inherits(Notification, _Component);\n\n var _super = _createSuper(Notification);\n\n function Notification() {\n var _this;\n\n _classCallCheck(this, Notification);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n notices: []\n };\n _this.hookRefs = new Map();\n\n _this.add = function (originNotice, holderCallback) {\n var key = originNotice.key || getUuid();\n\n var notice = _objectSpread(_objectSpread({}, originNotice), {}, {\n key: key\n });\n\n var maxCount = _this.props.maxCount;\n\n _this.setState(function (previousState) {\n var notices = previousState.notices;\n var noticeIndex = notices.map(function (v) {\n return v.notice.key;\n }).indexOf(key);\n var updatedNotices = notices.concat();\n\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, {\n notice: notice,\n holderCallback: holderCallback\n });\n } else {\n if (maxCount && notices.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n // eslint-disable-next-line no-param-reassign\n // zombieJ: Not know why use `updateKey`. This makes Notice infinite loop in jest.\n // Change to `updateMark` for compare instead.\n // https://github.com/react-component/notification/commit/32299e6be396f94040bfa82517eea940db947ece\n notice.key = updatedNotices[0].notice.key;\n notice.updateMark = getUuid(); // zombieJ: That's why. User may close by key directly.\n // We need record this but not re-render to avoid upper issue\n // https://github.com/react-component/notification/issues/129\n\n notice.userPassKey = key;\n updatedNotices.shift();\n }\n\n updatedNotices.push({\n notice: notice,\n holderCallback: holderCallback\n });\n }\n\n return {\n notices: updatedNotices\n };\n });\n };\n\n _this.remove = function (removeKey) {\n _this.setState(function (_ref) {\n var notices = _ref.notices;\n return {\n notices: notices.filter(function (_ref2) {\n var _ref2$notice = _ref2.notice,\n key = _ref2$notice.key,\n userPassKey = _ref2$notice.userPassKey;\n var mergedKey = userPassKey || key;\n return mergedKey !== removeKey;\n })\n };\n });\n };\n\n _this.noticePropsMap = {};\n return _this;\n }\n\n _createClass(Notification, [{\n key: \"getTransitionName\",\n value: function getTransitionName() {\n var _this$props = this.props,\n prefixCls = _this$props.prefixCls,\n animation = _this$props.animation;\n var transitionName = this.props.transitionName;\n\n if (!transitionName && animation) {\n transitionName = \"\".concat(prefixCls, \"-\").concat(animation);\n }\n\n return transitionName;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var notices = this.state.notices;\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n closeIcon = _this$props2.closeIcon,\n style = _this$props2.style;\n var noticeKeys = [];\n notices.forEach(function (_ref3, index) {\n var notice = _ref3.notice,\n holderCallback = _ref3.holderCallback;\n var updateMark = index === notices.length - 1 ? notice.updateMark : undefined;\n var key = notice.key,\n userPassKey = notice.userPassKey;\n\n var noticeProps = _objectSpread(_objectSpread(_objectSpread({\n prefixCls: prefixCls,\n closeIcon: closeIcon\n }, notice), notice.props), {}, {\n key: key,\n noticeKey: userPassKey || key,\n updateMark: updateMark,\n onClose: function onClose(noticeKey) {\n var _notice$onClose;\n\n _this2.remove(noticeKey);\n\n (_notice$onClose = notice.onClose) === null || _notice$onClose === void 0 ? void 0 : _notice$onClose.call(notice);\n },\n onClick: notice.onClick,\n children: notice.content\n }); // Give to motion\n\n\n noticeKeys.push(key);\n _this2.noticePropsMap[key] = {\n props: noticeProps,\n holderCallback: holderCallback\n };\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className),\n style: style\n }, /*#__PURE__*/React.createElement(CSSMotionList, {\n keys: noticeKeys,\n motionName: this.getTransitionName(),\n onVisibleChanged: function onVisibleChanged(changedVisible, _ref4) {\n var key = _ref4.key;\n\n if (!changedVisible) {\n delete _this2.noticePropsMap[key];\n }\n }\n }, function (_ref5) {\n var key = _ref5.key,\n motionClassName = _ref5.className,\n motionStyle = _ref5.style,\n visible = _ref5.visible;\n var _this2$noticePropsMap = _this2.noticePropsMap[key],\n noticeProps = _this2$noticePropsMap.props,\n holderCallback = _this2$noticePropsMap.holderCallback;\n\n if (holderCallback) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n className: classNames(motionClassName, \"\".concat(prefixCls, \"-hook-holder\")),\n style: _objectSpread({}, motionStyle),\n ref: function ref(div) {\n if (typeof key === 'undefined') {\n return;\n }\n\n if (div) {\n _this2.hookRefs.set(key, div);\n\n holderCallback(div, noticeProps);\n } else {\n _this2.hookRefs.delete(key);\n }\n }\n });\n }\n\n return /*#__PURE__*/React.createElement(Notice, _extends({}, noticeProps, {\n className: classNames(motionClassName, noticeProps === null || noticeProps === void 0 ? void 0 : noticeProps.className),\n style: _objectSpread(_objectSpread({}, motionStyle), noticeProps === null || noticeProps === void 0 ? void 0 : noticeProps.style),\n visible: visible\n }));\n }));\n }\n }]);\n\n return Notification;\n}(Component);\n\nNotification.newInstance = void 0;\nNotification.defaultProps = {\n prefixCls: 'rc-notification',\n animation: 'fade',\n style: {\n top: 65,\n left: '50%'\n }\n};\n\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n var _ref6 = properties || {},\n getContainer = _ref6.getContainer,\n props = _objectWithoutProperties(_ref6, [\"getContainer\"]);\n\n var div = document.createElement('div');\n\n if (getContainer) {\n var root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n\n var called = false;\n\n function ref(notification) {\n if (called) {\n return;\n }\n\n called = true;\n callback({\n notice: function notice(noticeProps) {\n notification.add(noticeProps);\n },\n removeNotice: function removeNotice(key) {\n notification.remove(key);\n },\n component: notification,\n destroy: function destroy() {\n ReactDOM.unmountComponentAtNode(div);\n\n if (div.parentNode) {\n div.parentNode.removeChild(div);\n }\n },\n // Hooks\n useNotification: function useNotification() {\n return _useNotification(notification);\n }\n });\n } // Only used for test case usage\n\n\n if (process.env.NODE_ENV === 'test' && properties.TEST_RENDER) {\n properties.TEST_RENDER( /*#__PURE__*/React.createElement(Notification, _extends({}, props, {\n ref: ref\n })));\n return;\n }\n\n ReactDOM.render( /*#__PURE__*/React.createElement(Notification, _extends({}, props, {\n ref: ref\n })), div);\n};\n\nexport default Notification;","import Notification from './Notification';\nexport default Notification;","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","import _isArray from \"./_isArray.js\";\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Notice from './Notice';\nexport default function useNotification(notificationInstance) {\n var createdRef = React.useRef({});\n\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n elements = _React$useState2[0],\n setElements = _React$useState2[1];\n\n function notify(noticeProps) {\n var firstMount = true;\n notificationInstance.add(noticeProps, function (div, props) {\n var key = props.key;\n\n if (div && (!createdRef.current[key] || firstMount)) {\n var noticeEle = /*#__PURE__*/React.createElement(Notice, _extends({}, props, {\n holder: div\n }));\n createdRef.current[key] = noticeEle;\n setElements(function (originElements) {\n var index = originElements.findIndex(function (ele) {\n return ele.key === props.key;\n });\n\n if (index === -1) {\n return [].concat(_toConsumableArray(originElements), [noticeEle]);\n }\n\n var cloneList = _toConsumableArray(originElements);\n\n cloneList[index] = noticeEle;\n return cloneList;\n });\n }\n\n firstMount = false;\n });\n }\n\n return [notify, /*#__PURE__*/React.createElement(React.Fragment, null, elements)];\n}","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","// This icon file is generated automatically.\nvar BarsOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"bars\", \"theme\": \"outlined\" };\nexport default BarsOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport BarsOutlinedSvg from \"@ant-design/icons-svg/es/asn/BarsOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar BarsOutlined = function BarsOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: BarsOutlinedSvg\n }));\n};\n\nBarsOutlined.displayName = 'BarsOutlined';\nexport default /*#__PURE__*/React.forwardRef(BarsOutlined);","var isNumeric = function isNumeric(value) {\n return !isNaN(parseFloat(value)) && isFinite(value);\n};\n\nexport default isNumeric;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { useContext, useRef, useState, useEffect } from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport BarsOutlined from \"@ant-design/icons/es/icons/BarsOutlined\";\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport LeftOutlined from \"@ant-design/icons/es/icons/LeftOutlined\";\nimport { LayoutContext } from './layout';\nimport { ConfigContext } from '../config-provider';\nimport isNumeric from '../_util/isNumeric';\nvar dimensionMaxMap = {\n xs: '479.98px',\n sm: '575.98px',\n md: '767.98px',\n lg: '991.98px',\n xl: '1199.98px',\n xxl: '1599.98px'\n};\nexport var SiderContext = /*#__PURE__*/React.createContext({});\n\nvar generateId = function () {\n var i = 0;\n return function () {\n var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n i += 1;\n return \"\".concat(prefix).concat(i);\n };\n}();\n\nvar Sider = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n trigger = _a.trigger,\n children = _a.children,\n _a$defaultCollapsed = _a.defaultCollapsed,\n defaultCollapsed = _a$defaultCollapsed === void 0 ? false : _a$defaultCollapsed,\n _a$theme = _a.theme,\n theme = _a$theme === void 0 ? 'dark' : _a$theme,\n _a$style = _a.style,\n style = _a$style === void 0 ? {} : _a$style,\n _a$collapsible = _a.collapsible,\n collapsible = _a$collapsible === void 0 ? false : _a$collapsible,\n _a$reverseArrow = _a.reverseArrow,\n reverseArrow = _a$reverseArrow === void 0 ? false : _a$reverseArrow,\n _a$width = _a.width,\n width = _a$width === void 0 ? 200 : _a$width,\n _a$collapsedWidth = _a.collapsedWidth,\n collapsedWidth = _a$collapsedWidth === void 0 ? 80 : _a$collapsedWidth,\n zeroWidthTriggerStyle = _a.zeroWidthTriggerStyle,\n breakpoint = _a.breakpoint,\n onCollapse = _a.onCollapse,\n onBreakpoint = _a.onBreakpoint,\n props = __rest(_a, [\"prefixCls\", \"className\", \"trigger\", \"children\", \"defaultCollapsed\", \"theme\", \"style\", \"collapsible\", \"reverseArrow\", \"width\", \"collapsedWidth\", \"zeroWidthTriggerStyle\", \"breakpoint\", \"onCollapse\", \"onBreakpoint\"]);\n\n var _useContext = useContext(LayoutContext),\n siderHook = _useContext.siderHook;\n\n var _useState = useState('collapsed' in props ? props.collapsed : defaultCollapsed),\n _useState2 = _slicedToArray(_useState, 2),\n collapsed = _useState2[0],\n setCollapsed = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n below = _useState4[0],\n setBelow = _useState4[1];\n\n useEffect(function () {\n if ('collapsed' in props) {\n setCollapsed(props.collapsed);\n }\n }, [props.collapsed]);\n\n var handleSetCollapsed = function handleSetCollapsed(value, type) {\n if (!('collapsed' in props)) {\n setCollapsed(value);\n }\n\n onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(value, type);\n }; // ========================= Responsive =========================\n\n\n var responsiveHandlerRef = useRef();\n\n responsiveHandlerRef.current = function (mql) {\n setBelow(mql.matches);\n onBreakpoint === null || onBreakpoint === void 0 ? void 0 : onBreakpoint(mql.matches);\n\n if (collapsed !== mql.matches) {\n handleSetCollapsed(mql.matches, 'responsive');\n }\n };\n\n useEffect(function () {\n function responsiveHandler(mql) {\n return responsiveHandlerRef.current(mql);\n }\n\n var mql;\n\n if (typeof window !== 'undefined') {\n var _window = window,\n matchMedia = _window.matchMedia;\n\n if (matchMedia && breakpoint && breakpoint in dimensionMaxMap) {\n mql = matchMedia(\"(max-width: \".concat(dimensionMaxMap[breakpoint], \")\"));\n\n try {\n mql.addEventListener('change', responsiveHandler);\n } catch (error) {\n mql.addListener(responsiveHandler);\n }\n\n responsiveHandler(mql);\n }\n }\n\n return function () {\n try {\n mql === null || mql === void 0 ? void 0 : mql.removeEventListener('change', responsiveHandler);\n } catch (error) {\n mql === null || mql === void 0 ? void 0 : mql.removeListener(responsiveHandler);\n }\n };\n }, []);\n useEffect(function () {\n var uniqueId = generateId('ant-sider-');\n siderHook.addSider(uniqueId);\n return function () {\n return siderHook.removeSider(uniqueId);\n };\n }, []);\n\n var toggle = function toggle() {\n handleSetCollapsed(!collapsed, 'clickTrigger');\n };\n\n var _useContext2 = useContext(ConfigContext),\n getPrefixCls = _useContext2.getPrefixCls;\n\n var renderSider = function renderSider() {\n var _classNames;\n\n var prefixCls = getPrefixCls('layout-sider', customizePrefixCls);\n var divProps = omit(props, ['collapsed']);\n var rawWidth = collapsed ? collapsedWidth : width; // use \"px\" as fallback unit for width\n\n var siderWidth = isNumeric(rawWidth) ? \"\".concat(rawWidth, \"px\") : String(rawWidth); // special trigger when collapsedWidth == 0\n\n var zeroWidthTrigger = parseFloat(String(collapsedWidth || 0)) === 0 ? /*#__PURE__*/React.createElement(\"span\", {\n onClick: toggle,\n className: classNames(\"\".concat(prefixCls, \"-zero-width-trigger\"), \"\".concat(prefixCls, \"-zero-width-trigger-\").concat(reverseArrow ? 'right' : 'left')),\n style: zeroWidthTriggerStyle\n }, trigger || /*#__PURE__*/React.createElement(BarsOutlined, null)) : null;\n var iconObj = {\n expanded: reverseArrow ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null),\n collapsed: reverseArrow ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null)\n };\n var status = collapsed ? 'collapsed' : 'expanded';\n var defaultTrigger = iconObj[status];\n var triggerDom = trigger !== null ? zeroWidthTrigger || /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-trigger\"),\n onClick: toggle,\n style: {\n width: siderWidth\n }\n }, trigger || defaultTrigger) : null;\n\n var divStyle = _extends(_extends({}, style), {\n flex: \"0 0 \".concat(siderWidth),\n maxWidth: siderWidth,\n minWidth: siderWidth,\n width: siderWidth\n });\n\n var siderCls = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(theme), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-collapsed\"), !!collapsed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-has-trigger\"), collapsible && trigger !== null && !zeroWidthTrigger), _defineProperty(_classNames, \"\".concat(prefixCls, \"-below\"), !!below), _defineProperty(_classNames, \"\".concat(prefixCls, \"-zero-width\"), parseFloat(siderWidth) === 0), _classNames), className);\n return /*#__PURE__*/React.createElement(\"aside\", _extends({\n className: siderCls\n }, divProps, {\n style: divStyle,\n ref: ref\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-children\")\n }, children), collapsible || below && zeroWidthTrigger ? triggerDom : null);\n };\n\n return /*#__PURE__*/React.createElement(SiderContext.Provider, {\n value: {\n siderCollapsed: collapsed\n }\n }, renderSider());\n});\nSider.displayName = 'Sider';\nexport default Sider;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\n\nvar UnreachableException = function UnreachableException(value) {\n _classCallCheck(this, UnreachableException);\n\n return new Error(\"unreachable case: \".concat(JSON.stringify(value)));\n};\n\nexport { UnreachableException as default };","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\nimport UnreachableException from '../_util/unreachableException';\n\nvar ButtonGroup = function ButtonGroup(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var customizePrefixCls = props.prefixCls,\n size = props.size,\n className = props.className,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n\n var prefixCls = getPrefixCls('btn-group', customizePrefixCls); // large => lg\n // small => sm\n\n var sizeCls = '';\n\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n\n case 'small':\n sizeCls = 'sm';\n break;\n\n case 'middle':\n case undefined:\n break;\n\n default:\n // eslint-disable-next-line no-console\n console.warn(new UnreachableException(size));\n }\n\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(sizeCls), sizeCls), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes\n }));\n });\n};\n\nexport default ButtonGroup;","import React from 'react';\nimport CSSMotion from 'rc-motion';\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\n\nvar getCollapsedWidth = function getCollapsedWidth() {\n return {\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n };\n};\n\nvar getRealWidth = function getRealWidth(node) {\n return {\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n };\n};\n\nvar LoadingIcon = function LoadingIcon(_ref) {\n var prefixCls = _ref.prefixCls,\n loading = _ref.loading,\n existIcon = _ref.existIcon;\n var visible = !!loading;\n\n if (existIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-loading-icon\")\n }, /*#__PURE__*/React.createElement(LoadingOutlined, null));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible // We do not really use this motionName\n ,\n motionName: \"\".concat(prefixCls, \"-loading-icon-motion\"),\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, function (_ref2, ref) {\n var className = _ref2.className,\n style = _ref2.style;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-loading-icon\"),\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: className\n }));\n });\n};\n\nexport default LoadingIcon;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\n\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport Group from './button-group';\nimport { ConfigContext } from '../config-provider';\nimport Wave from '../_util/wave';\nimport { tuple } from '../_util/type';\nimport devWarning from '../_util/devWarning';\nimport SizeContext from '../config-provider/SizeContext';\nimport LoadingIcon from './LoadingIcon';\nimport { cloneElement } from '../_util/reactNode';\nvar rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nvar isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\n\nfunction isString(str) {\n return typeof str === 'string';\n}\n\nfunction isUnborderedButtonType(type) {\n return type === 'text' || type === 'link';\n}\n\nfunction isReactFragment(node) {\n return /*#__PURE__*/React.isValidElement(node) && node.type === React.Fragment;\n} // Insert one space between two chinese characters automatically.\n\n\nfunction insertSpace(child, needInserted) {\n // Check the child if is undefined or null.\n if (child == null) {\n return;\n }\n\n var SPACE = needInserted ? ' ' : ''; // strictNullChecks oops.\n\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n\n if (typeof child === 'string') {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n\n if (isReactFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n\n return child;\n}\n\nfunction spaceChildren(children, needInserted) {\n var isPrevChildPure = false;\n var childList = [];\n React.Children.forEach(children, function (child) {\n var type = _typeof(child);\n\n var isCurrentChildPure = type === 'string' || type === 'number';\n\n if (isPrevChildPure && isCurrentChildPure) {\n var lastIndex = childList.length - 1;\n var lastChild = childList[lastIndex];\n childList[lastIndex] = \"\".concat(lastChild).concat(child);\n } else {\n childList.push(child);\n }\n\n isPrevChildPure = isCurrentChildPure;\n }); // Pass to React.Children.map to auto fill key\n\n return React.Children.map(childList, function (child) {\n return insertSpace(child, needInserted);\n });\n}\n\nvar ButtonTypes = tuple('default', 'primary', 'ghost', 'dashed', 'link', 'text');\nvar ButtonShapes = tuple('circle', 'round');\nvar ButtonHTMLTypes = tuple('submit', 'button', 'reset');\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n\n return {\n type: type\n };\n}\n\nvar InternalButton = function InternalButton(props, ref) {\n var _classNames;\n\n var _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n customizePrefixCls = props.prefixCls,\n type = props.type,\n danger = props.danger,\n shape = props.shape,\n customizeSize = props.size,\n className = props.className,\n children = props.children,\n icon = props.icon,\n _props$ghost = props.ghost,\n ghost = _props$ghost === void 0 ? false : _props$ghost,\n _props$block = props.block,\n block = _props$block === void 0 ? false : _props$block,\n _props$htmlType = props.htmlType,\n htmlType = _props$htmlType === void 0 ? 'button' : _props$htmlType,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"className\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\"]);\n\n var size = React.useContext(SizeContext);\n\n var _React$useState = React.useState(!!loading),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerLoading = _React$useState2[0],\n setLoading = _React$useState2[1];\n\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n hasTwoCNChar = _React$useState4[0],\n setHasTwoCNChar = _React$useState4[1];\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n autoInsertSpaceInButton = _React$useContext.autoInsertSpaceInButton,\n direction = _React$useContext.direction;\n\n var buttonRef = ref || /*#__PURE__*/React.createRef();\n var delayTimeoutRef = React.useRef();\n\n var isNeedInserted = function isNeedInserted() {\n return React.Children.count(children) === 1 && !icon && !isUnborderedButtonType(type);\n };\n\n var fixTwoCNChar = function fixTwoCNChar() {\n // Fix for HOC usage like \n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n\n var buttonText = buttonRef.current.textContent;\n\n if (isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n }; // =============== Update Loading ===============\n\n\n var loadingOrDelay;\n\n if (_typeof(loading) === 'object' && loading.delay) {\n loadingOrDelay = loading.delay || true;\n } else {\n loadingOrDelay = !!loading;\n }\n\n React.useEffect(function () {\n clearTimeout(delayTimeoutRef.current);\n\n if (typeof loadingOrDelay === 'number') {\n delayTimeoutRef.current = window.setTimeout(function () {\n setLoading(loadingOrDelay);\n }, loadingOrDelay);\n } else {\n setLoading(loadingOrDelay);\n }\n }, [loadingOrDelay]);\n React.useEffect(fixTwoCNChar, [buttonRef]);\n\n var handleClick = function handleClick(e) {\n var _a;\n\n var onClick = props.onClick,\n disabled = props.disabled; // https://github.com/ant-design/ant-design/issues/30207\n\n if (innerLoading || disabled) {\n e.preventDefault();\n return;\n }\n\n (_a = onClick) === null || _a === void 0 ? void 0 : _a(e);\n };\n\n devWarning(!(typeof icon === 'string' && icon.length > 2), 'Button', \"`icon` is using ReactNode instead of string naming in v4. Please check `\".concat(icon, \"` at https://ant.design/components/icon\"));\n devWarning(!(ghost && isUnborderedButtonType(type)), 'Button', \"`link` or `text` button can't be a `ghost` button.\");\n var prefixCls = getPrefixCls('btn', customizePrefixCls);\n var autoInsertSpace = autoInsertSpaceInButton !== false; // large => lg\n // small => sm\n\n var sizeCls = '';\n\n switch (customizeSize || size) {\n case 'large':\n sizeCls = 'lg';\n break;\n\n case 'small':\n sizeCls = 'sm';\n break;\n\n default:\n break;\n }\n\n var iconType = innerLoading ? 'loading' : icon;\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(type), type), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(shape), shape), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(sizeCls), sizeCls), _defineProperty(_classNames, \"\".concat(prefixCls, \"-icon-only\"), !children && children !== 0 && !!iconType), _defineProperty(_classNames, \"\".concat(prefixCls, \"-background-ghost\"), ghost && !isUnborderedButtonType(type)), _defineProperty(_classNames, \"\".concat(prefixCls, \"-loading\"), innerLoading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-two-chinese-chars\"), hasTwoCNChar && autoInsertSpace), _defineProperty(_classNames, \"\".concat(prefixCls, \"-block\"), block), _defineProperty(_classNames, \"\".concat(prefixCls, \"-dangerous\"), !!danger), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n var iconNode = icon && !innerLoading ? icon : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n var kids = children || children === 0 ? spaceChildren(children, isNeedInserted() && autoInsertSpace) : null;\n var linkButtonRestProps = omit(rest, ['navigate']);\n\n if (linkButtonRestProps.href !== undefined) {\n return /*#__PURE__*/React.createElement(\"a\", _extends({}, linkButtonRestProps, {\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids);\n }\n\n var buttonNode = /*#__PURE__*/React.createElement(\"button\", _extends({}, rest, {\n type: htmlType,\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids);\n\n if (isUnborderedButtonType(type)) {\n return buttonNode;\n }\n\n return /*#__PURE__*/React.createElement(Wave, null, buttonNode);\n};\n\nvar Button = /*#__PURE__*/React.forwardRef(InternalButton);\nButton.displayName = 'Button';\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.1\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import { getWindow } from './dom/getWindow';\n\n/**\n * Fetches an item from session storage without throwing an exception\n * @param key The key of the item to fetch from session storage\n */\nexport function getItem(key: string): string | null {\n let result = null;\n try {\n const win = getWindow();\n result = win ? win.sessionStorage.getItem(key) : null;\n } catch (e) {\n /* Eat the exception */\n }\n return result;\n}\n\n/**\n * Inserts an item into session storage without throwing an exception\n * @param key The key of the item to add to session storage\n * @param data The data to put into session storage\n */\nexport function setItem(key: string, data: string): void {\n try {\n getWindow()?.sessionStorage.setItem(key, data);\n } catch (e) {\n /* Eat the exception */\n }\n}\n","import * as React from 'react';\nimport { ConfigContext } from '../config-provider';\n\nvar Empty = function Empty() {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-default');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"184\",\n height: \"152\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 31.67)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-1\"),\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-2\"),\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n transform: \"translate(13.56)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-3\"),\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-4\"),\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-5\"),\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n transform: \"translate(149.65 15.383)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"20.654\",\n cy: \"3.167\",\n rx: \"2.849\",\n ry: \"2.815\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"\n }))));\n};\n\nexport default Empty;","import * as React from 'react';\nimport { ConfigContext } from '../config-provider';\n\nvar Simple = function Simple() {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-simple');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"64\",\n height: \"41\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"32\",\n cy: \"33\",\n rx: \"32\",\n ry: \"7\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n className: \"\".concat(prefixCls, \"-path\")\n }))));\n};\n\nexport default Simple;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport DefaultEmptyImg from './empty';\nimport SimpleEmptyImg from './simple';\nvar defaultEmptyImg = /*#__PURE__*/React.createElement(DefaultEmptyImg, null);\nvar simpleEmptyImg = /*#__PURE__*/React.createElement(SimpleEmptyImg, null);\n\nvar Empty = function Empty(_a) {\n var className = _a.className,\n customizePrefixCls = _a.prefixCls,\n _a$image = _a.image,\n image = _a$image === void 0 ? defaultEmptyImg : _a$image,\n description = _a.description,\n children = _a.children,\n imageStyle = _a.imageStyle,\n restProps = __rest(_a, [\"className\", \"prefixCls\", \"image\", \"description\", \"children\", \"imageStyle\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Empty\"\n }, function (locale) {\n var _classNames;\n\n var prefixCls = getPrefixCls('empty', customizePrefixCls);\n var des = typeof description !== 'undefined' ? description : locale.description;\n var alt = typeof des === 'string' ? des : 'empty';\n var imageNode = null;\n\n if (typeof image === 'string') {\n imageNode = /*#__PURE__*/React.createElement(\"img\", {\n alt: alt,\n src: image\n });\n } else {\n imageNode = image;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-normal\"), image === simpleEmptyImg), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className)\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-image\"),\n style: imageStyle\n }, imageNode), des && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, des), children && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, children));\n });\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;\nexport default Empty;","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import * as React from 'react';\n\n/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to\n * always return the same value (and if the initializer is a function, only call it once).\n * This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`,\n * only the value/function passed in the first time this is called is respected.\n * @returns The value. The identity of this value will always be the same.\n */\nexport function useConst(initialValue: T | (() => T)): T {\n // Use useRef to store the value because it's the least expensive built-in hook that works here\n // (we could also use `const [value] = React.useState(initialValue)` but that's more expensive\n // internally due to reducer handling which we don't need)\n const ref = React.useRef<{ value: T }>();\n if (ref.current === undefined) {\n // Box the value in an object so we can tell if it's initialized even if the initializer\n // returns/is undefined\n ref.current = {\n value: typeof initialValue === 'function' ? (initialValue as Function)() : initialValue,\n };\n }\n return ref.current.value;\n}\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport var responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport var responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nvar subscribers = new Map();\nvar subUid = -1;\nvar screens = {};\nvar responsiveObserve = {\n matchHandlers: {},\n dispatch: function dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(function (func) {\n return func(screens);\n });\n return subscribers.size >= 1;\n },\n subscribe: function subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe: function unsubscribe(token) {\n subscribers[\"delete\"](token);\n if (!subscribers.size) this.unregister();\n },\n unregister: function unregister() {\n var _this = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var handler = _this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register: function register() {\n var _this2 = this;\n\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n\n _this2.dispatch(_extends(_extends({}, screens), _defineProperty({}, screen, matches)));\n };\n\n var mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n _this2.matchHandlers[matchMediaQuery] = {\n mql: mql,\n listener: listener\n };\n listener(mql);\n });\n }\n};\nexport default responsiveObserve;","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar RightOutlined = function RightOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: RightOutlinedSvg\n }));\n};\n\nRightOutlined.displayName = 'RightOutlined';\nexport default /*#__PURE__*/React.forwardRef(RightOutlined);","// This icon file is generated automatically.\nvar ExclamationCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"outlined\" };\nexport default ExclamationCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ExclamationCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar ExclamationCircleOutlined = function ExclamationCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ExclamationCircleOutlinedSvg\n }));\n};\n\nExclamationCircleOutlined.displayName = 'ExclamationCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(ExclamationCircleOutlined);","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import { IStyleSet, IConcatenatedStyleSet } from './IStyleSet';\nimport { IStyleBase, IStyle } from './IStyle';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { ObjectOnly } from './ObjectOnly';\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet - The first style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet: TStyleSet | false | null | undefined,\n): IConcatenatedStyleSet>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n): IConcatenatedStyleSet & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n): IConcatenatedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n styleSet5: TStyleSet5 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSet1 - The first style set to be concatenated.\n * @param styleSet2 - The second style set to be concatenated.\n * @param styleSet3 - The third style set to be concatenated.\n * @param styleSet4 - The fourth style set to be concatenated.\n * @param styleSet5 - The fifth set to be concatenated.\n * @param styleSet6 - The sixth set to be concatenated.\n */\nexport function concatStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n styleSet5: TStyleSet5 | false | null | undefined,\n styleSet6: TStyleSet6 | false | null | undefined,\n): IConcatenatedStyleSet<\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly &\n ObjectOnly\n>;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | false | null | undefined)[]): IConcatenatedStyleSet;\n\n/**\n * Combine a set of styles together (but does not register css classes).\n * @param styleSets - One or more stylesets to be merged (each param can also be falsy).\n */\nexport function concatStyleSets(...styleSets: (IStyleSet | false | null | undefined)[]): IConcatenatedStyleSet {\n if (styleSets && styleSets.length === 1 && styleSets[0] && !(styleSets[0] as IStyleSet).subComponentStyles) {\n return styleSets[0] as IConcatenatedStyleSet;\n }\n\n const mergedSet: IConcatenatedStyleSet = {};\n\n // We process sub component styles in two phases. First we collect them, then we combine them into 1 style function.\n const workingSubcomponentStyles: { [key: string]: Array> } = {};\n\n for (const currentSet of styleSets) {\n if (currentSet) {\n for (const prop in currentSet) {\n if (currentSet.hasOwnProperty(prop)) {\n if (prop === 'subComponentStyles' && currentSet.subComponentStyles !== undefined) {\n // subcomponent styles - style functions or objects\n\n const currentComponentStyles = currentSet.subComponentStyles;\n for (const subCompProp in currentComponentStyles) {\n if (currentComponentStyles.hasOwnProperty(subCompProp)) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n workingSubcomponentStyles[subCompProp].push(currentComponentStyles[subCompProp]);\n } else {\n workingSubcomponentStyles[subCompProp] = [currentComponentStyles[subCompProp]];\n }\n }\n }\n\n continue;\n }\n\n // the as any casts below is a workaround for ts 2.8.\n // todo: remove cast to any in ts 2.9.\n const mergedValue: IStyle = (mergedSet as any)[prop];\n const currentValue = (currentSet as any)[prop];\n\n if (mergedValue === undefined) {\n (mergedSet as any)[prop] = currentValue;\n } else {\n (mergedSet as any)[prop] = [\n // https://github.com/Microsoft/TypeScript/issues/25474\n ...(Array.isArray(mergedValue) ? mergedValue : [mergedValue as IStyleBase]),\n ...(Array.isArray(currentValue) ? currentValue : [currentValue as IStyleBase]),\n ];\n }\n }\n }\n }\n }\n\n if (Object.keys(workingSubcomponentStyles).length > 0) {\n mergedSet.subComponentStyles = {};\n const mergedSubStyles = mergedSet.subComponentStyles;\n\n // now we process the subcomponent styles if there are any\n for (const subCompProp in workingSubcomponentStyles) {\n if (workingSubcomponentStyles.hasOwnProperty(subCompProp)) {\n const workingSet = workingSubcomponentStyles[subCompProp];\n mergedSubStyles[subCompProp] = (styleProps: any) => {\n return concatStyleSets(\n ...workingSet.map((styleFunctionOrObject: IStyleFunctionOrObject) =>\n typeof styleFunctionOrObject === 'function' ? styleFunctionOrObject(styleProps) : styleFunctionOrObject,\n ),\n );\n };\n }\n }\n }\n\n return mergedSet;\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import { createContext } from 'react';\nvar LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","import { __assign } from 'tslib';\nexport const assign = __assign;\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RowContext from './RowContext';\nimport { ConfigContext } from '../config-provider';\n\nfunction parseFlex(flex) {\n if (typeof flex === 'number') {\n return \"\".concat(flex, \" \").concat(flex, \" auto\");\n }\n\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return \"0 0 \".concat(flex);\n }\n\n return flex;\n}\n\nvar sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nvar Col = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useContext2 = React.useContext(RowContext),\n gutter = _React$useContext2.gutter,\n wrap = _React$useContext2.wrap,\n supportFlexGap = _React$useContext2.supportFlexGap;\n\n var customizePrefixCls = props.prefixCls,\n span = props.span,\n order = props.order,\n offset = props.offset,\n push = props.push,\n pull = props.pull,\n className = props.className,\n children = props.children,\n flex = props.flex,\n style = props.style,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n\n var prefixCls = getPrefixCls('col', customizePrefixCls);\n var sizeClassObj = {};\n sizes.forEach(function (size) {\n var _extends2;\n\n var sizeProps = {};\n var propSize = props[size];\n\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (_typeof(propSize) === 'object') {\n sizeProps = propSize || {};\n }\n\n delete others[size];\n sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-\").concat(sizeProps.span), sizeProps.span !== undefined), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-order-\").concat(sizeProps.order), sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-offset-\").concat(sizeProps.offset), sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-push-\").concat(sizeProps.push), sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-\").concat(size, \"-pull-\").concat(sizeProps.pull), sizeProps.pull || sizeProps.pull === 0), _defineProperty(_extends2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _extends2));\n });\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(span), span !== undefined), _defineProperty(_classNames, \"\".concat(prefixCls, \"-order-\").concat(order), order), _defineProperty(_classNames, \"\".concat(prefixCls, \"-offset-\").concat(offset), offset), _defineProperty(_classNames, \"\".concat(prefixCls, \"-push-\").concat(push), push), _defineProperty(_classNames, \"\".concat(prefixCls, \"-pull-\").concat(pull), pull), _classNames), className, sizeClassObj);\n var mergedStyle = {}; // Horizontal gutter use padding\n\n if (gutter && gutter[0] > 0) {\n var horizontalGutter = gutter[0] / 2;\n mergedStyle.paddingLeft = horizontalGutter;\n mergedStyle.paddingRight = horizontalGutter;\n } // Vertical gutter use padding when gap not support\n\n\n if (gutter && gutter[1] > 0 && !supportFlexGap) {\n var verticalGutter = gutter[1] / 2;\n mergedStyle.paddingTop = verticalGutter;\n mergedStyle.paddingBottom = verticalGutter;\n }\n\n if (flex) {\n mergedStyle.flex = parseFlex(flex); // Hack for Firefox to avoid size issue\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n\n if (flex === 'auto' && wrap === false && !mergedStyle.minWidth) {\n mergedStyle.minWidth = 0;\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n style: _extends(_extends({}, mergedStyle), style),\n className: classes,\n ref: ref\n }), children);\n});\nCol.displayName = 'Col';\nexport default Col;","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true\n};\nvar i18nInstance;\nexport var I18nContext = React.createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\nconst filterObject = require('filter-obj');\n\nconst isNullOrUndefined = value => value === null || value === undefined;\n\nconst encodeFragmentIdentifier = Symbol('encodeFragmentIdentifier');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\tcase 'bracket-separator': {\n\t\t\tconst keyValueSep = options.arrayFormat === 'bracket-separator' ?\n\t\t\t\t'[]=' :\n\t\t\t\t'=';\n\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\t// Translate null to an empty string so that it doesn't serialize as 'null'\n\t\t\t\tvalue = value === null ? '' : value;\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), keyValueSep, encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(options.arrayFormatSeparator)];\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (\n\t\t\t\t\tvalue === undefined ||\n\t\t\t\t\t(options.skipNull && value === null) ||\n\t\t\t\t\t(options.skipEmptyString && value === '')\n\t\t\t\t) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\tcase 'separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.includes(options.arrayFormatSeparator);\n\t\t\t\tconst isEncodedArray = (typeof value === 'string' && !isArray && decode(value, options).includes(options.arrayFormatSeparator));\n\t\t\t\tvalue = isEncodedArray ? decode(value, options) : value;\n\t\t\t\tconst newValue = isArray || isEncodedArray ? value.split(options.arrayFormatSeparator).map(item => decode(item, options)) : value === null ? value : decode(value, options);\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tcase 'bracket-separator':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = /(\\[\\])$/.test(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!isArray) {\n\t\t\t\t\taccumulator[key] = value ? decode(value, options) : value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst arrayValue = value === null ?\n\t\t\t\t\t[] :\n\t\t\t\t\tvalue.split(options.arrayFormatSeparator).map(item => decode(item, options));\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = arrayValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], arrayValue);\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction validateArrayFormatSeparator(value) {\n\tif (typeof value !== 'string' || value.length !== 1) {\n\t\tthrow new TypeError('arrayFormatSeparator must be single character string');\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(query, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ',',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof query !== 'string') {\n\t\treturn ret;\n\t}\n\n\tquery = query.trim().replace(/^[?#&]/, '');\n\n\tif (!query) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of query.split('&')) {\n\t\tif (param === '') {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : ['comma', 'separator', 'bracket-separator'].includes(options.arrayFormat) ? value : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none',\n\t\tarrayFormatSeparator: ','\n\t}, options);\n\n\tvalidateArrayFormatSeparator(options.arrayFormatSeparator);\n\n\tconst shouldFilter = key => (\n\t\t(options.skipNull && isNullOrUndefined(object[key])) ||\n\t\t(options.skipEmptyString && object[key] === '')\n\t);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = {};\n\n\tfor (const key of Object.keys(object)) {\n\t\tif (!shouldFilter(key)) {\n\t\t\tobjectCopy[key] = object[key];\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\tif (value.length === 0 && options.arrayFormat === 'bracket-separator') {\n\t\t\t\treturn encode(key, options) + '[]';\n\t\t\t}\n\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (url, options) => {\n\toptions = Object.assign({\n\t\tdecode: true\n\t}, options);\n\n\tconst [url_, hash] = splitOnFirst(url, '#');\n\n\treturn Object.assign(\n\t\t{\n\t\t\turl: url_.split('?')[0] || '',\n\t\t\tquery: parse(extract(url), options)\n\t\t},\n\t\toptions && options.parseFragmentIdentifier && hash ? {fragmentIdentifier: decode(hash, options)} : {}\n\t);\n};\n\nexports.stringifyUrl = (object, options) => {\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\t[encodeFragmentIdentifier]: true\n\t}, options);\n\n\tconst url = removeHash(object.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(object.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl, {sort: false});\n\n\tconst query = Object.assign(parsedQueryFromUrl, object.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\tlet hash = getHash(object.url);\n\tif (object.fragmentIdentifier) {\n\t\thash = `#${options[encodeFragmentIdentifier] ? encode(object.fragmentIdentifier, options) : object.fragmentIdentifier}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n\nexports.pick = (input, filter, options) => {\n\toptions = Object.assign({\n\t\tparseFragmentIdentifier: true,\n\t\t[encodeFragmentIdentifier]: false\n\t}, options);\n\n\tconst {url, query, fragmentIdentifier} = exports.parseUrl(input, options);\n\treturn exports.stringifyUrl({\n\t\turl,\n\t\tquery: filterObject(query, filter),\n\t\tfragmentIdentifier\n\t}, options);\n};\n\nexports.exclude = (input, filter, options) => {\n\tconst exclusionFilter = Array.isArray(filter) ? key => !filter.includes(key) : (key, value) => !filter(key, value);\n\n\treturn exports.pick(input, exclusionFilter, options);\n};\n","/* eslint-disable no-param-reassign */\nvar cached;\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n\n return cached;\n}\n\nfunction ensureSize(str) {\n var match = str.match(/^(.*)px$/);\n var value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\n\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n\n var _getComputedStyle = getComputedStyle(target, '::-webkit-scrollbar'),\n width = _getComputedStyle.width,\n height = _getComputedStyle.height;\n\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { placements } from \"rc-tooltip/es/placements\";\nvar autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1\n};\nvar autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0\n};\nvar targetOffset = [0, 0];\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n\n return _extends(_extends({}, autoAdjustOverflowDisabled), autoAdjustOverflow);\n}\nexport default function getPlacements(config) {\n var _config$arrowWidth = config.arrowWidth,\n arrowWidth = _config$arrowWidth === void 0 ? 4 : _config$arrowWidth,\n _config$horizontalArr = config.horizontalArrowShift,\n horizontalArrowShift = _config$horizontalArr === void 0 ? 16 : _config$horizontalArr,\n _config$verticalArrow = config.verticalArrowShift,\n verticalArrowShift = _config$verticalArrow === void 0 ? 8 : _config$verticalArrow,\n autoAdjustOverflow = config.autoAdjustOverflow;\n var placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0]\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0]\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4]\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4]\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4]\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)]\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4]\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)]\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4]\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth]\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4]\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth]\n }\n };\n Object.keys(placementMap).forEach(function (key) {\n placementMap[key] = config.arrowPointAtCenter ? _extends(_extends({}, placementMap[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset: targetOffset\n }) : _extends(_extends({}, placements[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow)\n });\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport RcTooltip from 'rc-tooltip';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport classNames from 'classnames';\nimport getPlacements from './placements';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport { ConfigContext } from '../config-provider';\nimport { PresetColorTypes } from '../_util/colors';\nimport { getTransitionName } from '../_util/motion';\n\nvar splitObject = function splitObject(obj, keys) {\n var picked = {};\n\n var omitted = _extends({}, obj);\n\n keys.forEach(function (key) {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked: picked,\n omitted: omitted\n };\n};\n\nvar PresetColorRegex = new RegExp(\"^(\".concat(PresetColorTypes.join('|'), \")(-inverse)?$\")); // Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\n\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n var elementType = element.type;\n\n if ((elementType.__ANT_BUTTON === true || elementType.__ANT_SWITCH === true || elementType.__ANT_CHECKBOX === true || element.type === 'button') && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n var _splitObject = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']),\n picked = _splitObject.picked,\n omitted = _splitObject.omitted;\n\n var spanStyle = _extends(_extends({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : null\n });\n\n var buttonStyle = _extends(_extends({}, omitted), {\n pointerEvents: 'none'\n });\n\n var child = cloneElement(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle,\n className: classNames(element.props.className, \"\".concat(prefixCls, \"-disabled-compatible-wrapper\"))\n }, child);\n }\n\n return element;\n}\n\nvar Tooltip = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames2;\n\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _useMergedState = useMergedState(false, {\n value: props.visible,\n defaultValue: props.defaultVisible\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n visible = _useMergedState2[0],\n setVisible = _useMergedState2[1];\n\n var isNoTitle = function isNoTitle() {\n var title = props.title,\n overlay = props.overlay;\n return !title && !overlay && title !== 0; // overlay for old version compatibility\n };\n\n var onVisibleChange = function onVisibleChange(vis) {\n var _a;\n\n setVisible(isNoTitle() ? false : vis);\n\n if (!isNoTitle()) {\n (_a = props.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n }\n };\n\n var getTooltipPlacements = function getTooltipPlacements() {\n var builtinPlacements = props.builtinPlacements,\n arrowPointAtCenter = props.arrowPointAtCenter,\n autoAdjustOverflow = props.autoAdjustOverflow;\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: arrowPointAtCenter,\n autoAdjustOverflow: autoAdjustOverflow\n });\n }; // 动态设置动画点\n\n\n var onPopupAlign = function onPopupAlign(domNode, align) {\n var placements = getTooltipPlacements(); // 当前返回的位置\n\n var placement = Object.keys(placements).filter(function (key) {\n return placements[key].points[0] === align.points[0] && placements[key].points[1] === align.points[1];\n })[0];\n\n if (!placement) {\n return;\n } // 根据当前坐标设置动画点\n\n\n var rect = domNode.getBoundingClientRect();\n var transformOrigin = {\n top: '50%',\n left: '50%'\n };\n\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = \"\".concat(rect.height - align.offset[1], \"px\");\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = \"\".concat(-align.offset[1], \"px\");\n }\n\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = \"\".concat(rect.width - align.offset[0], \"px\");\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = \"\".concat(-align.offset[0], \"px\");\n }\n\n domNode.style.transformOrigin = \"\".concat(transformOrigin.left, \" \").concat(transformOrigin.top);\n };\n\n var getOverlay = function getOverlay() {\n var title = props.title,\n overlay = props.overlay;\n\n if (title === 0) {\n return title;\n }\n\n return overlay || title || '';\n };\n\n var getPopupContainer = props.getPopupContainer,\n otherProps = __rest(props, [\"getPopupContainer\"]);\n\n var customizePrefixCls = props.prefixCls,\n openClassName = props.openClassName,\n getTooltipContainer = props.getTooltipContainer,\n overlayClassName = props.overlayClassName,\n color = props.color,\n overlayInnerStyle = props.overlayInnerStyle,\n children = props.children;\n var prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var tempVisible = visible; // Hide tooltip when there is no title\n\n if (!('visible' in props) && isNoTitle()) {\n tempVisible = false;\n }\n\n var child = getDisabledCompatibleChildren(isValidElement(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children), prefixCls);\n var childProps = child.props;\n var childCls = classNames(childProps.className, _defineProperty({}, openClassName || \"\".concat(prefixCls, \"-open\"), true));\n var customOverlayClassName = classNames(overlayClassName, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-\").concat(color), color && PresetColorRegex.test(color)), _classNames2));\n var formattedOverlayInnerStyle = overlayInnerStyle;\n var arrowContentStyle;\n\n if (color && !PresetColorRegex.test(color)) {\n formattedOverlayInnerStyle = _extends(_extends({}, overlayInnerStyle), {\n background: color\n });\n arrowContentStyle = {\n background: color\n };\n }\n\n return /*#__PURE__*/React.createElement(RcTooltip, _extends({}, otherProps, {\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: ref,\n builtinPlacements: getTooltipPlacements(),\n overlay: getOverlay(),\n visible: tempVisible,\n onVisibleChange: onVisibleChange,\n onPopupAlign: onPopupAlign,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-arrow-content\"),\n style: arrowContentStyle\n }),\n motion: {\n motionName: getTransitionName(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n }\n }), tempVisible ? cloneElement(child, {\n className: childCls\n }) : child);\n});\nTooltip.displayName = 'Tooltip';\nTooltip.defaultProps = {\n placement: 'top',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true\n};\nexport default Tooltip;","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","import { memoizeFunction } from '../../Utilities';\nimport { HighContrastSelector, getFocusStyle, hiddenContentStyle } from '../../Styling';\nimport type { IButtonStyles } from './Button.types';\nimport type { ITheme, IRawStyle } from '../../Styling';\n\nconst noOutline: IRawStyle = {\n outline: 0,\n};\n\nconst iconStyle = (fontSize?: string | number): IRawStyle => {\n return {\n fontSize: fontSize,\n margin: '0 4px',\n height: '16px',\n lineHeight: '16px',\n textAlign: 'center',\n flexShrink: 0,\n };\n};\n\n/**\n * Gets the base button styles. Note: because it is a base class to be used with the `mergeRules`\n * helper, it should have values for all class names in the interface. This let `mergeRules` optimize\n * mixing class names together.\n */\nexport const getStyles = memoizeFunction(\n (theme: ITheme): IButtonStyles => {\n const { semanticColors, effects, fonts } = theme;\n\n const border = semanticColors.buttonBorder;\n const disabledBackground = semanticColors.disabledBackground;\n const disabledText = semanticColors.disabledText;\n const buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n outlineColor: 'ButtonText',\n };\n\n return {\n root: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n theme.fonts.medium,\n {\n boxSizing: 'border-box',\n border: '1px solid ' + border,\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n padding: '0 16px',\n borderRadius: effects.roundedCorner2,\n\n selectors: {\n // IE11 workaround for preventing shift of child elements of a button when active.\n ':active > *': {\n position: 'relative',\n left: 0,\n top: 0,\n },\n },\n },\n ],\n\n rootDisabled: [\n getFocusStyle(theme, { inset: 1, highContrastStyle: buttonHighContrastFocus, borderColor: 'transparent' }),\n {\n backgroundColor: disabledBackground,\n borderColor: disabledBackground,\n color: disabledText,\n cursor: 'default',\n selectors: {\n ':hover': noOutline,\n ':focus': noOutline,\n },\n },\n ],\n\n iconDisabled: {\n color: disabledText,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n\n menuIconDisabled: {\n color: disabledText,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n\n flexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n description: {\n display: 'block',\n },\n\n textContainer: {\n flexGrow: 1,\n display: 'block',\n },\n\n icon: iconStyle(fonts.mediumPlus.fontSize),\n\n menuIcon: iconStyle(fonts.small.fontSize),\n\n label: {\n margin: '0 4px',\n lineHeight: '100%',\n display: 'block',\n },\n\n screenReaderText: hiddenContentStyle,\n };\n },\n);\n","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useForceUpdate() {\n var _React$useReducer = React.useReducer(function (x) {\n return x + 1;\n }, 0),\n _React$useReducer2 = _slicedToArray(_React$useReducer, 2),\n forceUpdate = _React$useReducer2[1];\n\n return forceUpdate;\n}","import * as React from 'react';\nimport { Image } from '../Image/Image';\nimport { css, getNativeProps, htmlElementProperties } from '../../Utilities';\nimport { classNames, MS_ICON } from './Icon.styles';\nimport type { IImageIconProps } from './Icon.types';\n\n/**\n * Fast icon component which only supports images (not font glyphs) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport const ImageIcon: React.FunctionComponent = props => {\n const { className, imageProps } = props;\n\n const nativeProps = getNativeProps>(props, htmlElementProperties, [\n 'aria-label',\n 'aria-labelledby',\n 'title',\n 'aria-describedby',\n ]);\n const altText = imageProps.alt || props['aria-label'];\n const hasName =\n altText ||\n props['aria-labelledby'] ||\n props.title ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby'] ||\n imageProps.title;\n\n // move naming or describing attributes from the container (where they are invalid) to the image\n const imageNameProps = {\n 'aria-labelledby': props['aria-labelledby'],\n 'aria-describedby': props['aria-describedby'],\n title: props.title,\n };\n\n const containerProps = hasName\n ? {}\n : {\n 'aria-hidden': true,\n };\n\n return (\n
\n {hasName\n
\n );\n};\n","import { memoizeFunction } from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nimport type { IButtonStyles } from '../Button.types';\n\nexport interface ISplitButtonClassNames {\n root?: string;\n icon?: string;\n splitButtonContainer?: string;\n flexContainer?: string;\n divider?: string;\n}\n\nexport const getSplitButtonClassNames = memoizeFunction(\n (\n styles: IButtonStyles,\n disabled: boolean,\n expanded: boolean,\n checked: boolean,\n primaryDisabled?: boolean,\n ): ISplitButtonClassNames => {\n return {\n root: mergeStyles(\n styles.splitButtonMenuButton,\n expanded && [styles.splitButtonMenuButtonExpanded],\n disabled && [styles.splitButtonMenuButtonDisabled],\n checked && !disabled && [styles.splitButtonMenuButtonChecked],\n primaryDisabled &&\n !disabled && [\n {\n selectors: {\n ':focus': styles.splitButtonMenuFocused,\n },\n },\n ],\n ),\n\n splitButtonContainer: mergeStyles(\n styles.splitButtonContainer,\n !disabled &&\n checked && [\n styles.splitButtonContainerChecked,\n {\n selectors: {\n ':hover': styles.splitButtonContainerCheckedHovered,\n },\n },\n ],\n !disabled &&\n !checked && [\n {\n selectors: {\n ':hover': styles.splitButtonContainerHovered,\n ':focus': styles.splitButtonContainerFocused,\n },\n },\n ],\n disabled && styles.splitButtonContainerDisabled,\n ),\n\n icon: mergeStyles(\n styles.splitButtonMenuIcon,\n disabled && styles.splitButtonMenuIconDisabled,\n !disabled && primaryDisabled && styles.splitButtonMenuIcon,\n ),\n\n flexContainer: mergeStyles(styles.splitButtonFlexContainer),\n\n divider: mergeStyles(\n styles.splitButtonDivider,\n (primaryDisabled || disabled) && styles.splitButtonDividerDisabled,\n ),\n };\n },\n);\n","import * as React from 'react';\nimport {\n anchorProperties,\n assign,\n buttonProperties,\n createMergedRef,\n css,\n getId,\n getNativeProps,\n initializeComponentRef,\n memoizeFunction,\n mergeAriaAttributeValues,\n nullRender,\n portalContainsElement,\n setFocusVisibility,\n warnConditionallyRequiredProps,\n warnDeprecations,\n Async,\n EventGroup,\n FocusRects,\n KeyCodes,\n} from '../../Utilities';\nimport { Icon, FontIcon, ImageIcon } from '../../Icon';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { ContextualMenu } from '../../ContextualMenu';\nimport { getBaseButtonClassNames } from './BaseButton.classNames';\nimport { getSplitButtonClassNames as getBaseSplitButtonClassNames } from './SplitButton/SplitButton.classNames';\nimport { KeytipData } from '../../KeytipData';\nimport type { IRenderFunction } from '../../Utilities';\nimport type { IContextualMenuProps } from '../../ContextualMenu';\nimport type { IButtonProps, IButton } from './Button.types';\nimport type { IButtonClassNames } from './BaseButton.classNames';\nimport type { ISplitButtonClassNames } from './SplitButton/SplitButton.classNames';\nimport type { IKeytipProps } from '../../Keytip';\n\n/**\n * {@docCategory Button}\n */\nexport interface IBaseButtonProps extends IButtonProps {\n baseClassName?: string;\n variantClassName?: string;\n}\n\n/**\n * {@docCategory Button}\n */\nexport interface IBaseButtonState {\n menuHidden: boolean;\n}\n\nconst TouchIdleDelay = 500; /* ms */\nconst COMPONENT_NAME = 'BaseButton';\n\n/**\n * {@docCategory Button}\n */\nexport class BaseButton extends React.Component implements IButton {\n private get _isSplitButton(): boolean {\n return !!this.props.menuProps && !!this.props.onClick && this.props.split === true;\n }\n\n public static defaultProps: Partial = {\n baseClassName: 'ms-Button',\n styles: {},\n split: false,\n };\n\n private _async: Async;\n private _events: EventGroup;\n private _buttonElement = React.createRef();\n private _splitButtonContainer = React.createRef();\n private _mergedRef = createMergedRef();\n private _labelId: string;\n private _descriptionId: string;\n private _ariaDescriptionId: string;\n private _classNames: IButtonClassNames;\n private _processingTouch: boolean;\n private _lastTouchTimeoutId: number | undefined;\n private _renderedVisibleMenu: boolean = false;\n\n // These fields will be used to set corresponding props on the menu.\n private _menuShouldFocusOnContainer: boolean | undefined;\n private _menuShouldFocusOnMount: boolean | undefined;\n\n private _getMemoizedMenuButtonKeytipProps = memoizeFunction((keytipProps: IKeytipProps) => {\n return {\n ...keytipProps,\n hasMenu: true,\n };\n });\n\n constructor(props: IBaseButtonProps) {\n super(props);\n\n initializeComponentRef(this);\n this._async = new Async(this);\n this._events = new EventGroup(this);\n\n warnConditionallyRequiredProps(COMPONENT_NAME, props, ['menuProps', 'onClick'], 'split', this.props.split!);\n\n warnDeprecations(COMPONENT_NAME, props, {\n rootProps: undefined,\n description: 'secondaryText',\n toggled: 'checked',\n });\n this._labelId = getId();\n this._descriptionId = getId();\n this._ariaDescriptionId = getId();\n\n this.state = {\n menuHidden: true,\n };\n }\n\n public render(): JSX.Element {\n const {\n ariaDescription,\n ariaLabel,\n ariaHidden,\n className,\n disabled,\n allowDisabledFocus,\n primaryDisabled,\n // eslint-disable-next-line deprecation/deprecation\n secondaryText = this.props.description,\n href,\n iconProps,\n menuIconProps,\n styles,\n checked,\n variantClassName,\n theme,\n toggle,\n getClassNames,\n role,\n } = this.props;\n\n const { menuHidden } = this.state;\n\n // Button is disabled if the whole button (in case of splitButton is disabled) or if the primary action is disabled\n const isPrimaryButtonDisabled = disabled || primaryDisabled;\n\n this._classNames = getClassNames\n ? getClassNames(\n theme!,\n className!,\n variantClassName!,\n iconProps && iconProps.className,\n menuIconProps && menuIconProps.className,\n isPrimaryButtonDisabled!,\n checked!,\n !menuHidden,\n !!this.props.menuProps,\n this.props.split,\n !!allowDisabledFocus,\n )\n : getBaseButtonClassNames(\n theme!,\n styles!,\n className!,\n variantClassName!,\n iconProps && iconProps.className,\n menuIconProps && menuIconProps.className,\n isPrimaryButtonDisabled!,\n !!this.props.menuProps,\n checked!,\n !menuHidden,\n this.props.split,\n );\n\n const { _ariaDescriptionId, _labelId, _descriptionId } = this;\n // Anchor tag cannot be disabled hence in disabled state rendering\n // anchor button as normal button\n const renderAsAnchor: boolean = !isPrimaryButtonDisabled && !!href;\n const tag = renderAsAnchor ? 'a' : 'button';\n\n const nativeProps = getNativeProps(\n // eslint-disable-next-line deprecation/deprecation\n assign(renderAsAnchor ? {} : { type: 'button' }, this.props.rootProps, this.props),\n renderAsAnchor ? anchorProperties : buttonProperties,\n [\n 'disabled', // let disabled buttons be focused and styled as disabled.\n ],\n );\n\n // Check for ariaLabel passed in via Button props, and fall back to aria-label passed in via native props\n const resolvedAriaLabel = ariaLabel || (nativeProps as any)['aria-label'];\n\n // Check for ariaDescription, secondaryText or aria-describedby in the native props to determine source of\n // aria-describedby. Otherwise default to undefined so property does not appear in output.\n let ariaDescribedBy = undefined;\n if (ariaDescription) {\n ariaDescribedBy = _ariaDescriptionId;\n } else if (secondaryText && this.props.onRenderDescription !== nullRender) {\n // for buttons like CompoundButton with a valid onRenderDescription, we need to set an ariaDescribedBy\n // for buttons that do not render anything (via nullRender), we should not set an ariaDescribedBy\n ariaDescribedBy = _descriptionId;\n } else if ((nativeProps as any)['aria-describedby']) {\n ariaDescribedBy = (nativeProps as any)['aria-describedby'];\n }\n\n // If an explicit aria-labelledby is given, use that and we're done.\n // If any kind of description is given (which will end up as an aria-describedby attribute)\n // and no ariaLabel is specified, set the labelledby element.\n // Otherwise, the button is labeled implicitly by the descendent text on the button (if it exists).\n let ariaLabelledBy = undefined;\n if ((nativeProps as any)['aria-labelledby']) {\n ariaLabelledBy = (nativeProps as any)['aria-labelledby'];\n } else if (ariaDescribedBy && !resolvedAriaLabel) {\n ariaLabelledBy = this._hasText() ? _labelId : undefined;\n }\n\n const dataIsFocusable =\n (this.props as any)['data-is-focusable'] === false || (disabled && !allowDisabledFocus) || this._isSplitButton\n ? false\n : true;\n\n const isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';\n // if isCheckboxTypeRole, always return a checked value.\n // Otherwise only return checked value if toggle is set to true.\n // This is because role=\"checkbox\" always needs to have an aria-checked value\n // but our checked prop only sets aria-pressed if we mark the button as a toggle=\"true\"\n const checkedOrPressedValue = isCheckboxTypeRole ? !!checked : toggle === true ? !!checked : undefined;\n\n const buttonProps = assign(nativeProps, {\n className: this._classNames.root,\n // eslint-disable-next-line deprecation/deprecation\n ref: this._mergedRef(this.props.elementRef, this._buttonElement),\n disabled: isPrimaryButtonDisabled && !allowDisabledFocus,\n onKeyDown: this._onKeyDown,\n onKeyPress: this._onKeyPress,\n onKeyUp: this._onKeyUp,\n onMouseDown: this._onMouseDown,\n onMouseUp: this._onMouseUp,\n onClick: this._onClick,\n 'aria-label': resolvedAriaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-disabled': isPrimaryButtonDisabled,\n 'data-is-focusable': dataIsFocusable,\n // aria-pressed attribute should only be present for toggle buttons\n // aria-checked attribute should only be present for toggle buttons with checkbox type role\n [isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed']: checkedOrPressedValue,\n });\n\n if (ariaHidden) {\n buttonProps['aria-hidden'] = true;\n }\n\n if (this._isSplitButton) {\n return this._onRenderSplitButtonContent(tag, buttonProps);\n } else if (this.props.menuProps) {\n const { id = `${this._labelId}-menu` } = this.props.menuProps;\n assign(buttonProps, {\n 'aria-expanded': !menuHidden,\n 'aria-controls': !menuHidden ? id : null,\n 'aria-haspopup': true,\n });\n }\n\n return this._onRenderContent(tag, buttonProps);\n }\n\n public componentDidMount() {\n // For split buttons, touching anywhere in the button should drop the dropdown, which should contain the\n // primary action. This gives more hit target space for touch environments. We're setting the onpointerdown here,\n // because React does not support Pointer events yet.\n if (this._isSplitButton && this._splitButtonContainer.current) {\n if ('onpointerdown' in this._splitButtonContainer.current) {\n this._events.on(this._splitButtonContainer.current, 'pointerdown', this._onPointerDown, true);\n }\n if ('onpointerup' in this._splitButtonContainer.current && this.props.onPointerUp) {\n this._events.on(this._splitButtonContainer.current, 'pointerup', this.props.onPointerUp, true);\n }\n }\n }\n\n public componentDidUpdate(prevProps: IBaseButtonProps, prevState: IBaseButtonState) {\n // If Button's menu was closed, run onAfterMenuDismiss.\n if (this.props.onAfterMenuDismiss && !prevState.menuHidden && this.state.menuHidden) {\n this.props.onAfterMenuDismiss();\n }\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n public focus(): void {\n if (this._isSplitButton && this._splitButtonContainer.current) {\n setFocusVisibility(true);\n this._splitButtonContainer.current.focus();\n } else if (this._buttonElement.current) {\n setFocusVisibility(true);\n this._buttonElement.current.focus();\n }\n }\n\n public dismissMenu(): void {\n this._dismissMenu();\n }\n\n public openMenu(shouldFocusOnContainer?: boolean, shouldFocusOnMount?: boolean): void {\n this._openMenu(shouldFocusOnContainer, shouldFocusOnMount);\n }\n\n private _onRenderContent(tag: any, buttonProps: IButtonProps): JSX.Element {\n const props = this.props;\n const Tag = tag;\n const {\n menuIconProps,\n menuProps,\n onRenderIcon = this._onRenderIcon,\n onRenderAriaDescription = this._onRenderAriaDescription,\n onRenderChildren = this._onRenderChildren,\n // eslint-disable-next-line deprecation/deprecation\n onRenderMenu = this._onRenderMenu,\n onRenderMenuIcon = this._onRenderMenuIcon,\n disabled,\n } = props;\n let { keytipProps } = props;\n if (keytipProps && menuProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n const Button = (keytipAttributes?: any): JSX.Element => (\n \n \n {onRenderIcon(props, this._onRenderIcon)}\n {this._onRenderTextContents()}\n {onRenderAriaDescription(props, this._onRenderAriaDescription)}\n {onRenderChildren(props, this._onRenderChildren)}\n {!this._isSplitButton &&\n (menuProps || menuIconProps || this.props.onRenderMenuIcon) &&\n onRenderMenuIcon(this.props, this._onRenderMenuIcon)}\n {menuProps &&\n !menuProps.doNotLayer &&\n this._shouldRenderMenu() &&\n onRenderMenu(menuProps, this._onRenderMenu)}\n \n \n );\n\n const Content = keytipProps ? (\n // If we're making a split button, we won't put the keytip here\n \n {(keytipAttributes: any): JSX.Element => Button(keytipAttributes)}\n \n ) : (\n Button()\n );\n\n if (menuProps && menuProps.doNotLayer) {\n return (\n <>\n {Content}\n {this._shouldRenderMenu() && onRenderMenu(menuProps, this._onRenderMenu)}\n \n );\n }\n\n return (\n <>\n {Content}\n \n \n );\n }\n\n /**\n * Method to help determine if the menu's component tree should\n * be rendered. It takes into account whether the menu is expanded,\n * whether it is a persisted menu and whether it has been shown to the user.\n */\n private _shouldRenderMenu() {\n const { menuHidden } = this.state;\n // eslint-disable-next-line deprecation/deprecation\n const { persistMenu, renderPersistedMenuHiddenOnMount } = this.props;\n\n if (!menuHidden) {\n // Always should render a menu when it is expanded\n return true;\n } else if (persistMenu && (this._renderedVisibleMenu || renderPersistedMenuHiddenOnMount)) {\n // _renderedVisibleMenu ensures that the first rendering of\n // the menu happens on-screen, as edge's scrollbar calculations are off if done while hidden.\n return true;\n }\n\n return false;\n }\n\n private _onRenderIcon = (\n buttonProps?: IButtonProps,\n defaultRender?: IRenderFunction,\n ): JSX.Element | null => {\n const { iconProps } = this.props;\n\n if (iconProps && (iconProps.iconName !== undefined || iconProps.imageProps)) {\n const { className, imageProps, ...rest } = iconProps;\n\n // If the styles prop is specified as part of iconProps, fall back to regular Icon as FontIcon and ImageIcon\n // do not have this prop.\n if (iconProps.styles) {\n return ;\n }\n if (iconProps.iconName) {\n return ;\n }\n if (imageProps) {\n return ;\n }\n }\n return null;\n };\n\n private _onRenderTextContents = (): JSX.Element | (JSX.Element | null)[] => {\n const {\n text,\n children,\n // eslint-disable-next-line deprecation/deprecation\n secondaryText = this.props.description,\n onRenderText = this._onRenderText,\n onRenderDescription = this._onRenderDescription,\n } = this.props;\n\n if (text || typeof children === 'string' || secondaryText) {\n return (\n \n {onRenderText(this.props, this._onRenderText)}\n {onRenderDescription(this.props, this._onRenderDescription)}\n \n );\n }\n return [onRenderText(this.props, this._onRenderText), onRenderDescription(this.props, this._onRenderDescription)];\n };\n\n private _onRenderText = (): JSX.Element | null => {\n let { text } = this.props;\n const { children } = this.props;\n\n // For backwards compat, we should continue to take in the text content from children.\n if (text === undefined && typeof children === 'string') {\n text = children;\n }\n\n if (this._hasText()) {\n return (\n \n {text}\n \n );\n }\n\n return null;\n };\n\n private _hasText(): boolean {\n // _onRenderTextContents and _onRenderText do not perform the same checks. Below is parity with what _onRenderText\n // used to have before the refactor that introduced this function. _onRenderTextContents does not require props.\n // text to be undefined in order for props.children to be used as a fallback.\n // Purely a code maintainability/reuse issue, but logged as Issue #4979.\n return this.props.text !== null && (this.props.text !== undefined || typeof this.props.children === 'string');\n }\n\n private _onRenderChildren = (): JSX.Element | null => {\n const { children } = this.props;\n\n // If children is just a string, either it or the text will be rendered via onRenderLabel\n // If children is another component, it will be rendered after text\n if (typeof children === 'string') {\n return null;\n }\n\n return children as any;\n };\n\n private _onRenderDescription = (props: IButtonProps) => {\n // eslint-disable-next-line deprecation/deprecation\n const { secondaryText = this.props.description } = props;\n\n // ms-Button-description is only shown when the button type is compound.\n // In other cases it will not be displayed.\n return secondaryText ? (\n \n {secondaryText}\n \n ) : null;\n };\n\n private _onRenderAriaDescription = () => {\n const { ariaDescription } = this.props;\n\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan,\n // otherwise it will be assigned to descriptionSpan.\n return ariaDescription ? (\n \n {ariaDescription}\n \n ) : null;\n };\n\n private _onRenderMenuIcon = (props: IButtonProps): JSX.Element | null => {\n const { menuIconProps } = this.props;\n\n return ;\n };\n\n private _onRenderMenu = (menuProps: IContextualMenuProps): JSX.Element => {\n const { persistMenu } = this.props;\n const { menuHidden } = this.state;\n const MenuType = this.props.menuAs || (ContextualMenu as React.ElementType);\n\n // the accessible menu label (accessible name) has a relationship to the button.\n // If the menu props do not specify an explicit value for aria-label or aria-labelledBy,\n // AND the button has text, we'll set the menu aria-labelledBy to the text element id.\n if (!menuProps.ariaLabel && !menuProps.labelElementId && this._hasText()) {\n menuProps = { ...menuProps, labelElementId: this._labelId };\n }\n\n return (\n
\n );\n\n return keytipProps ? (\n \n {(keytipAttributes: any): JSX.Element => SplitButton(keytipAttributes)}\n \n ) : (\n SplitButton()\n );\n }\n\n private _onSplitContainerFocusCapture = (ev: React.FocusEvent) => {\n const container = this._splitButtonContainer.current;\n\n // If the target is coming from the portal we do not need to set focus on the container.\n if (!container || (ev.target && portalContainsElement(ev.target, container))) {\n return;\n }\n\n // We should never be able to focus the individual buttons in a split button. Focus\n // should always remain on the container.\n container.focus();\n };\n\n private _onSplitButtonPrimaryClick = (ev: React.MouseEvent) => {\n if (!this.state.menuHidden) {\n this._dismissMenu();\n }\n\n if (!this._processingTouch && this.props.onClick) {\n this.props.onClick(ev);\n } else if (this._processingTouch) {\n this._onMenuClick(ev);\n }\n };\n\n private _onRenderSplitButtonDivider(classNames: ISplitButtonClassNames | undefined): JSX.Element | null {\n if (classNames && classNames.divider) {\n const onClick = (ev: React.MouseEvent) => {\n ev.stopPropagation();\n };\n return ;\n }\n return null;\n }\n\n private _onRenderSplitButtonMenuButton(\n classNames: ISplitButtonClassNames | undefined,\n keytipAttributes: any,\n ): JSX.Element {\n const {\n allowDisabledFocus,\n checked,\n disabled,\n splitButtonMenuProps,\n splitButtonAriaLabel,\n primaryDisabled,\n } = this.props;\n const { menuHidden } = this.state;\n let menuIconProps = this.props.menuIconProps;\n\n if (menuIconProps === undefined) {\n menuIconProps = {\n iconName: 'ChevronDown',\n };\n }\n\n const splitButtonProps = {\n ...splitButtonMenuProps,\n styles: classNames,\n checked: checked,\n disabled: disabled,\n allowDisabledFocus: allowDisabledFocus,\n onClick: this._onMenuClick,\n menuProps: undefined,\n iconProps: { ...menuIconProps, className: this._classNames.menuIcon },\n ariaLabel: splitButtonAriaLabel,\n 'aria-haspopup': true,\n 'aria-expanded': !menuHidden,\n 'data-is-focusable': false,\n };\n\n // Add data-ktp-execute-target to the split button if the keytip is defined\n return (\n \n );\n }\n\n private _onKeyDown = (ev: React.KeyboardEvent) => {\n // explicity cancelling event so click won't fire after this\n // eslint-disable-next-line deprecation/deprecation\n if (this.props.disabled && (ev.which === KeyCodes.enter || ev.which === KeyCodes.space)) {\n ev.preventDefault();\n ev.stopPropagation();\n } else if (!this.props.disabled) {\n if (this.props.menuProps) {\n this._onMenuKeyDown(ev);\n } else if (this.props.onKeyDown !== undefined) {\n this.props.onKeyDown(ev); // not cancelling event because it's not disabled\n }\n }\n };\n\n private _onKeyUp = (\n ev: React.KeyboardEvent,\n ) => {\n if (!this.props.disabled && this.props.onKeyUp !== undefined) {\n this.props.onKeyUp(ev); // not cancelling event because it's not disabled\n }\n };\n\n private _onKeyPress = (\n ev: React.KeyboardEvent,\n ) => {\n if (!this.props.disabled && this.props.onKeyPress !== undefined) {\n this.props.onKeyPress(ev); // not cancelling event because it's not disabled\n }\n };\n\n private _onMouseUp = (\n ev: React.MouseEvent,\n ) => {\n if (!this.props.disabled && this.props.onMouseUp !== undefined) {\n this.props.onMouseUp(ev); // not cancelling event because it's not disabled\n }\n };\n\n private _onMouseDown = (\n ev: React.MouseEvent,\n ) => {\n if (!this.props.disabled && this.props.onMouseDown !== undefined) {\n this.props.onMouseDown(ev); // not cancelling event because it's not disabled\n }\n };\n\n private _onClick = (\n ev: React.MouseEvent,\n ) => {\n if (!this.props.disabled) {\n if (this.props.menuProps) {\n this._onMenuClick(ev);\n } else if (this.props.onClick !== undefined) {\n this.props.onClick(ev); // not cancelling event because it's not disabled\n }\n }\n };\n\n private _onSplitButtonContainerKeyDown = (ev: React.KeyboardEvent) => {\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n if (this._buttonElement.current) {\n this._buttonElement.current.click();\n ev.preventDefault();\n ev.stopPropagation();\n }\n } else {\n this._onMenuKeyDown(ev);\n }\n };\n\n private _onMenuKeyDown = (ev: React.KeyboardEvent) => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(ev);\n }\n\n // eslint-disable-next-line deprecation/deprecation\n const isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n const isDown = ev.which === KeyCodes.down;\n\n if (!ev.defaultPrevented && this._isValidMenuOpenKey(ev)) {\n const { onMenuClick } = this.props;\n if (onMenuClick) {\n onMenuClick(ev, this.props);\n }\n\n this._onToggleMenu(false);\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter || ev.which === KeyCodes.space) {\n // We manually set the focus visibility to true if opening via Enter or Space to account for the scenario where\n // a user clicks on the button, closes the menu and then opens it via keyboard. In this scenario our default logic\n // for setting focus visibility is not triggered since there is no keyboard navigation present beforehand.\n setFocusVisibility(true, ev.target as Element);\n }\n\n if (!(ev.altKey || ev.metaKey) && (isUp || isDown)) {\n // Suppose a menu, with shouldFocusOnMount: false, is open, and user wants to keyboard to the menu items\n // We need to re-render the menu with shouldFocusOnMount as true.\n\n if (!this.state.menuHidden && this.props.menuProps) {\n const currentShouldFocusOnMount =\n this._menuShouldFocusOnMount !== undefined\n ? this._menuShouldFocusOnMount\n : this.props.menuProps.shouldFocusOnMount;\n if (!currentShouldFocusOnMount) {\n ev.preventDefault();\n ev.stopPropagation();\n this._menuShouldFocusOnMount = true;\n this.forceUpdate();\n }\n }\n }\n };\n\n private _onTouchStart: () => void = () => {\n if (\n this._isSplitButton &&\n this._splitButtonContainer.current &&\n !('onpointerdown' in this._splitButtonContainer.current)\n ) {\n this._handleTouchAndPointerEvent();\n }\n };\n\n private _onPointerDown(\n ev: PointerEvent &\n React.PointerEvent,\n ) {\n const { onPointerDown } = this.props;\n if (onPointerDown) {\n onPointerDown(ev);\n }\n\n if (ev.pointerType === 'touch') {\n this._handleTouchAndPointerEvent();\n\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n }\n\n private _handleTouchAndPointerEvent() {\n // If we already have an existing timeout from a previous touch and pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId !== undefined) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n\n this._lastTouchTimeoutId = this._async.setTimeout(() => {\n this._processingTouch = false;\n this._lastTouchTimeoutId = undefined;\n\n // Touch and pointer events don't focus the button naturally,\n // so adding an imperative focus call to guarantee this behavior.\n this.focus();\n }, TouchIdleDelay);\n }\n\n /**\n * Returns if the user hits a valid keyboard key to open the menu\n * @param ev - the keyboard event\n * @returns True if user clicks on custom trigger key if enabled or alt + down arrow if not. False otherwise.\n */\n private _isValidMenuOpenKey(\n ev: React.KeyboardEvent,\n ): boolean {\n if (this.props.menuTriggerKeyCode) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === this.props.menuTriggerKeyCode;\n } else if (this.props.menuProps) {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.down && (ev.altKey || ev.metaKey);\n }\n\n // Note: When enter is pressed, we will let the event continue to propagate\n // to trigger the onClick event on the button\n return false;\n }\n\n private _onMenuClick = (\n ev: React.MouseEvent,\n ) => {\n const { onMenuClick } = this.props;\n if (onMenuClick) {\n onMenuClick(ev, this.props);\n }\n\n if (!ev.defaultPrevented) {\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n const shouldFocusOnContainer =\n ev.nativeEvent.detail !== 0 || (ev.nativeEvent as PointerEvent).pointerType === 'mouse';\n this._onToggleMenu(shouldFocusOnContainer);\n ev.preventDefault();\n ev.stopPropagation();\n }\n };\n}\n","/* eslint-disable no-console */\n\nlet _warningCallback: ((message: string) => void) | undefined = undefined;\n\nexport type ISettingsMap = { [P in keyof T]?: string };\n\n/**\n * Sends a warning to console, if the api is present.\n *\n * @public\n * @param message - Warning message.\n */\nexport function warn(message: string): void {\n if (_warningCallback && process.env.NODE_ENV !== 'production') {\n _warningCallback(message);\n } else if (console && console.warn) {\n console.warn(message);\n }\n}\n\n/**\n * Configures the warning callback. Passing in undefined will reset it to use the default\n * console.warn function.\n *\n * @public\n * @param warningCallback - Callback to override the generated warnings.\n */\nexport function setWarningCallback(warningCallback?: (message: string) => void): void {\n _warningCallback = warningCallback;\n}\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","export default (function (element) {\n if (!element) {\n return false;\n }\n\n if (element.offsetParent) {\n return true;\n }\n\n if (element.getBBox) {\n var box = element.getBBox();\n\n if (box.width || box.height) {\n return true;\n }\n }\n\n if (element.getBoundingClientRect) {\n var _box = element.getBoundingClientRect();\n\n if (_box.width || _box.height) {\n return true;\n }\n }\n\n return false;\n});","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US'; // Merge into a locale object\n\nvar locale = {\n lang: _extends({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: _extends({}, TimePickerLocale)\n}; // All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nexport default locale;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n\n idx = 0;\n\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n\n return result;\n}","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nexport var canUseDocElement = function canUseDocElement() {\n return canUseDom() && window.document.documentElement;\n};\nexport var isStyleSupport = function isStyleSupport(styleName) {\n if (canUseDocElement()) {\n var styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n var documentElement = window.document.documentElement;\n return styleNameList.some(function (name) {\n return name in documentElement.style;\n });\n }\n\n return false;\n};\nvar flexGapSupported;\nexport var detectFlexGapSupported = function detectFlexGapSupported() {\n if (!canUseDocElement()) {\n return false;\n }\n\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n } // create flex container with row-gap set\n\n\n var flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px'; // create two, elements inside it\n\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div')); // append to the DOM (needed to obtain scrollHeight)\n\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n\n document.body.removeChild(flex);\n return flexGapSupported;\n};","// This icon file is generated automatically.\nvar EllipsisOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"ellipsis\", \"theme\": \"outlined\" };\nexport default EllipsisOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EllipsisOutlinedSvg from \"@ant-design/icons-svg/es/asn/EllipsisOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar EllipsisOutlined = function EllipsisOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EllipsisOutlinedSvg\n }));\n};\n\nEllipsisOutlined.displayName = 'EllipsisOutlined';\nexport default /*#__PURE__*/React.forwardRef(EllipsisOutlined);","// This icon file is generated automatically.\nvar CheckCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"check-circle\", \"theme\": \"outlined\" };\nexport default CheckCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CheckCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/CheckCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CheckCircleOutlined = function CheckCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CheckCircleOutlinedSvg\n }));\n};\n\nCheckCircleOutlined.displayName = 'CheckCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(CheckCircleOutlined);","// This icon file is generated automatically.\nvar InfoCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"info-circle\", \"theme\": \"outlined\" };\nexport default InfoCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport InfoCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/InfoCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar InfoCircleOutlined = function InfoCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: InfoCircleOutlinedSvg\n }));\n};\n\nInfoCircleOutlined.displayName = 'InfoCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(InfoCircleOutlined);","// This icon file is generated automatically.\nvar CloseCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"close-circle\", \"theme\": \"outlined\" };\nexport default CloseCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloseCircleOutlined = function CloseCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseCircleOutlinedSvg\n }));\n};\n\nCloseCircleOutlined.displayName = 'CloseCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(CloseCircleOutlined);","// This icon file is generated automatically.\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexport default DownOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DownOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar DownOutlined = function DownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DownOutlinedSvg\n }));\n};\n\nDownOutlined.displayName = 'DownOutlined';\nexport default /*#__PURE__*/React.forwardRef(DownOutlined);","export let _isSSR = false;\n\n/**\n * Helper to set ssr mode to simulate no window object returned from getWindow helper.\n *\n * @public\n */\nexport function setSSR(isEnabled: boolean): void {\n _isSSR = isEnabled;\n}\n","import * as React from 'react';\nimport type { Theme } from '@fluentui/theme';\n\nexport const ThemeContext = React.createContext(undefined);\n","import { IStyle, IStyleBaseArray } from './IStyle';\nimport { Stylesheet } from './Stylesheet';\n\n/**\n * Separates the classes and style objects. Any classes that are pre-registered\n * args are auto expanded into objects.\n */\nexport function extractStyleParts(\n ...args: (IStyle | IStyle[] | false | null | undefined)[]\n): { classes: string[]; objects: IStyleBaseArray } {\n const classes: string[] = [];\n const objects: {}[] = [];\n const stylesheet = Stylesheet.getInstance();\n\n function _processArgs(argsList: (IStyle | IStyle[])[]): void {\n for (const arg of argsList) {\n if (arg) {\n if (typeof arg === 'string') {\n if (arg.indexOf(' ') >= 0) {\n _processArgs(arg.split(' '));\n } else {\n const translatedArgs = stylesheet.argsFromClassName(arg);\n\n if (translatedArgs) {\n _processArgs(translatedArgs);\n } else {\n // Avoid adding the same class twice.\n if (classes.indexOf(arg) === -1) {\n classes.push(arg);\n }\n }\n }\n } else if (Array.isArray(arg)) {\n _processArgs(arg);\n } else if (typeof arg === 'object') {\n objects.push(arg);\n }\n }\n }\n }\n\n _processArgs(args);\n\n return {\n classes,\n objects,\n };\n}\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n * const t = R.always('Tee');\n * t(); //=> 'Tee'\n */\n\nvar always =\n/*#__PURE__*/\n_curry1(function always(val) {\n return function () {\n return val;\n };\n});\n\nexport default always;","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(_reduce);\n\nexport default reduce;","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var containerRef = useRef(); // Ref return nothing, only for wrapper check exist\n\n useImperativeHandle(ref, function () {\n return {};\n }); // Create container in client side with sync to avoid useEffect not get ref\n\n var initRef = useRef(false);\n\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n initRef.current = true;\n } // [Legacy] Used by `rc-trigger`\n\n\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n return function () {\n var _containerRef$current, _containerRef$current2;\n\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","import canUseDom from './canUseDom';\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nexport function injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!canUseDom()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\nvar containerCache = new Map();\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node[MARK_KEY] === key;\n });\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode[MARK_KEY] = key;\n return newNode;\n}","var locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nexport var placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import { getParent } from './getParent';\n/**\n * Finds the first parent element where the matchFunction returns true\n * @param element - element to start searching at\n * @param matchFunction - the function that determines if the element is a match\n * @returns the matched element or null no match was found\n */\nexport function findElementRecursive(\n element: HTMLElement | null,\n matchFunction: (element: HTMLElement) => boolean,\n): HTMLElement | null {\n if (!element || element === document.body) {\n return null;\n }\n return matchFunction(element) ? element : findElementRecursive(getParent(element), matchFunction);\n}\n","import { createContext } from 'react';\nvar RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport { Component } from 'react';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\n\nvar Notice = /*#__PURE__*/function (_Component) {\n _inherits(Notice, _Component);\n\n var _super = _createSuper(Notice);\n\n function Notice() {\n var _this;\n\n _classCallCheck(this, Notice);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.closeTimer = null;\n\n _this.close = function (e) {\n if (e) {\n e.stopPropagation();\n }\n\n _this.clearCloseTimer();\n\n var _this$props = _this.props,\n onClose = _this$props.onClose,\n noticeKey = _this$props.noticeKey;\n\n if (onClose) {\n onClose(noticeKey);\n }\n };\n\n _this.startCloseTimer = function () {\n if (_this.props.duration) {\n _this.closeTimer = window.setTimeout(function () {\n _this.close();\n }, _this.props.duration * 1000);\n }\n };\n\n _this.clearCloseTimer = function () {\n if (_this.closeTimer) {\n clearTimeout(_this.closeTimer);\n _this.closeTimer = null;\n }\n };\n\n return _this;\n }\n\n _createClass(Notice, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startCloseTimer();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.duration !== prevProps.duration || this.props.updateMark !== prevProps.updateMark || // Visible again need reset timer\n this.props.visible !== prevProps.visible && this.props.visible) {\n this.restartCloseTimer();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearCloseTimer();\n }\n }, {\n key: \"restartCloseTimer\",\n value: function restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n closable = _this$props2.closable,\n closeIcon = _this$props2.closeIcon,\n style = _this$props2.style,\n onClick = _this$props2.onClick,\n children = _this$props2.children,\n holder = _this$props2.holder;\n var componentClass = \"\".concat(prefixCls, \"-notice\");\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (acc, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n acc[key] = _this2.props[key];\n }\n\n return acc;\n }, {});\n var node = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(componentClass, className, _defineProperty({}, \"\".concat(componentClass, \"-closable\"), closable)),\n style: style,\n onMouseEnter: this.clearCloseTimer,\n onMouseLeave: this.startCloseTimer,\n onClick: onClick\n }, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(componentClass, \"-content\")\n }, children), closable ? /*#__PURE__*/React.createElement(\"a\", {\n tabIndex: 0,\n onClick: this.close,\n className: \"\".concat(componentClass, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(componentClass, \"-close-x\")\n })) : null);\n\n if (holder) {\n return /*#__PURE__*/ReactDOM.createPortal(node, holder);\n }\n\n return node;\n }\n }]);\n\n return Notice;\n}(Component);\n\nNotice.defaultProps = {\n onClose: function onClose() {},\n duration: 1.5\n};\nexport { Notice as default };","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport { tuple } from '../_util/type';\nimport { cloneElement } from '../_util/reactNode';\nimport { getInputClassName, hasPrefixSuffix } from './utils';\nvar ClearableInputType = tuple('text', 'input');\n\nfunction hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\n\nvar ClearableLabeledInput = /*#__PURE__*/function (_React$Component) {\n _inherits(ClearableLabeledInput, _React$Component);\n\n var _super = _createSuper(ClearableLabeledInput);\n\n function ClearableLabeledInput() {\n var _this;\n\n _classCallCheck(this, ClearableLabeledInput);\n\n _this = _super.apply(this, arguments);\n /** @private Do Not use out of this class. We do not promise this is always keep. */\n\n _this.containerRef = /*#__PURE__*/React.createRef();\n\n _this.onInputMouseUp = function (e) {\n var _a;\n\n if ((_a = _this.containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {\n var triggerFocus = _this.props.triggerFocus;\n triggerFocus === null || triggerFocus === void 0 ? void 0 : triggerFocus();\n }\n };\n\n return _this;\n }\n\n _createClass(ClearableLabeledInput, [{\n key: \"renderClearIcon\",\n value: function renderClearIcon(prefixCls) {\n var _classNames;\n\n var _this$props = this.props,\n allowClear = _this$props.allowClear,\n value = _this$props.value,\n disabled = _this$props.disabled,\n readOnly = _this$props.readOnly,\n handleReset = _this$props.handleReset,\n suffix = _this$props.suffix;\n\n if (!allowClear) {\n return null;\n }\n\n var needClear = !disabled && !readOnly && value;\n var className = \"\".concat(prefixCls, \"-clear-icon\");\n return /*#__PURE__*/React.createElement(CloseCircleFilled, {\n onClick: handleReset // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(className, \"-hidden\"), !needClear), _defineProperty(_classNames, \"\".concat(className, \"-has-suffix\"), !!suffix), _classNames), className),\n role: \"button\"\n });\n }\n }, {\n key: \"renderSuffix\",\n value: function renderSuffix(prefixCls) {\n var _this$props2 = this.props,\n suffix = _this$props2.suffix,\n allowClear = _this$props2.allowClear;\n\n if (suffix || allowClear) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, this.renderClearIcon(prefixCls), suffix);\n }\n\n return null;\n }\n }, {\n key: \"renderLabeledIcon\",\n value: function renderLabeledIcon(prefixCls, element) {\n var _classNames2;\n\n var _this$props3 = this.props,\n focused = _this$props3.focused,\n value = _this$props3.value,\n prefix = _this$props3.prefix,\n className = _this$props3.className,\n size = _this$props3.size,\n suffix = _this$props3.suffix,\n disabled = _this$props3.disabled,\n allowClear = _this$props3.allowClear,\n direction = _this$props3.direction,\n style = _this$props3.style,\n readOnly = _this$props3.readOnly,\n bordered = _this$props3.bordered;\n var suffixNode = this.renderSuffix(prefixCls);\n\n if (!hasPrefixSuffix(this.props)) {\n return cloneElement(element, {\n value: value\n });\n }\n\n var prefixNode = prefix ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-prefix\")\n }, prefix) : null;\n var affixWrapperCls = classNames(\"\".concat(prefixCls, \"-affix-wrapper\"), (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-focused\"), focused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-sm\"), size === 'small'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-lg\"), size === 'large'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-input-with-clear-btn\"), suffix && allowClear && value), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-rtl\"), direction === 'rtl'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-readonly\"), readOnly), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-affix-wrapper-borderless\"), !bordered), _defineProperty(_classNames2, \"\".concat(className), !hasAddon(this.props) && className), _classNames2));\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: this.containerRef,\n className: affixWrapperCls,\n style: style,\n onMouseUp: this.onInputMouseUp\n }, prefixNode, cloneElement(element, {\n style: null,\n value: value,\n className: getInputClassName(prefixCls, bordered, size, disabled)\n }), suffixNode);\n }\n }, {\n key: \"renderInputWithLabel\",\n value: function renderInputWithLabel(prefixCls, labeledElement) {\n var _classNames4;\n\n var _this$props4 = this.props,\n addonBefore = _this$props4.addonBefore,\n addonAfter = _this$props4.addonAfter,\n style = _this$props4.style,\n size = _this$props4.size,\n className = _this$props4.className,\n direction = _this$props4.direction; // Not wrap when there is not addons\n\n if (!hasAddon(this.props)) {\n return labeledElement;\n }\n\n var wrapperClassName = \"\".concat(prefixCls, \"-group\");\n var addonClassName = \"\".concat(wrapperClassName, \"-addon\");\n var addonBeforeNode = addonBefore ? /*#__PURE__*/React.createElement(\"span\", {\n className: addonClassName\n }, addonBefore) : null;\n var addonAfterNode = addonAfter ? /*#__PURE__*/React.createElement(\"span\", {\n className: addonClassName\n }, addonAfter) : null;\n var mergedWrapperClassName = classNames(\"\".concat(prefixCls, \"-wrapper\"), wrapperClassName, _defineProperty({}, \"\".concat(wrapperClassName, \"-rtl\"), direction === 'rtl'));\n var mergedGroupClassName = classNames(\"\".concat(prefixCls, \"-group-wrapper\"), (_classNames4 = {}, _defineProperty(_classNames4, \"\".concat(prefixCls, \"-group-wrapper-sm\"), size === 'small'), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-group-wrapper-lg\"), size === 'large'), _defineProperty(_classNames4, \"\".concat(prefixCls, \"-group-wrapper-rtl\"), direction === 'rtl'), _classNames4), className); // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: mergedGroupClassName,\n style: style\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: mergedWrapperClassName\n }, addonBeforeNode, cloneElement(labeledElement, {\n style: null\n }), addonAfterNode));\n }\n }, {\n key: \"renderTextAreaWithClearIcon\",\n value: function renderTextAreaWithClearIcon(prefixCls, element) {\n var _classNames5;\n\n var _this$props5 = this.props,\n value = _this$props5.value,\n allowClear = _this$props5.allowClear,\n className = _this$props5.className,\n style = _this$props5.style,\n direction = _this$props5.direction,\n bordered = _this$props5.bordered;\n\n if (!allowClear) {\n return cloneElement(element, {\n value: value\n });\n }\n\n var affixWrapperCls = classNames(\"\".concat(prefixCls, \"-affix-wrapper\"), \"\".concat(prefixCls, \"-affix-wrapper-textarea-with-clear-btn\"), (_classNames5 = {}, _defineProperty(_classNames5, \"\".concat(prefixCls, \"-affix-wrapper-rtl\"), direction === 'rtl'), _defineProperty(_classNames5, \"\".concat(prefixCls, \"-affix-wrapper-borderless\"), !bordered), _defineProperty(_classNames5, \"\".concat(className), !hasAddon(this.props) && className), _classNames5));\n return /*#__PURE__*/React.createElement(\"span\", {\n className: affixWrapperCls,\n style: style\n }, cloneElement(element, {\n style: null,\n value: value\n }), this.renderClearIcon(prefixCls));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props6 = this.props,\n prefixCls = _this$props6.prefixCls,\n inputType = _this$props6.inputType,\n element = _this$props6.element;\n\n if (inputType === ClearableInputType[0]) {\n return this.renderTextAreaWithClearIcon(prefixCls, element);\n }\n\n return this.renderInputWithLabel(prefixCls, this.renderLabeledIcon(prefixCls, element));\n }\n }]);\n\n return ClearableLabeledInput;\n}(React.Component);\n\nexport default ClearableLabeledInput;","import { useContext } from 'react';\nimport { useCustomizationSettings } from '@fluentui/utilities';\nimport { createTheme } from '@fluentui/theme';\nimport { ThemeContext } from './ThemeContext';\nimport type { ITheme, Theme } from '@fluentui/theme';\n\n/**\n * Get theme from CustomizerContext or Customizations singleton.\n */\nfunction useCompatTheme(): ITheme | undefined {\n return useCustomizationSettings(['theme']).theme;\n}\n\n/**\n * React hook for programmatically accessing the theme.\n */\nexport const useTheme = (): Theme => {\n const theme = useContext(ThemeContext);\n const legacyTheme = useCompatTheme();\n\n return theme || legacyTheme || createTheme({});\n};\n","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import getPrototypeOf from \"@babel/runtime/helpers/esm/getPrototypeOf\";\nimport isNativeReflectConstruct from \"@babel/runtime/helpers/esm/isNativeReflectConstruct\";\nimport possibleConstructorReturn from \"@babel/runtime/helpers/esm/possibleConstructorReturn\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","import * as React from 'react';\nimport { classNamesFunction, getNativeProps, imgProperties } from '../../Utilities';\nimport { ImageCoverStyle, ImageFit, ImageLoadState } from './Image.types';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport type { IImageProps, IImageStyleProps, IImageStyles } from './Image.types';\n\nconst getClassNames = classNamesFunction();\n\nexport interface IImageState {\n loadState?: ImageLoadState;\n}\n\nconst SVG_REGEX = /\\.svg$/i;\nconst KEY_PREFIX = 'fabricImage';\n\nfunction useLoadState(\n props: IImageProps,\n imageElement: React.RefObject,\n): readonly [\n ImageLoadState,\n /* onImageLoad */ (ev: React.SyntheticEvent) => void,\n /* onImageError */ (ev: React.SyntheticEvent) => void,\n] {\n const { onLoadingStateChange, onLoad, onError, src } = props;\n\n const [loadState, setLoadState] = React.useState(ImageLoadState.notLoaded);\n\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(() => {\n // If the src property changes, reset the load state\n // (does nothing if the load state is already notLoaded)\n setLoadState(ImageLoadState.notLoaded);\n }, [src]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- intended to run every render\n React.useEffect(() => {\n if (loadState === ImageLoadState.notLoaded) {\n // testing if naturalWidth and naturalHeight are greater than zero is better than checking\n // .complete, because .complete will also be set to true if the image breaks. However,\n // for some browsers, SVG images do not have a naturalWidth or naturalHeight, so fall back\n // to checking .complete for these images.\n const isLoaded: boolean = imageElement.current\n ? (src && imageElement.current.naturalWidth > 0 && imageElement.current.naturalHeight > 0) ||\n (imageElement.current.complete && SVG_REGEX.test(src!))\n : false;\n\n if (isLoaded) {\n setLoadState(ImageLoadState.loaded);\n }\n }\n });\n\n React.useEffect(() => {\n onLoadingStateChange?.(loadState);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run when loadState changes\n }, [loadState]);\n\n const onImageLoaded = React.useCallback(\n (ev: React.SyntheticEvent) => {\n onLoad?.(ev);\n if (src) {\n setLoadState(ImageLoadState.loaded);\n }\n },\n [src, onLoad],\n );\n\n const onImageError = React.useCallback(\n (ev: React.SyntheticEvent) => {\n onError?.(ev);\n setLoadState(ImageLoadState.error);\n },\n [onError],\n );\n\n return [loadState, onImageLoaded, onImageError] as const;\n}\n\nexport const ImageBase: React.FunctionComponent = React.forwardRef(\n (props, forwardedRef) => {\n const frameElement = React.useRef() as React.RefObject;\n const imageElement = React.useRef() as React.RefObject;\n const [loadState, onImageLoaded, onImageError] = useLoadState(props, imageElement);\n\n const imageProps = getNativeProps>(props, imgProperties, [\n 'width',\n 'height',\n ]);\n const {\n src,\n alt,\n width,\n height,\n shouldFadeIn = true,\n shouldStartVisible,\n className,\n imageFit,\n role,\n maximizeFrame,\n styles,\n theme,\n loading,\n } = props;\n const coverStyle = useCoverStyle(props, loadState, imageElement, frameElement);\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n width,\n height,\n maximizeFrame,\n shouldFadeIn,\n shouldStartVisible,\n isLoaded:\n loadState === ImageLoadState.loaded || (loadState === ImageLoadState.notLoaded && props.shouldStartVisible),\n isLandscape: coverStyle === ImageCoverStyle.landscape,\n isCenter: imageFit === ImageFit.center,\n isCenterContain: imageFit === ImageFit.centerContain,\n isCenterCover: imageFit === ImageFit.centerCover,\n isContain: imageFit === ImageFit.contain,\n isCover: imageFit === ImageFit.cover,\n isNone: imageFit === ImageFit.none,\n isError: loadState === ImageLoadState.error,\n isNotImageFit: imageFit === undefined,\n });\n\n // If image dimensions aren't specified, the natural size of the image is used.\n return (\n
\n \n
\n );\n },\n);\nImageBase.displayName = 'ImageBase';\n\nfunction useCoverStyle(\n props: IImageProps,\n loadState: ImageLoadState,\n imageElement: React.RefObject,\n frameElement: React.RefObject,\n) {\n const previousLoadState = React.useRef(loadState);\n const coverStyle = React.useRef();\n\n if (\n coverStyle === undefined ||\n (previousLoadState.current === ImageLoadState.notLoaded && loadState === ImageLoadState.loaded)\n ) {\n coverStyle.current = computeCoverStyle(props, loadState, imageElement, frameElement);\n }\n\n previousLoadState.current = loadState;\n\n return coverStyle.current!;\n}\n\nfunction computeCoverStyle(\n props: IImageProps,\n loadState: ImageLoadState,\n imageElement: React.RefObject,\n frameElement: React.RefObject,\n): ImageCoverStyle {\n const { imageFit, width, height } = props;\n\n // Do not compute cover style if it was already specified in props\n if (props.coverStyle !== undefined) {\n return props.coverStyle;\n } else if (\n loadState === ImageLoadState.loaded &&\n (imageFit === ImageFit.cover ||\n imageFit === ImageFit.contain ||\n imageFit === ImageFit.centerContain ||\n imageFit === ImageFit.centerCover) &&\n imageElement.current &&\n frameElement.current\n ) {\n // Determine the desired ratio using the width and height props.\n // If those props aren't available, measure measure the frame.\n let desiredRatio;\n if (\n typeof width === 'number' &&\n typeof height === 'number' &&\n imageFit !== ImageFit.centerContain &&\n imageFit !== ImageFit.centerCover\n ) {\n desiredRatio = width / height;\n } else {\n desiredRatio = frameElement.current.clientWidth / frameElement.current.clientHeight;\n }\n\n // Examine the source image to determine its original ratio.\n const naturalRatio = imageElement.current.naturalWidth / imageElement.current.naturalHeight;\n\n // Should we crop from the top or the sides?\n if (naturalRatio > desiredRatio) {\n return ImageCoverStyle.landscape;\n }\n }\n return ImageCoverStyle.portrait;\n}\n","import { AnimationClassNames, getGlobalClassNames } from '../../Styling';\nimport { getWindow } from '../../Utilities';\nimport type { IStyle } from '../../Styling';\nimport type { IImageStyleProps, IImageStyles } from './Image.types';\n\nconst GlobalClassNames = {\n root: 'ms-Image',\n rootMaximizeFrame: 'ms-Image--maximizeFrame',\n image: 'ms-Image-image',\n imageCenter: 'ms-Image-image--center',\n imageContain: 'ms-Image-image--contain',\n imageCover: 'ms-Image-image--cover',\n imageCenterContain: 'ms-Image-image--centerContain',\n imageCenterCover: 'ms-Image-image--centerCover',\n imageNone: 'ms-Image-image--none',\n imageLandscape: 'ms-Image-image--landscape',\n imagePortrait: 'ms-Image-image--portrait',\n};\n\nexport const getStyles = (props: IImageStyleProps): IImageStyles => {\n const {\n className,\n width,\n height,\n maximizeFrame,\n isLoaded,\n shouldFadeIn,\n shouldStartVisible,\n isLandscape,\n isCenter,\n isContain,\n isCover,\n isCenterContain,\n isCenterCover,\n isNone,\n isError,\n isNotImageFit,\n theme,\n } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const ImageFitStyles: IStyle = {\n position: 'absolute',\n left: '50% /* @noflip */',\n top: '50%',\n transform: 'translate(-50%,-50%)', // @todo test RTL renders transform: translate(50%,-50%);\n };\n\n // Cut the mustard using msMaxTouchPoints to detect IE11 which does not support CSS object-fit\n const window: Window | undefined = getWindow();\n const supportsObjectFit: boolean = window !== undefined && window.navigator.msMaxTouchPoints === undefined;\n const fallbackObjectFitStyles =\n (isContain && isLandscape) || (isCover && !isLandscape)\n ? { width: '100%', height: 'auto' }\n : { width: 'auto', height: '100%' };\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n overflow: 'hidden',\n },\n maximizeFrame && [\n classNames.rootMaximizeFrame,\n {\n height: '100%',\n width: '100%',\n },\n ],\n isLoaded && shouldFadeIn && !shouldStartVisible && AnimationClassNames.fadeIn400,\n (isCenter || isContain || isCover || isCenterContain || isCenterCover) && {\n position: 'relative',\n },\n className,\n ],\n image: [\n classNames.image,\n {\n display: 'block',\n opacity: 0,\n },\n isLoaded && [\n 'is-loaded',\n {\n opacity: 1,\n },\n ],\n isCenter && [classNames.imageCenter, ImageFitStyles],\n isContain && [\n classNames.imageContain,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n !supportsObjectFit && ImageFitStyles,\n ],\n isCover && [\n classNames.imageCover,\n supportsObjectFit && {\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n !supportsObjectFit && fallbackObjectFitStyles,\n !supportsObjectFit && ImageFitStyles,\n ],\n isCenterContain && [\n classNames.imageCenterContain,\n isLandscape && {\n maxWidth: '100%',\n },\n !isLandscape && {\n maxHeight: '100%',\n },\n ImageFitStyles,\n ],\n isCenterCover && [\n classNames.imageCenterCover,\n isLandscape && {\n maxHeight: '100%',\n },\n !isLandscape && {\n maxWidth: '100%',\n },\n ImageFitStyles,\n ],\n isNone && [\n classNames.imageNone,\n {\n width: 'auto',\n height: 'auto',\n },\n ],\n isNotImageFit && [\n !!width &&\n !height && {\n height: 'auto',\n width: '100%',\n },\n !width &&\n !!height && {\n height: '100%',\n width: 'auto',\n },\n !!width &&\n !!height && {\n height: '100%',\n width: '100%',\n },\n ],\n isLandscape && classNames.imageLandscape,\n !isLandscape && classNames.imagePortrait,\n !isLoaded && 'is-notLoaded',\n shouldFadeIn && 'is-fadeIn',\n isError && 'is-error',\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ImageBase } from './Image.base';\nimport { getStyles } from './Image.styles';\nimport type { IImageProps, IImageStyleProps, IImageStyles } from './Image.types';\n\nexport const Image: React.FunctionComponent = styled(\n ImageBase,\n getStyles,\n undefined,\n {\n scope: 'Image',\n },\n true,\n);\nImage.displayName = 'Image';\n","import { getVirtualParent } from './getVirtualParent';\n/**\n * Gets the element which is the parent of a given element.\n * If `allowVirtuaParents` is `true`, this method prefers the virtual parent over\n * real DOM parent when present.\n *\n * @public\n */\nexport function getParent(child: HTMLElement, allowVirtualParents: boolean = true): HTMLElement | null {\n return (\n child &&\n ((allowVirtualParents && getVirtualParent(child)) || (child.parentNode && (child.parentNode as HTMLElement)))\n );\n}\n","import { isVirtualElement } from './isVirtualElement';\n/**\n * Gets the virtual parent given the child element, if it exists.\n *\n * @public\n */\nexport function getVirtualParent(child: HTMLElement): HTMLElement | undefined {\n let parent: HTMLElement | undefined;\n if (child && isVirtualElement(child)) {\n parent = child._virtual.parent;\n }\n return parent;\n}\n","import { IVirtualElement } from './IVirtualElement';\n/**\n * Determines whether or not an element has the virtual hierarchy extension.\n *\n * @public\n */\nexport function isVirtualElement(element: HTMLElement | IVirtualElement): element is IVirtualElement {\n return element && !!(element)._virtual;\n}\n","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"@babel/runtime/helpers/esm/setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","// A packages cache that makes sure that we don't inject the same packageName twice in the same bundle -\n// this cache is local to the module closure inside this bundle\nconst packagesCache: { [name: string]: string } = {};\n\n// Cache access to window to avoid IE11 memory leak.\nlet _win: Window | undefined = undefined;\n\ntry {\n _win = window;\n} catch (e) {\n /* no-op */\n}\n\nexport function setVersion(packageName: string, packageVersion: string): void {\n if (typeof _win !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const packages = ((_win as any).__packages__ = (_win as any).__packages__ || {});\n\n // We allow either the global packages or local packages caches to invalidate so testing can\n // just clear the global to set this state\n if (!packages[packageName] || !packagesCache[packageName]) {\n packagesCache[packageName] = packageVersion;\n const versions = (packages[packageName] = packages[packageName] || []);\n versions.push(packageVersion);\n }\n }\n}\n","// This icon file is generated automatically.\nvar SearchOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\" } }] }, \"name\": \"search\", \"theme\": \"outlined\" };\nexport default SearchOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SearchOutlinedSvg from \"@ant-design/icons-svg/es/asn/SearchOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar SearchOutlined = function SearchOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SearchOutlinedSvg\n }));\n};\n\nSearchOutlined.displayName = 'SearchOutlined';\nexport default /*#__PURE__*/React.forwardRef(SearchOutlined);","import { getWindow } from './dom/getWindow';\nexport const IsFocusVisibleClassName = 'ms-Fabric--isFocusVisible';\nexport const IsFocusHiddenClassName = 'ms-Fabric--isFocusHidden';\n\n/**\n * Sets the visibility of focus styling.\n *\n * By default, focus styles (the box surrounding a focused Button, for example) only show up when navigational\n * keypresses occur (through Tab, arrows, PgUp/PgDn, Home and End), and are hidden when mouse interactions occur.\n * This API provides an imperative way to turn them on/off.\n *\n * A use case might be when you have a keypress like ctrl-f6 navigate to a particular region on the page,\n * and want focus to show up.\n *\n * @param enabled - whether to remove or add focus\n * @param target - optional target\n */\nexport function setFocusVisibility(enabled: boolean, target?: Element): void {\n const win = target ? getWindow(target) : getWindow();\n\n if (win) {\n const { classList } = win.document.body;\n classList.add(enabled ? IsFocusVisibleClassName : IsFocusHiddenClassName);\n classList.remove(enabled ? IsFocusHiddenClassName : IsFocusVisibleClassName);\n }\n}\n","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nexport default isNil;","import { on } from '@fluentui/utilities';\nimport * as React from 'react';\n\n/**\n * Hook to attach an event handler on mount and handle cleanup.\n * @param element - Element (or ref to an element) to attach the event handler to\n * @param eventName - The event to attach a handler for\n * @param callback - The handler for the event\n * @param useCapture - Whether or not to attach the handler for the capture phase\n */\nexport function useOnEvent(\n element: React.RefObject | TElement | Window | Document | undefined | null,\n eventName: string,\n callback: (ev: TEvent) => void,\n useCapture?: boolean,\n) {\n // Use a ref for the callback to prevent repeatedly attaching/unattaching callbacks that are unstable across renders\n const callbackRef = React.useRef(callback);\n callbackRef.current = callback;\n\n React.useEffect(() => {\n const actualElement = element && 'current' in element ? element.current : element;\n if (!actualElement) {\n return;\n }\n\n const dispose = on(actualElement, eventName, (ev: TEvent) => callbackRef.current(ev), useCapture);\n return dispose;\n }, [element, eventName, useCapture]);\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\n\nvar possibleConstructorReturn = require(\"./possibleConstructorReturn.js\");\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}\n\nmodule.exports = _createSuper;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return Number(n) * 100 + \"%\";\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _en_US = _interopRequireDefault(require(\"rc-pagination/lib/locale/en_US\"));\n\nvar _en_US2 = _interopRequireDefault(require(\"../date-picker/locale/en_US\"));\n\nvar _en_US3 = _interopRequireDefault(require(\"../time-picker/locale/en_US\"));\n\nvar _en_US4 = _interopRequireDefault(require(\"../calendar/locale/en_US\"));\n\n/* eslint-disable no-template-curly-in-string */\nvar typeTemplate = '${label} is not a valid ${type}';\nvar localeValues = {\n locale: 'en',\n Pagination: _en_US[\"default\"],\n DatePicker: _en_US2[\"default\"],\n TimePicker: _en_US3[\"default\"],\n Calendar: _en_US4[\"default\"],\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No Data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n \"default\": 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n \"enum\": '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n }\n};\nvar _default = localeValues;\nexports[\"default\"] = _default;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = require(\"react\");\n\nvar IconContext = /*#__PURE__*/(0, _react.createContext)({});\nvar _default = IconContext;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = warning;\nexports.isIconDefinition = isIconDefinition;\nexports.normalizeAttrs = normalizeAttrs;\nexports.generate = generate;\nexports.getSecondaryColor = getSecondaryColor;\nexports.normalizeTwoToneColors = normalizeTwoToneColors;\nexports.useInsertStyles = exports.iconStyles = exports.svgBaseProps = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _colors = require(\"@ant-design/colors\");\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _warning = _interopRequireDefault(require(\"rc-util/lib/warning\"));\n\nvar _dynamicCSS = require(\"rc-util/lib/Dom/dynamicCSS\");\n\nvar _Context = _interopRequireDefault(require(\"./components/Context\"));\n\nfunction warning(valid, message) {\n (0, _warning.default)(valid, \"[@ant-design/icons] \".concat(message));\n}\n\nfunction isIconDefinition(target) {\n return (0, _typeof2.default)(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && ((0, _typeof2.default)(target.icon) === 'object' || typeof target.icon === 'function');\n}\n\nfunction normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n\n default:\n acc[key] = val;\n }\n\n return acc;\n }, {});\n}\n\nfunction generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/_react.default.createElement(node.tag, (0, _objectSpread2.default)({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n\n return /*#__PURE__*/_react.default.createElement(node.tag, (0, _objectSpread2.default)((0, _objectSpread2.default)({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\n\nfunction getSecondaryColor(primaryColor) {\n // choose the second color\n return (0, _colors.generate)(primaryColor)[0];\n}\n\nfunction normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n} // These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n\n\nvar svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexports.svgBaseProps = svgBaseProps;\nvar iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexports.iconStyles = iconStyles;\n\nvar useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n\n var _useContext = (0, _react.useContext)(_Context.default),\n csp = _useContext.csp;\n\n (0, _react.useEffect)(function () {\n (0, _dynamicCSS.updateCSS)(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};\n\nexports.useInsertStyles = useInsertStyles;","// This icon file is generated automatically.\nvar LeftOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\" } }] }, \"name\": \"left\", \"theme\": \"outlined\" };\nexport default LeftOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport LeftOutlinedSvg from \"@ant-design/icons-svg/es/asn/LeftOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar LeftOutlined = function LeftOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: LeftOutlinedSvg\n }));\n};\n\nLeftOutlined.displayName = 'LeftOutlined';\nexport default /*#__PURE__*/React.forwardRef(LeftOutlined);","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","import raf from \"rc-util/es/raf\";\nvar id = 0;\nvar ids = {}; // Support call raf with delay specified frame\n\nexport default function wrapperRaf(callback) {\n var delayFrames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var myId = id++;\n var restFrames = delayFrames;\n\n function internalCallback() {\n restFrames -= 1;\n\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n\n ids[myId] = raf(internalCallback);\n return myId;\n}\n\nwrapperRaf.cancel = function cancel(pid) {\n if (pid === undefined) return;\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\n\nwrapperRaf.ids = ids; // export this for test usage","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useForm as useRcForm } from 'rc-field-form';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport { toArray, getFieldId } from '../util';\n\nfunction toNamePathStr(name) {\n var namePath = toArray(name);\n return namePath.join('_');\n}\n\nexport default function useForm(form) {\n var _useRcForm = useRcForm(),\n _useRcForm2 = _slicedToArray(_useRcForm, 1),\n rcForm = _useRcForm2[0];\n\n var itemsRef = React.useRef({});\n var wrapForm = React.useMemo(function () {\n return form !== null && form !== void 0 ? form : _extends(_extends({}, rcForm), {\n __INTERNAL__: {\n itemRef: function itemRef(name) {\n return function (node) {\n var namePathStr = toNamePathStr(name);\n\n if (node) {\n itemsRef.current[namePathStr] = node;\n } else {\n delete itemsRef.current[namePathStr];\n }\n };\n }\n },\n scrollToField: function scrollToField(name) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var namePath = toArray(name);\n var fieldId = getFieldId(namePath, wrapForm.__INTERNAL__.name);\n var node = fieldId ? document.getElementById(fieldId) : null;\n\n if (node) {\n scrollIntoView(node, _extends({\n scrollMode: 'if-needed',\n block: 'nearest'\n }, options));\n }\n },\n getFieldInstance: function getFieldInstance(name) {\n var namePathStr = toNamePathStr(name);\n return itemsRef.current[namePathStr];\n }\n });\n }, [form, rcForm]);\n return [wrapForm];\n}","import compute from 'compute-scroll-into-view';\n\nfunction isOptionsObject(options) {\n return options === Object(options) && Object.keys(options).length !== 0;\n}\n\nfunction defaultBehavior(actions, behavior) {\n if (behavior === void 0) {\n behavior = 'auto';\n }\n\n var canSmoothScroll = ('scrollBehavior' in document.body.style);\n actions.forEach(function (_ref) {\n var el = _ref.el,\n top = _ref.top,\n left = _ref.left;\n\n if (el.scroll && canSmoothScroll) {\n el.scroll({\n top: top,\n left: left,\n behavior: behavior\n });\n } else {\n el.scrollTop = top;\n el.scrollLeft = left;\n }\n });\n}\n\nfunction getOptions(options) {\n if (options === false) {\n return {\n block: 'end',\n inline: 'nearest'\n };\n }\n\n if (isOptionsObject(options)) {\n return options;\n }\n\n return {\n block: 'start',\n inline: 'nearest'\n };\n}\n\nfunction scrollIntoView(target, options) {\n var targetIsDetached = !target.ownerDocument.documentElement.contains(target);\n\n if (isOptionsObject(options) && typeof options.behavior === 'function') {\n return options.behavior(targetIsDetached ? [] : compute(target, options));\n }\n\n if (targetIsDetached) {\n return;\n }\n\n var computeOptions = getOptions(options);\n return defaultBehavior(compute(target, computeOptions), computeOptions.behavior);\n}\n\nexport default scrollIntoView;","!function t(e,r){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=r();else if(\"function\"==typeof define&&define.amd)define([],r);else{var n=r();for(var i in n)(\"object\"==typeof exports?exports:e)[i]=n[i]}}(this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function e(){return t.default}:function e(){return t};return r.d(e,\"a\",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p=\"\",r(r.s=22)}([function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var r=0;r=4){for(var e=arguments.length,r=Array(e),n=0;n=3){for(var e=arguments.length,r=Array(e),n=0;n=2){for(var e=arguments.length,r=Array(e),n=0;n=1){for(var e=arguments.length,r=Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:o.JsonService;if(s(this,t),!e)throw i.Log.error(\"MetadataService: No settings passed to MetadataService\"),new Error(\"settings\");this._settings=e,this._jsonService=new r([\"application/jwk-set+json\"])}return t.prototype.resetSigningKeys=function t(){this._settings=this._settings||{},this._settings.signingKeys=void 0},t.prototype.getMetadata=function t(){var e=this;return this._settings.metadata?(i.Log.debug(\"MetadataService.getMetadata: Returning metadata from settings\"),Promise.resolve(this._settings.metadata)):this.metadataUrl?(i.Log.debug(\"MetadataService.getMetadata: getting metadata from\",this.metadataUrl),this._jsonService.getJson(this.metadataUrl).then((function(t){i.Log.debug(\"MetadataService.getMetadata: json received\");var r=e._settings.metadataSeed||{};return e._settings.metadata=Object.assign({},r,t),e._settings.metadata}))):(i.Log.error(\"MetadataService.getMetadata: No authority or metadataUrl configured on settings\"),Promise.reject(new Error(\"No authority or metadataUrl configured on settings\")))},t.prototype.getIssuer=function t(){return this._getMetadataProperty(\"issuer\")},t.prototype.getAuthorizationEndpoint=function t(){return this._getMetadataProperty(\"authorization_endpoint\")},t.prototype.getUserInfoEndpoint=function t(){return this._getMetadataProperty(\"userinfo_endpoint\")},t.prototype.getTokenEndpoint=function t(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._getMetadataProperty(\"token_endpoint\",e)},t.prototype.getCheckSessionIframe=function t(){return this._getMetadataProperty(\"check_session_iframe\",!0)},t.prototype.getEndSessionEndpoint=function t(){return this._getMetadataProperty(\"end_session_endpoint\",!0)},t.prototype.getRevocationEndpoint=function t(){return this._getMetadataProperty(\"revocation_endpoint\",!0)},t.prototype.getKeysEndpoint=function t(){return this._getMetadataProperty(\"jwks_uri\",!0)},t.prototype._getMetadataProperty=function t(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return i.Log.debug(\"MetadataService.getMetadataProperty for: \"+e),this.getMetadata().then((function(t){if(i.Log.debug(\"MetadataService.getMetadataProperty: metadata recieved\"),void 0===t[e]){if(!0===r)return void i.Log.warn(\"MetadataService.getMetadataProperty: Metadata does not contain optional property \"+e);throw i.Log.error(\"MetadataService.getMetadataProperty: Metadata does not contain property \"+e),new Error(\"Metadata does not contain property \"+e)}return t[e]}))},t.prototype.getSigningKeys=function t(){var e=this;return this._settings.signingKeys?(i.Log.debug(\"MetadataService.getSigningKeys: Returning signingKeys from settings\"),Promise.resolve(this._settings.signingKeys)):this._getMetadataProperty(\"jwks_uri\").then((function(t){return i.Log.debug(\"MetadataService.getSigningKeys: jwks_uri received\",t),e._jsonService.getJson(t).then((function(t){if(i.Log.debug(\"MetadataService.getSigningKeys: key set received\",t),!t.keys)throw i.Log.error(\"MetadataService.getSigningKeys: Missing keys on keyset\"),new Error(\"Missing keys on keyset\");return e._settings.signingKeys=t.keys,e._settings.signingKeys}))}))},n(t,[{key:\"metadataUrl\",get:function t(){return this._metadataUrl||(this._settings.metadataUrl?this._metadataUrl=this._settings.metadataUrl:(this._metadataUrl=this._settings.authority,this._metadataUrl&&this._metadataUrl.indexOf(a)<0&&(\"/\"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+=\"/\"),this._metadataUrl+=a))),this._metadataUrl}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UrlUtility=void 0;var n=r(0),i=r(1);e.UrlUtility=function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return t.addQueryParam=function t(e,r,n){return e.indexOf(\"?\")<0&&(e+=\"?\"),\"?\"!==e[e.length-1]&&(e+=\"&\"),e+=encodeURIComponent(r),e+=\"=\",e+=encodeURIComponent(n)},t.parseUrlFragment=function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#\",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Global;\"string\"!=typeof e&&(e=o.location.href);var s=e.lastIndexOf(r);s>=0&&(e=e.substr(s+1)),\"?\"===r&&(s=e.indexOf(\"#\"))>=0&&(e=e.substr(0,s));for(var a,u={},c=/([^&=]+)=([^&]*)/g,h=0;a=c.exec(e);)if(u[decodeURIComponent(a[1])]=decodeURIComponent(a[2].replace(/\\+/g,\" \")),h++>50)return n.Log.error(\"UrlUtility.parseUrlFragment: response exceeded expected number of parameters\",e),{error:\"Response exceeded expected number of parameters\"};for(var l in u)return u;return{}},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.JoseUtil=void 0;var n=r(26),i=function o(t){return t&&t.__esModule?t:{default:t}}(r(33));e.JoseUtil=(0,i.default)({jws:n.jws,KeyUtil:n.KeyUtil,X509:n.X509,crypto:n.crypto,hextob64u:n.hextob64u,b64tohex:n.b64tohex,AllowedSigningAlgs:n.AllowedSigningAlgs})},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.OidcClientSettings=void 0;var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.authority,i=e.metadataUrl,o=e.metadata,l=e.signingKeys,p=e.metadataSeed,v=e.client_id,y=e.client_secret,m=e.response_type,_=void 0===m?f:m,S=e.scope,b=void 0===S?g:S,w=e.redirect_uri,F=e.post_logout_redirect_uri,E=e.client_authentication,x=void 0===E?d:E,A=e.prompt,k=e.display,P=e.max_age,C=e.ui_locales,T=e.acr_values,R=e.resource,I=e.response_mode,D=e.filterProtocolClaims,L=void 0===D||D,N=e.loadUserInfo,U=void 0===N||N,B=e.staleStateAge,O=void 0===B?900:B,j=e.clockSkew,M=void 0===j?300:j,H=e.clockService,V=void 0===H?new s.ClockService:H,K=e.userInfoJwtIssuer,q=void 0===K?\"OP\":K,J=e.mergeClaims,W=void 0!==J&&J,z=e.stateStore,Y=void 0===z?new a.WebStorageStateStore:z,G=e.ResponseValidatorCtor,X=void 0===G?u.ResponseValidator:G,$=e.MetadataServiceCtor,Q=void 0===$?c.MetadataService:$,Z=e.extraQueryParams,tt=void 0===Z?{}:Z,et=e.extraTokenParams,rt=void 0===et?{}:et;h(this,t),this._authority=r,this._metadataUrl=i,this._metadata=o,this._metadataSeed=p,this._signingKeys=l,this._client_id=v,this._client_secret=y,this._response_type=_,this._scope=b,this._redirect_uri=w,this._post_logout_redirect_uri=F,this._client_authentication=x,this._prompt=A,this._display=k,this._max_age=P,this._ui_locales=C,this._acr_values=T,this._resource=R,this._response_mode=I,this._filterProtocolClaims=!!L,this._loadUserInfo=!!U,this._staleStateAge=O,this._clockSkew=M,this._clockService=V,this._userInfoJwtIssuer=q,this._mergeClaims=!!W,this._stateStore=Y,this._validator=new X(this),this._metadataService=new Q(this),this._extraQueryParams=\"object\"===(void 0===tt?\"undefined\":n(tt))?tt:{},this._extraTokenParams=\"object\"===(void 0===rt?\"undefined\":n(rt))?rt:{}}return t.prototype.getEpochTime=function t(){return this._clockService.getEpochTime()},i(t,[{key:\"client_id\",get:function t(){return this._client_id},set:function t(e){if(this._client_id)throw o.Log.error(\"OidcClientSettings.set_client_id: client_id has already been assigned.\"),new Error(\"client_id has already been assigned.\");this._client_id=e}},{key:\"client_secret\",get:function t(){return this._client_secret}},{key:\"response_type\",get:function t(){return this._response_type}},{key:\"scope\",get:function t(){return this._scope}},{key:\"redirect_uri\",get:function t(){return this._redirect_uri}},{key:\"post_logout_redirect_uri\",get:function t(){return this._post_logout_redirect_uri}},{key:\"client_authentication\",get:function t(){return this._client_authentication}},{key:\"prompt\",get:function t(){return this._prompt}},{key:\"display\",get:function t(){return this._display}},{key:\"max_age\",get:function t(){return this._max_age}},{key:\"ui_locales\",get:function t(){return this._ui_locales}},{key:\"acr_values\",get:function t(){return this._acr_values}},{key:\"resource\",get:function t(){return this._resource}},{key:\"response_mode\",get:function t(){return this._response_mode}},{key:\"authority\",get:function t(){return this._authority},set:function t(e){if(this._authority)throw o.Log.error(\"OidcClientSettings.set_authority: authority has already been assigned.\"),new Error(\"authority has already been assigned.\");this._authority=e}},{key:\"metadataUrl\",get:function t(){return this._metadataUrl||(this._metadataUrl=this.authority,this._metadataUrl&&this._metadataUrl.indexOf(l)<0&&(\"/\"!==this._metadataUrl[this._metadataUrl.length-1]&&(this._metadataUrl+=\"/\"),this._metadataUrl+=l)),this._metadataUrl}},{key:\"metadata\",get:function t(){return this._metadata},set:function t(e){this._metadata=e}},{key:\"metadataSeed\",get:function t(){return this._metadataSeed},set:function t(e){this._metadataSeed=e}},{key:\"signingKeys\",get:function t(){return this._signingKeys},set:function t(e){this._signingKeys=e}},{key:\"filterProtocolClaims\",get:function t(){return this._filterProtocolClaims}},{key:\"loadUserInfo\",get:function t(){return this._loadUserInfo}},{key:\"staleStateAge\",get:function t(){return this._staleStateAge}},{key:\"clockSkew\",get:function t(){return this._clockSkew}},{key:\"userInfoJwtIssuer\",get:function t(){return this._userInfoJwtIssuer}},{key:\"mergeClaims\",get:function t(){return this._mergeClaims}},{key:\"stateStore\",get:function t(){return this._stateStore}},{key:\"validator\",get:function t(){return this._validator}},{key:\"metadataService\",get:function t(){return this._metadataService}},{key:\"extraQueryParams\",get:function t(){return this._extraQueryParams},set:function t(e){\"object\"===(void 0===e?\"undefined\":n(e))?this._extraQueryParams=e:this._extraQueryParams={}}},{key:\"extraTokenParams\",get:function t(){return this._extraTokenParams},set:function t(e){\"object\"===(void 0===e?\"undefined\":n(e))?this._extraTokenParams=e:this._extraTokenParams={}}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.WebStorageStateStore=void 0;var n=r(0),i=r(1);function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.WebStorageStateStore=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.prefix,n=void 0===r?\"oidc.\":r,s=e.store,a=void 0===s?i.Global.localStorage:s;o(this,t),this._store=a,this._prefix=n}return t.prototype.set=function t(e,r){return n.Log.debug(\"WebStorageStateStore.set\",e),e=this._prefix+e,this._store.setItem(e,r),Promise.resolve()},t.prototype.get=function t(e){n.Log.debug(\"WebStorageStateStore.get\",e),e=this._prefix+e;var r=this._store.getItem(e);return Promise.resolve(r)},t.prototype.remove=function t(e){n.Log.debug(\"WebStorageStateStore.remove\",e),e=this._prefix+e;var r=this._store.getItem(e);return this._store.removeItem(e),Promise.resolve(r)},t.prototype.getAllKeys=function t(){n.Log.debug(\"WebStorageStateStore.getAllKeys\");for(var e=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Global.XMLHttpRequest,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;o(this,t),e&&Array.isArray(e)?this._contentTypes=e.slice():this._contentTypes=[],this._contentTypes.push(\"application/json\"),n&&this._contentTypes.push(\"application/jwt\"),this._XMLHttpRequest=r,this._jwtHandler=n}return t.prototype.getJson=function t(e,r){var i=this;if(!e)throw n.Log.error(\"JsonService.getJson: No url passed\"),new Error(\"url\");return n.Log.debug(\"JsonService.getJson, url: \",e),new Promise((function(t,o){var s=new i._XMLHttpRequest;s.open(\"GET\",e);var a=i._contentTypes,u=i._jwtHandler;s.onload=function(){if(n.Log.debug(\"JsonService.getJson: HTTP response received, status\",s.status),200===s.status){var r=s.getResponseHeader(\"Content-Type\");if(r){var i=a.find((function(t){if(r.startsWith(t))return!0}));if(\"application/jwt\"==i)return void u(s).then(t,o);if(i)try{return void t(JSON.parse(s.responseText))}catch(t){return n.Log.error(\"JsonService.getJson: Error parsing JSON response\",t.message),void o(t)}}o(Error(\"Invalid response Content-Type: \"+r+\", from URL: \"+e))}else o(Error(s.statusText+\" (\"+s.status+\")\"))},s.onerror=function(){n.Log.error(\"JsonService.getJson: network error\"),o(Error(\"Network Error\"))},r&&(n.Log.debug(\"JsonService.getJson: token passed, setting Authorization header\"),s.setRequestHeader(\"Authorization\",\"Bearer \"+r)),s.send()}))},t.prototype.postForm=function t(e,r,i){var o=this;if(!e)throw n.Log.error(\"JsonService.postForm: No url passed\"),new Error(\"url\");return n.Log.debug(\"JsonService.postForm, url: \",e),new Promise((function(t,s){var a=new o._XMLHttpRequest;a.open(\"POST\",e);var u=o._contentTypes;a.onload=function(){if(n.Log.debug(\"JsonService.postForm: HTTP response received, status\",a.status),200!==a.status){if(400===a.status)if(i=a.getResponseHeader(\"Content-Type\"))if(u.find((function(t){if(i.startsWith(t))return!0})))try{var r=JSON.parse(a.responseText);if(r&&r.error)return n.Log.error(\"JsonService.postForm: Error from server: \",r.error),void s(new Error(r.error))}catch(t){return n.Log.error(\"JsonService.postForm: Error parsing JSON response\",t.message),void s(t)}s(Error(a.statusText+\" (\"+a.status+\")\"))}else{var i;if((i=a.getResponseHeader(\"Content-Type\"))&&u.find((function(t){if(i.startsWith(t))return!0})))try{return void t(JSON.parse(a.responseText))}catch(t){return n.Log.error(\"JsonService.postForm: Error parsing JSON response\",t.message),void s(t)}s(Error(\"Invalid response Content-Type: \"+i+\", from URL: \"+e))}},a.onerror=function(){n.Log.error(\"JsonService.postForm: network error\"),s(Error(\"Network Error\"))};var c=\"\";for(var h in r){var l=r[h];l&&(c.length>0&&(c+=\"&\"),c+=encodeURIComponent(h),c+=\"=\",c+=encodeURIComponent(l))}a.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),void 0!==i&&a.setRequestHeader(\"Authorization\",\"Basic \"+btoa(i)),a.send(c)}))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SigninRequest=void 0;var n=r(0),i=r(3),o=r(13);e.SigninRequest=function(){function t(e){var r=e.url,s=e.client_id,a=e.redirect_uri,u=e.response_type,c=e.scope,h=e.authority,l=e.data,f=e.prompt,g=e.display,d=e.max_age,p=e.ui_locales,v=e.id_token_hint,y=e.login_hint,m=e.acr_values,_=e.resource,S=e.response_mode,b=e.request,w=e.request_uri,F=e.extraQueryParams,E=e.request_type,x=e.client_secret,A=e.extraTokenParams,k=e.skipUserInfo;if(function P(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!r)throw n.Log.error(\"SigninRequest.ctor: No url passed\"),new Error(\"url\");if(!s)throw n.Log.error(\"SigninRequest.ctor: No client_id passed\"),new Error(\"client_id\");if(!a)throw n.Log.error(\"SigninRequest.ctor: No redirect_uri passed\"),new Error(\"redirect_uri\");if(!u)throw n.Log.error(\"SigninRequest.ctor: No response_type passed\"),new Error(\"response_type\");if(!c)throw n.Log.error(\"SigninRequest.ctor: No scope passed\"),new Error(\"scope\");if(!h)throw n.Log.error(\"SigninRequest.ctor: No authority passed\"),new Error(\"authority\");var C=t.isOidc(u),T=t.isCode(u);S||(S=t.isCode(u)?\"query\":null),this.state=new o.SigninState({nonce:C,data:l,client_id:s,authority:h,redirect_uri:a,code_verifier:T,request_type:E,response_mode:S,client_secret:x,scope:c,extraTokenParams:A,skipUserInfo:k}),r=i.UrlUtility.addQueryParam(r,\"client_id\",s),r=i.UrlUtility.addQueryParam(r,\"redirect_uri\",a),r=i.UrlUtility.addQueryParam(r,\"response_type\",u),r=i.UrlUtility.addQueryParam(r,\"scope\",c),r=i.UrlUtility.addQueryParam(r,\"state\",this.state.id),C&&(r=i.UrlUtility.addQueryParam(r,\"nonce\",this.state.nonce)),T&&(r=i.UrlUtility.addQueryParam(r,\"code_challenge\",this.state.code_challenge),r=i.UrlUtility.addQueryParam(r,\"code_challenge_method\",\"S256\"));var R={prompt:f,display:g,max_age:d,ui_locales:p,id_token_hint:v,login_hint:y,acr_values:m,resource:_,request:b,request_uri:w,response_mode:S};for(var I in R)R[I]&&(r=i.UrlUtility.addQueryParam(r,I,R[I]));for(var D in F)r=i.UrlUtility.addQueryParam(r,D,F[D]);this.url=r}return t.isOidc=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"id_token\"===t}))[0]},t.isOAuth=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"token\"===t}))[0]},t.isCode=function t(e){return!!e.split(/\\s+/g).filter((function(t){return\"code\"===t}))[0]},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.State=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},r=e.id,n=e.data,i=e.created,s=e.request_type;a(this,t),this._id=r||(0,o.default)(),this._data=n,this._created=\"number\"==typeof i&&i>0?i:parseInt(Date.now()/1e3),this._request_type=s}return t.prototype.toStorageString=function t(){return i.Log.debug(\"State.toStorageString\"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type})},t.fromStorageString=function e(r){return i.Log.debug(\"State.fromStorageString\"),new t(JSON.parse(r))},t.clearStaleState=function e(r,n){var o=Date.now()/1e3-n;return r.getAllKeys().then((function(e){i.Log.debug(\"State.clearStaleState: got keys\",e);for(var n=[],s=function s(a){var c=e[a];u=r.get(c).then((function(e){var n=!1;if(e)try{var s=t.fromStorageString(e);i.Log.debug(\"State.clearStaleState: got item from key: \",c,s.created),s.created<=o&&(n=!0)}catch(t){i.Log.error(\"State.clearStaleState: Error parsing state for key\",c,t.message),n=!0}else i.Log.debug(\"State.clearStaleState: no item in storage for key: \",c),n=!0;if(n)return i.Log.debug(\"State.clearStaleState: removed item for key: \",c),r.remove(c)})),n.push(u)},a=0;a0&&void 0!==arguments[0]?arguments[0]:{};g(this,t),e instanceof o.OidcClientSettings?this._settings=e:this._settings=new o.OidcClientSettings(e)}return t.prototype.createSigninRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.response_type,o=r.scope,s=r.redirect_uri,u=r.data,c=r.state,h=r.prompt,l=r.display,f=r.max_age,g=r.ui_locales,d=r.id_token_hint,p=r.login_hint,v=r.acr_values,y=r.resource,m=r.request,_=r.request_uri,S=r.response_mode,b=r.extraQueryParams,w=r.extraTokenParams,F=r.request_type,E=r.skipUserInfo,x=arguments[1];i.Log.debug(\"OidcClient.createSigninRequest\");var A=this._settings.client_id;n=n||this._settings.response_type,o=o||this._settings.scope,s=s||this._settings.redirect_uri,h=h||this._settings.prompt,l=l||this._settings.display,f=f||this._settings.max_age,g=g||this._settings.ui_locales,v=v||this._settings.acr_values,y=y||this._settings.resource,S=S||this._settings.response_mode,b=b||this._settings.extraQueryParams,w=w||this._settings.extraTokenParams;var k=this._settings.authority;return a.SigninRequest.isCode(n)&&\"code\"!==n?Promise.reject(new Error(\"OpenID Connect hybrid flow is not supported\")):this._metadataService.getAuthorizationEndpoint().then((function(t){i.Log.debug(\"OidcClient.createSigninRequest: Received authorization endpoint\",t);var r=new a.SigninRequest({url:t,client_id:A,redirect_uri:s,response_type:n,scope:o,data:u||c,authority:k,prompt:h,display:l,max_age:f,ui_locales:g,id_token_hint:d,login_hint:p,acr_values:v,resource:y,request:m,request_uri:_,extraQueryParams:b,extraTokenParams:w,request_type:F,response_mode:S,client_secret:e._settings.client_secret,skipUserInfo:E}),P=r.state;return(x=x||e._stateStore).set(P.id,P.toStorageString()).then((function(){return r}))}))},t.prototype.readSigninResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug(\"OidcClient.readSigninResponseState\");var o=\"query\"===this._settings.response_mode||!this._settings.response_mode&&a.SigninRequest.isCode(this._settings.response_type),s=o?\"?\":\"#\",c=new u.SigninResponse(e,s);if(!c.state)return i.Log.error(\"OidcClient.readSigninResponseState: No state in response\"),Promise.reject(new Error(\"No state in response\"));r=r||this._stateStore;var h=n?r.remove.bind(r):r.get.bind(r);return h(c.state).then((function(t){if(!t)throw i.Log.error(\"OidcClient.readSigninResponseState: No matching state found in storage\"),new Error(\"No matching state found in storage\");return{state:l.SigninState.fromStorageString(t),response:c}}))},t.prototype.processSigninResponse=function t(e,r){var n=this;return i.Log.debug(\"OidcClient.processSigninResponse\"),this.readSigninResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return i.Log.debug(\"OidcClient.processSigninResponse: Received state from storage; validating response\"),n._validator.validateSigninResponse(e,r)}))},t.prototype.createSignoutRequest=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.id_token_hint,o=r.data,s=r.state,a=r.post_logout_redirect_uri,u=r.extraQueryParams,h=r.request_type,l=arguments[1];return i.Log.debug(\"OidcClient.createSignoutRequest\"),a=a||this._settings.post_logout_redirect_uri,u=u||this._settings.extraQueryParams,this._metadataService.getEndSessionEndpoint().then((function(t){if(!t)throw i.Log.error(\"OidcClient.createSignoutRequest: No end session endpoint url returned\"),new Error(\"no end session endpoint\");i.Log.debug(\"OidcClient.createSignoutRequest: Received end session endpoint\",t);var r=new c.SignoutRequest({url:t,id_token_hint:n,post_logout_redirect_uri:a,data:o||s,extraQueryParams:u,request_type:h}),f=r.state;return f&&(i.Log.debug(\"OidcClient.createSignoutRequest: Signout request has state to persist\"),(l=l||e._stateStore).set(f.id,f.toStorageString())),r}))},t.prototype.readSignoutResponseState=function t(e,r){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];i.Log.debug(\"OidcClient.readSignoutResponseState\");var o=new h.SignoutResponse(e);if(!o.state)return i.Log.debug(\"OidcClient.readSignoutResponseState: No state in response\"),o.error?(i.Log.warn(\"OidcClient.readSignoutResponseState: Response was error: \",o.error),Promise.reject(new s.ErrorResponse(o))):Promise.resolve({state:void 0,response:o});var a=o.state;r=r||this._stateStore;var u=n?r.remove.bind(r):r.get.bind(r);return u(a).then((function(t){if(!t)throw i.Log.error(\"OidcClient.readSignoutResponseState: No matching state found in storage\"),new Error(\"No matching state found in storage\");return{state:f.State.fromStorageString(t),response:o}}))},t.prototype.processSignoutResponse=function t(e,r){var n=this;return i.Log.debug(\"OidcClient.processSignoutResponse\"),this.readSignoutResponseState(e,r,!0).then((function(t){var e=t.state,r=t.response;return e?(i.Log.debug(\"OidcClient.processSignoutResponse: Received state from storage; validating response\"),n._validator.validateSignoutResponse(e,r)):(i.Log.debug(\"OidcClient.processSignoutResponse: No state from storage; skipping validating response\"),r)}))},t.prototype.clearStaleState=function t(e){return i.Log.debug(\"OidcClient.clearStaleState\"),e=e||this._stateStore,f.State.clearStaleState(e,this.settings.staleStateAge)},n(t,[{key:\"_stateStore\",get:function t(){return this.settings.stateStore}},{key:\"_validator\",get:function t(){return this.settings.validator}},{key:\"_metadataService\",get:function t(){return this.settings.metadataService}},{key:\"settings\",get:function t(){return this._settings}},{key:\"metadataService\",get:function t(){return this._metadataService}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenClient=void 0;var n=r(7),i=r(2),o=r(0);function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.TokenClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw o.Log.error(\"TokenClient.ctor: No settings passed\"),new Error(\"settings\");this._settings=e,this._jsonService=new r,this._metadataService=new a(this._settings)}return t.prototype.exchangeCode=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||\"authorization_code\",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret,r.redirect_uri=r.redirect_uri||this._settings.redirect_uri;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.code?r.redirect_uri?r.code_verifier?r.client_id?r.client_secret||\"client_secret_basic\"!=i?(\"client_secret_basic\"==i&&(n=r.client_id+\":\"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug(\"TokenClient.exchangeCode: Received token endpoint\"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug(\"TokenClient.exchangeCode: response received\"),t}))}))):(o.Log.error(\"TokenClient.exchangeCode: No client_secret passed\"),Promise.reject(new Error(\"A client_secret is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No client_id passed\"),Promise.reject(new Error(\"A client_id is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No code_verifier passed\"),Promise.reject(new Error(\"A code_verifier is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No redirect_uri passed\"),Promise.reject(new Error(\"A redirect_uri is required\"))):(o.Log.error(\"TokenClient.exchangeCode: No code passed\"),Promise.reject(new Error(\"A code is required\")))},t.prototype.exchangeRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).grant_type=r.grant_type||\"refresh_token\",r.client_id=r.client_id||this._settings.client_id,r.client_secret=r.client_secret||this._settings.client_secret;var n=void 0,i=r._client_authentication||this._settings._client_authentication;return delete r._client_authentication,r.refresh_token?r.client_id?(\"client_secret_basic\"==i&&(n=r.client_id+\":\"+r.client_secret,delete r.client_id,delete r.client_secret),this._metadataService.getTokenEndpoint(!1).then((function(t){return o.Log.debug(\"TokenClient.exchangeRefreshToken: Received token endpoint\"),e._jsonService.postForm(t,r,n).then((function(t){return o.Log.debug(\"TokenClient.exchangeRefreshToken: response received\"),t}))}))):(o.Log.error(\"TokenClient.exchangeRefreshToken: No client_id passed\"),Promise.reject(new Error(\"A client_id is required\"))):(o.Log.error(\"TokenClient.exchangeRefreshToken: No refresh_token passed\"),Promise.reject(new Error(\"A refresh_token is required\")))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.ErrorResponse=void 0;var n=r(0);function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function o(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}e.ErrorResponse=function(t){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=r.error,a=r.error_description,u=r.error_uri,c=r.state,h=r.session_state;if(i(this,e),!s)throw n.Log.error(\"No error passed to ErrorResponse\"),new Error(\"error\");var l=o(this,t.call(this,a||s));return l.name=\"ErrorResponse\",l.error=s,l.error_description=a,l.error_uri=u,l.state=c,l.session_state=h,l}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e}(Error)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SigninState=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.nonce,i=r.authority,o=r.client_id,u=r.redirect_uri,l=r.code_verifier,f=r.response_mode,g=r.client_secret,d=r.scope,p=r.extraTokenParams,v=r.skipUserInfo;c(this,e);var y=h(this,t.call(this,arguments[0]));if(!0===n?y._nonce=(0,a.default)():n&&(y._nonce=n),!0===l?y._code_verifier=(0,a.default)()+(0,a.default)()+(0,a.default)():l&&(y._code_verifier=l),y.code_verifier){var m=s.JoseUtil.hashString(y.code_verifier,\"SHA256\");y._code_challenge=s.JoseUtil.hexToBase64Url(m)}return y._redirect_uri=u,y._authority=i,y._client_id=o,y._response_mode=f,y._client_secret=g,y._scope=d,y._extraTokenParams=p,y._skipUserInfo=v,y}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.toStorageString=function t(){return i.Log.debug(\"SigninState.toStorageString\"),JSON.stringify({id:this.id,data:this.data,created:this.created,request_type:this.request_type,nonce:this.nonce,code_verifier:this.code_verifier,redirect_uri:this.redirect_uri,authority:this.authority,client_id:this.client_id,response_mode:this.response_mode,client_secret:this.client_secret,scope:this.scope,extraTokenParams:this.extraTokenParams,skipUserInfo:this.skipUserInfo})},e.fromStorageString=function t(r){return i.Log.debug(\"SigninState.fromStorageString\"),new e(JSON.parse(r))},n(e,[{key:\"nonce\",get:function t(){return this._nonce}},{key:\"authority\",get:function t(){return this._authority}},{key:\"client_id\",get:function t(){return this._client_id}},{key:\"redirect_uri\",get:function t(){return this._redirect_uri}},{key:\"code_verifier\",get:function t(){return this._code_verifier}},{key:\"code_challenge\",get:function t(){return this._code_challenge}},{key:\"response_mode\",get:function t(){return this._response_mode}},{key:\"client_secret\",get:function t(){return this._client_secret}},{key:\"scope\",get:function t(){return this._scope}},{key:\"extraTokenParams\",get:function t(){return this._extraTokenParams}},{key:\"skipUserInfo\",get:function t(){return this._skipUserInfo}}]),e}(o.State)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function n(){return(\"undefined\"!=i&&null!==i&&void 0!==i.getRandomValues?o:s)().replace(/-/g,\"\")};var i=\"undefined\"!=typeof window?window.crypto||window.msCrypto:null;function o(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^i.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function s(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^16*Math.random()>>t/4).toString(16)}))}t.exports=e.default},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.User=void 0;var n=function(){function t(t,e){for(var r=0;r0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:\"expired\",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:\"scopes\",get:function t(){return(this.scope||\"\").split(\" \")}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AccessTokenEvents=void 0;var n=r(0),i=r(46);function o(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.AccessTokenEvents=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accessTokenExpiringNotificationTime,n=void 0===r?60:r,s=e.accessTokenExpiringTimer,a=void 0===s?new i.Timer(\"Access token expiring\"):s,u=e.accessTokenExpiredTimer,c=void 0===u?new i.Timer(\"Access token expired\"):u;o(this,t),this._accessTokenExpiringNotificationTime=n,this._accessTokenExpiring=a,this._accessTokenExpired=c}return t.prototype.load=function t(e){if(e.access_token&&void 0!==e.expires_in){var r=e.expires_in;if(n.Log.debug(\"AccessTokenEvents.load: access token present, remaining duration:\",r),r>0){var i=r-this._accessTokenExpiringNotificationTime;i<=0&&(i=1),n.Log.debug(\"AccessTokenEvents.load: registering expiring timer in:\",i),this._accessTokenExpiring.init(i)}else n.Log.debug(\"AccessTokenEvents.load: canceling existing expiring timer becase we're past expiration.\"),this._accessTokenExpiring.cancel();var o=r+1;n.Log.debug(\"AccessTokenEvents.load: registering expired timer in:\",o),this._accessTokenExpired.init(o)}else this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.unload=function t(){n.Log.debug(\"AccessTokenEvents.unload: canceling existing access token timers\"),this._accessTokenExpiring.cancel(),this._accessTokenExpired.cancel()},t.prototype.addAccessTokenExpiring=function t(e){this._accessTokenExpiring.addHandler(e)},t.prototype.removeAccessTokenExpiring=function t(e){this._accessTokenExpiring.removeHandler(e)},t.prototype.addAccessTokenExpired=function t(e){this._accessTokenExpired.addHandler(e)},t.prototype.removeAccessTokenExpired=function t(e){this._accessTokenExpired.removeHandler(e)},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Event=void 0;var n=r(0);e.Event=function(){function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this._name=e,this._callbacks=[]}return t.prototype.addHandler=function t(e){this._callbacks.push(e)},t.prototype.removeHandler=function t(e){var r=this._callbacks.findIndex((function(t){return t===e}));r>=0&&this._callbacks.splice(r,1)},t.prototype.raise=function t(){n.Log.debug(\"Event: Raising event: \"+this._name);for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:o.CheckSessionIFrame,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.Global.timer;if(a(this,t),!e)throw i.Log.error(\"SessionMonitor.ctor: No user manager passed to SessionMonitor\"),new Error(\"userManager\");this._userManager=e,this._CheckSessionIFrameCtor=n,this._timer=u,this._userManager.events.addUserLoaded(this._start.bind(this)),this._userManager.events.addUserUnloaded(this._stop.bind(this)),Promise.resolve(this._userManager.getUser().then((function(t){t?r._start(t):r._settings.monitorAnonymousSession&&r._userManager.querySessionStatus().then((function(t){var e={session_state:t.session_state};t.sub&&t.sid&&(e.profile={sub:t.sub,sid:t.sid}),r._start(e)})).catch((function(t){i.Log.error(\"SessionMonitor ctor: error from querySessionStatus:\",t.message)}))})).catch((function(t){i.Log.error(\"SessionMonitor ctor: error from getUser:\",t.message)})))}return t.prototype._start=function t(e){var r=this,n=e.session_state;n&&(e.profile?(this._sub=e.profile.sub,this._sid=e.profile.sid,i.Log.debug(\"SessionMonitor._start: session_state:\",n,\", sub:\",this._sub)):(this._sub=void 0,this._sid=void 0,i.Log.debug(\"SessionMonitor._start: session_state:\",n,\", anonymous user\")),this._checkSessionIFrame?this._checkSessionIFrame.start(n):this._metadataService.getCheckSessionIframe().then((function(t){if(t){i.Log.debug(\"SessionMonitor._start: Initializing check session iframe\");var e=r._client_id,o=r._checkSessionInterval,s=r._stopCheckSessionOnError;r._checkSessionIFrame=new r._CheckSessionIFrameCtor(r._callback.bind(r),e,t,o,s),r._checkSessionIFrame.load().then((function(){r._checkSessionIFrame.start(n)}))}else i.Log.warn(\"SessionMonitor._start: No check session iframe found in the metadata\")})).catch((function(t){i.Log.error(\"SessionMonitor._start: Error from getCheckSessionIframe:\",t.message)})))},t.prototype._stop=function t(){var e=this;if(this._sub=void 0,this._sid=void 0,this._checkSessionIFrame&&(i.Log.debug(\"SessionMonitor._stop\"),this._checkSessionIFrame.stop()),this._settings.monitorAnonymousSession)var r=this._timer.setInterval((function(){e._timer.clearInterval(r),e._userManager.querySessionStatus().then((function(t){var r={session_state:t.session_state};t.sub&&t.sid&&(r.profile={sub:t.sub,sid:t.sid}),e._start(r)})).catch((function(t){i.Log.error(\"SessionMonitor: error from querySessionStatus:\",t.message)}))}),1e3)},t.prototype._callback=function t(){var e=this;this._userManager.querySessionStatus().then((function(t){var r=!0;t?t.sub===e._sub?(r=!1,e._checkSessionIFrame.start(t.session_state),t.sid===e._sid?i.Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, restarting check session iframe; session_state:\",t.session_state):(i.Log.debug(\"SessionMonitor._callback: Same sub still logged in at OP, session state has changed, restarting check session iframe; session_state:\",t.session_state),e._userManager.events._raiseUserSessionChanged())):i.Log.debug(\"SessionMonitor._callback: Different subject signed into OP:\",t.sub):i.Log.debug(\"SessionMonitor._callback: Subject no longer signed into OP\"),r&&(e._sub?(i.Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed out event\"),e._userManager.events._raiseUserSignedOut()):(i.Log.debug(\"SessionMonitor._callback: SessionMonitor._callback; raising signed in event\"),e._userManager.events._raiseUserSignedIn()))})).catch((function(t){e._sub&&(i.Log.debug(\"SessionMonitor._callback: Error calling queryCurrentSigninSession; raising signed out event\",t.message),e._userManager.events._raiseUserSignedOut())}))},n(t,[{key:\"_settings\",get:function t(){return this._userManager.settings}},{key:\"_metadataService\",get:function t(){return this._userManager.metadataService}},{key:\"_client_id\",get:function t(){return this._settings.client_id}},{key:\"_checkSessionInterval\",get:function t(){return this._settings.checkSessionInterval}},{key:\"_stopCheckSessionOnError\",get:function t(){return this._settings.stopCheckSessionOnError}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CheckSessionIFrame=void 0;var n=r(0);function i(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.CheckSessionIFrame=function(){function t(e,r,n,o){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];i(this,t),this._callback=e,this._client_id=r,this._url=n,this._interval=o||2e3,this._stopOnError=s;var a=n.indexOf(\"/\",n.indexOf(\"//\")+2);this._frame_origin=n.substr(0,a),this._frame=window.document.createElement(\"iframe\"),this._frame.style.visibility=\"hidden\",this._frame.style.position=\"absolute\",this._frame.style.display=\"none\",this._frame.width=0,this._frame.height=0,this._frame.src=n}return t.prototype.load=function t(){var e=this;return new Promise((function(t){e._frame.onload=function(){t()},window.document.body.appendChild(e._frame),e._boundMessageEvent=e._message.bind(e),window.addEventListener(\"message\",e._boundMessageEvent,!1)}))},t.prototype._message=function t(e){e.origin===this._frame_origin&&e.source===this._frame.contentWindow&&(\"error\"===e.data?(n.Log.error(\"CheckSessionIFrame: error message from check session op iframe\"),this._stopOnError&&this.stop()):\"changed\"===e.data?(n.Log.debug(\"CheckSessionIFrame: changed message from check session op iframe\"),this.stop(),this._callback()):n.Log.debug(\"CheckSessionIFrame: \"+e.data+\" message from check session op iframe\"))},t.prototype.start=function t(e){var r=this;if(this._session_state!==e){n.Log.debug(\"CheckSessionIFrame.start\"),this.stop(),this._session_state=e;var i=function t(){r._frame.contentWindow.postMessage(r._client_id+\" \"+r._session_state,r._frame_origin)};i(),this._timer=window.setInterval(i,this._interval)}},t.prototype.stop=function t(){this._session_state=null,this._timer&&(n.Log.debug(\"CheckSessionIFrame.stop\"),window.clearInterval(this._timer),this._timer=null)},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.TokenRevocationClient=void 0;var n=r(0),i=r(2),o=r(1);function s(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var a=\"access_token\",u=\"refresh_token\";e.TokenRevocationClient=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.Global.XMLHttpRequest,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService;if(s(this,t),!e)throw n.Log.error(\"TokenRevocationClient.ctor: No settings provided\"),new Error(\"No settings provided.\");this._settings=e,this._XMLHttpRequestCtor=r,this._metadataService=new a(this._settings)}return t.prototype.revoke=function t(e,r){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"access_token\";if(!e)throw n.Log.error(\"TokenRevocationClient.revoke: No token provided\"),new Error(\"No token provided.\");if(o!==a&&o!=u)throw n.Log.error(\"TokenRevocationClient.revoke: Invalid token type\"),new Error(\"Invalid token type.\");return this._metadataService.getRevocationEndpoint().then((function(t){if(t){n.Log.debug(\"TokenRevocationClient.revoke: Revoking \"+o);var s=i._settings.client_id,a=i._settings.client_secret;return i._revoke(t,s,a,e,o)}if(r)throw n.Log.error(\"TokenRevocationClient.revoke: Revocation not supported\"),new Error(\"Revocation not supported\")}))},t.prototype._revoke=function t(e,r,i,o,s){var a=this;return new Promise((function(t,u){var c=new a._XMLHttpRequestCtor;c.open(\"POST\",e),c.onload=function(){n.Log.debug(\"TokenRevocationClient.revoke: HTTP response received, status\",c.status),200===c.status?t():u(Error(c.statusText+\" (\"+c.status+\")\"))},c.onerror=function(){n.Log.debug(\"TokenRevocationClient.revoke: Network Error.\"),u(\"Network Error\")};var h=\"client_id=\"+encodeURIComponent(r);i&&(h+=\"&client_secret=\"+encodeURIComponent(i)),h+=\"&token_type_hint=\"+encodeURIComponent(s),h+=\"&token=\"+encodeURIComponent(o),c.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),c.send(h)}))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.CordovaPopupWindow=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.MetadataService,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.UserInfoService,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c.JoseUtil,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a.TokenClient;if(h(this,t),!e)throw i.Log.error(\"ResponseValidator.ctor: No settings passed to ResponseValidator\"),new Error(\"settings\");this._settings=e,this._metadataService=new r(this._settings),this._userInfoService=new n(this._settings),this._joseUtil=u,this._tokenClient=new l(this._settings)}return t.prototype.validateSigninResponse=function t(e,r){var n=this;return i.Log.debug(\"ResponseValidator.validateSigninResponse\"),this._processSigninParams(e,r).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: state processed\"),n._validateTokens(e,t).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: tokens validated\"),n._processClaims(e,t).then((function(t){return i.Log.debug(\"ResponseValidator.validateSigninResponse: claims processed\"),t}))}))}))},t.prototype.validateSignoutResponse=function t(e,r){return e.id!==r.state?(i.Log.error(\"ResponseValidator.validateSignoutResponse: State does not match\"),Promise.reject(new Error(\"State does not match\"))):(i.Log.debug(\"ResponseValidator.validateSignoutResponse: state validated\"),r.state=e.data,r.error?(i.Log.warn(\"ResponseValidator.validateSignoutResponse: Response was error\",r.error),Promise.reject(new u.ErrorResponse(r))):Promise.resolve(r))},t.prototype._processSigninParams=function t(e,r){if(e.id!==r.state)return i.Log.error(\"ResponseValidator._processSigninParams: State does not match\"),Promise.reject(new Error(\"State does not match\"));if(!e.client_id)return i.Log.error(\"ResponseValidator._processSigninParams: No client_id on state\"),Promise.reject(new Error(\"No client_id on state\"));if(!e.authority)return i.Log.error(\"ResponseValidator._processSigninParams: No authority on state\"),Promise.reject(new Error(\"No authority on state\"));if(this._settings.authority){if(this._settings.authority&&this._settings.authority!==e.authority)return i.Log.error(\"ResponseValidator._processSigninParams: authority mismatch on settings vs. signin state\"),Promise.reject(new Error(\"authority mismatch on settings vs. signin state\"))}else this._settings.authority=e.authority;if(this._settings.client_id){if(this._settings.client_id&&this._settings.client_id!==e.client_id)return i.Log.error(\"ResponseValidator._processSigninParams: client_id mismatch on settings vs. signin state\"),Promise.reject(new Error(\"client_id mismatch on settings vs. signin state\"))}else this._settings.client_id=e.client_id;return i.Log.debug(\"ResponseValidator._processSigninParams: state validated\"),r.state=e.data,r.error?(i.Log.warn(\"ResponseValidator._processSigninParams: Response was error\",r.error),Promise.reject(new u.ErrorResponse(r))):e.nonce&&!r.id_token?(i.Log.error(\"ResponseValidator._processSigninParams: Expecting id_token in response\"),Promise.reject(new Error(\"No id_token in response\"))):!e.nonce&&r.id_token?(i.Log.error(\"ResponseValidator._processSigninParams: Not expecting id_token in response\"),Promise.reject(new Error(\"Unexpected id_token in response\"))):e.code_verifier&&!r.code?(i.Log.error(\"ResponseValidator._processSigninParams: Expecting code in response\"),Promise.reject(new Error(\"No code in response\"))):!e.code_verifier&&r.code?(i.Log.error(\"ResponseValidator._processSigninParams: Not expecting code in response\"),Promise.reject(new Error(\"Unexpected code in response\"))):(r.scope||(r.scope=e.scope),Promise.resolve(r))},t.prototype._processClaims=function t(e,r){var n=this;if(r.isOpenIdConnect){if(i.Log.debug(\"ResponseValidator._processClaims: response is OIDC, processing claims\"),r.profile=this._filterProtocolClaims(r.profile),!0!==e.skipUserInfo&&this._settings.loadUserInfo&&r.access_token)return i.Log.debug(\"ResponseValidator._processClaims: loading user info\"),this._userInfoService.getClaims(r.access_token).then((function(t){return i.Log.debug(\"ResponseValidator._processClaims: user info claims received from user info endpoint\"),t.sub!==r.profile.sub?(i.Log.error(\"ResponseValidator._processClaims: sub from user info endpoint does not match sub in id_token\"),Promise.reject(new Error(\"sub from user info endpoint does not match sub in id_token\"))):(r.profile=n._mergeClaims(r.profile,t),i.Log.debug(\"ResponseValidator._processClaims: user info claims received, updated profile:\",r.profile),r)}));i.Log.debug(\"ResponseValidator._processClaims: not loading user info\")}else i.Log.debug(\"ResponseValidator._processClaims: response is not OIDC, not processing claims\");return Promise.resolve(r)},t.prototype._mergeClaims=function t(e,r){var i=Object.assign({},e);for(var o in r){var s=r[o];Array.isArray(s)||(s=[s]);for(var a=0;a1)return i.Log.error(\"ResponseValidator._validateIdToken: No kid found in id_token and more than one key found in metadata\"),Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));o=t[0]}return Promise.resolve(o)}))},t.prototype._getSigningKeyForJwtWithSingleRetry=function t(e){var r=this;return this._getSigningKeyForJwt(e).then((function(t){return t?Promise.resolve(t):(r._metadataService.resetSigningKeys(),r._getSigningKeyForJwt(e))}))},t.prototype._validateIdToken=function t(e,r){var n=this;if(!e.nonce)return i.Log.error(\"ResponseValidator._validateIdToken: No nonce on state\"),Promise.reject(new Error(\"No nonce on state\"));var o=this._joseUtil.parseJwt(r.id_token);return o&&o.header&&o.payload?e.nonce!==o.payload.nonce?(i.Log.error(\"ResponseValidator._validateIdToken: Invalid nonce in id_token\"),Promise.reject(new Error(\"Invalid nonce in id_token\"))):this._metadataService.getIssuer().then((function(t){return i.Log.debug(\"ResponseValidator._validateIdToken: Received issuer\"),n._getSigningKeyForJwtWithSingleRetry(o).then((function(s){if(!s)return i.Log.error(\"ResponseValidator._validateIdToken: No key matching kid or alg found in signing keys\"),Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));var a=e.client_id,u=n._settings.clockSkew;return i.Log.debug(\"ResponseValidator._validateIdToken: Validaing JWT; using clock skew (in seconds) of: \",u),n._joseUtil.validateJwt(r.id_token,s,t,a,u).then((function(){return i.Log.debug(\"ResponseValidator._validateIdToken: JWT validation successful\"),o.payload.sub?(r.profile=o.payload,r):(i.Log.error(\"ResponseValidator._validateIdToken: No sub present in id_token\"),Promise.reject(new Error(\"No sub present in id_token\")))}))}))})):(i.Log.error(\"ResponseValidator._validateIdToken: Failed to parse id_token\",o),Promise.reject(new Error(\"Failed to parse id_token\")))},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith(\"RS\"))n=\"RSA\";else if(r.startsWith(\"PS\"))n=\"PS\";else{if(!r.startsWith(\"ES\"))return i.Log.debug(\"ResponseValidator._filterByAlg: alg not supported: \",r),[];n=\"EC\"}return i.Log.debug(\"ResponseValidator._filterByAlg: Looking for keys that match kty: \",n),e=e.filter((function(t){return t.kty===n})),i.Log.debug(\"ResponseValidator._filterByAlg: Number of keys that match kty: \",n,e.length),e},t.prototype._validateAccessToken=function t(e){if(!e.profile)return i.Log.error(\"ResponseValidator._validateAccessToken: No profile loaded from id_token\"),Promise.reject(new Error(\"No profile loaded from id_token\"));if(!e.profile.at_hash)return i.Log.error(\"ResponseValidator._validateAccessToken: No at_hash in id_token\"),Promise.reject(new Error(\"No at_hash in id_token\"));if(!e.id_token)return i.Log.error(\"ResponseValidator._validateAccessToken: No id_token\"),Promise.reject(new Error(\"No id_token\"));var r=this._joseUtil.parseJwt(e.id_token);if(!r||!r.header)return i.Log.error(\"ResponseValidator._validateAccessToken: Failed to parse id_token\",r),Promise.reject(new Error(\"Failed to parse id_token\"));var n=r.header.alg;if(!n||5!==n.length)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n),Promise.reject(new Error(\"Unsupported alg: \"+n));var o=n.substr(2,3);if(!o)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n,o),Promise.reject(new Error(\"Unsupported alg: \"+n));if(256!==(o=parseInt(o))&&384!==o&&512!==o)return i.Log.error(\"ResponseValidator._validateAccessToken: Unsupported alg:\",n,o),Promise.reject(new Error(\"Unsupported alg: \"+n));var s=\"sha\"+o,a=this._joseUtil.hashString(e.access_token,s);if(!a)return i.Log.error(\"ResponseValidator._validateAccessToken: access_token hash failed:\",s),Promise.reject(new Error(\"Failed to validate at_hash\"));var u=a.substr(0,a.length/2),c=this._joseUtil.hexToBase64Url(u);return c!==e.profile.at_hash?(i.Log.error(\"ResponseValidator._validateAccessToken: Failed to validate at_hash\",c,e.profile.at_hash),Promise.reject(new Error(\"Failed to validate at_hash\"))):(i.Log.debug(\"ResponseValidator._validateAccessToken: success\"),Promise.resolve(e))},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserInfoService=void 0;var n=r(7),i=r(2),o=r(0),s=r(4);function a(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}e.UserInfoService=function(){function t(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.JsonService,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.MetadataService,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:s.JoseUtil;if(a(this,t),!e)throw o.Log.error(\"UserInfoService.ctor: No settings passed\"),new Error(\"settings\");this._settings=e,this._jsonService=new r(void 0,void 0,this._getClaimsFromJwt.bind(this)),this._metadataService=new u(this._settings),this._joseUtil=c}return t.prototype.getClaims=function t(e){var r=this;return e?this._metadataService.getUserInfoEndpoint().then((function(t){return o.Log.debug(\"UserInfoService.getClaims: received userinfo url\",t),r._jsonService.getJson(t,e).then((function(t){return o.Log.debug(\"UserInfoService.getClaims: claims received\",t),t}))})):(o.Log.error(\"UserInfoService.getClaims: No token passed\"),Promise.reject(new Error(\"A token is required\")))},t.prototype._getClaimsFromJwt=function t(e){var r=this;try{var n=this._joseUtil.parseJwt(e.responseText);if(!n||!n.header||!n.payload)return o.Log.error(\"UserInfoService._getClaimsFromJwt: Failed to parse JWT\",n),Promise.reject(new Error(\"Failed to parse id_token\"));var i=n.header.kid,s=void 0;switch(this._settings.userInfoJwtIssuer){case\"OP\":s=this._metadataService.getIssuer();break;case\"ANY\":s=Promise.resolve(n.payload.iss);break;default:s=Promise.resolve(this._settings.userInfoJwtIssuer)}return s.then((function(t){return o.Log.debug(\"UserInfoService._getClaimsFromJwt: Received issuer:\"+t),r._metadataService.getSigningKeys().then((function(s){if(!s)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No signing keys from metadata\"),Promise.reject(new Error(\"No signing keys from metadata\"));o.Log.debug(\"UserInfoService._getClaimsFromJwt: Received signing keys\");var a=void 0;if(i)a=s.filter((function(t){return t.kid===i}))[0];else{if((s=r._filterByAlg(s,n.header.alg)).length>1)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No kid found in id_token and more than one key found in metadata\"),Promise.reject(new Error(\"No kid found in id_token and more than one key found in metadata\"));a=s[0]}if(!a)return o.Log.error(\"UserInfoService._getClaimsFromJwt: No key matching kid or alg found in signing keys\"),Promise.reject(new Error(\"No key matching kid or alg found in signing keys\"));var u=r._settings.client_id,c=r._settings.clockSkew;return o.Log.debug(\"UserInfoService._getClaimsFromJwt: Validaing JWT; using clock skew (in seconds) of: \",c),r._joseUtil.validateJwt(e.responseText,a,t,u,c,void 0,!0).then((function(){return o.Log.debug(\"UserInfoService._getClaimsFromJwt: JWT validation successful\"),n.payload}))}))}))}catch(t){return o.Log.error(\"UserInfoService._getClaimsFromJwt: Error parsing JWT response\",t.message),void reject(t)}},t.prototype._filterByAlg=function t(e,r){var n=null;if(r.startsWith(\"RS\"))n=\"RSA\";else if(r.startsWith(\"PS\"))n=\"PS\";else{if(!r.startsWith(\"ES\"))return o.Log.debug(\"UserInfoService._filterByAlg: alg not supported: \",r),[];n=\"EC\"}return o.Log.debug(\"UserInfoService._filterByAlg: Looking for keys that match kty: \",n),e=e.filter((function(t){return t.kty===n})),o.Log.debug(\"UserInfoService._filterByAlg: Number of keys that match kty: \",n,e.length),e},t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.AllowedSigningAlgs=e.b64tohex=e.hextob64u=e.crypto=e.X509=e.KeyUtil=e.jws=void 0;var n=r(27);e.jws=n.jws,e.KeyUtil=n.KEYUTIL,e.X509=n.X509,e.crypto=n.crypto,e.hextob64u=n.hextob64u,e.b64tohex=n.b64tohex,e.AllowedSigningAlgs=[\"RS256\",\"RS384\",\"RS512\",\"PS256\",\"PS384\",\"PS512\",\"ES256\",\"ES384\",\"ES512\"]},function(t,e,r){\"use strict\";(function(t){Object.defineProperty(e,\"__esModule\",{value:!0});var r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},n={userAgent:!1},i={};\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nif(void 0===o)var o={};o.lang={extend:function t(e,r,i){if(!r||!e)throw new Error(\"YAHOO.lang.extend failed, please check that all dependencies are included.\");var o=function t(){};if(o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e,e.superclass=r.prototype,r.prototype.constructor==Object.prototype.constructor&&(r.prototype.constructor=r),i){var s;for(s in i)e.prototype[s]=i[s];var a=function t(){},u=[\"toString\",\"valueOf\"];try{/MSIE/.test(n.userAgent)&&(a=function t(e,r){for(s=0;s>>2]>>>24-s%4*8&255;r[i+s>>>2]|=a<<24-(i+s)%4*8}else for(s=0;s>>2]=n[s>>>2];return this.sigBytes+=o,this},clamp:function t(){var e=this.words,r=this.sigBytes;e[r>>>2]&=4294967295<<32-r%4*8,e.length=s.ceil(r/4)},clone:function t(){var e=c.clone.call(this);return e.words=this.words.slice(0),e},random:function t(e){for(var r=[],n=0;n>>2]>>>24-o%4*8&255;i.push((s>>>4).toString(16)),i.push((15&s).toString(16))}return i.join(\"\")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new h.init(n,r/2)}},g=l.Latin1={stringify:function t(e){for(var r=e.words,n=e.sigBytes,i=[],o=0;o>>2]>>>24-o%4*8&255;i.push(String.fromCharCode(s))}return i.join(\"\")},parse:function t(e){for(var r=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new h.init(n,r)}},d=l.Utf8={stringify:function t(e){try{return decodeURIComponent(escape(g.stringify(e)))}catch(t){throw new Error(\"Malformed UTF-8 data\")}},parse:function t(e){return g.parse(unescape(encodeURIComponent(e)))}},p=u.BufferedBlockAlgorithm=c.extend({reset:function t(){this._data=new h.init,this._nDataBytes=0},_append:function t(e){\"string\"==typeof e&&(e=d.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function t(e){var r=this._data,n=r.words,i=r.sigBytes,o=this.blockSize,a=i/(4*o),u=(a=e?s.ceil(a):s.max((0|a)-this._minBufferSize,0))*o,c=s.min(4*u,i);if(u){for(var l=0;l>>2]>>>24-o%4*8&255)<<16|(r[o+1>>>2]>>>24-(o+1)%4*8&255)<<8|r[o+2>>>2]>>>24-(o+2)%4*8&255,a=0;4>a&&o+.75*a>>6*(3-a)&63));if(r=i.charAt(64))for(;e.length%4;)e.push(r);return e.join(\"\")},parse:function t(r){var n=r.length,i=this._map;(o=i.charAt(64))&&(-1!=(o=r.indexOf(o))&&(n=o));for(var o=[],s=0,a=0;a>>6-a%4*2;o[s>>>2]|=(u|c)<<24-s%4*8,s++}return e.create(o,s)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),function(t){for(var e=y,r=(i=e.lib).WordArray,n=i.Hasher,i=e.algo,o=[],s=[],a=function t(e){return 4294967296*(e-(0|e))|0},u=2,c=0;64>c;){var h;t:{h=u;for(var l=t.sqrt(h),f=2;f<=l;f++)if(!(h%f)){h=!1;break t}h=!0}h&&(8>c&&(o[c]=a(t.pow(u,.5))),s[c]=a(t.pow(u,1/3)),c++),u++}var g=[];i=i.SHA256=n.extend({_doReset:function t(){this._hash=new r.init(o.slice(0))},_doProcessBlock:function t(e,r){for(var n=this._hash.words,i=n[0],o=n[1],a=n[2],u=n[3],c=n[4],h=n[5],l=n[6],f=n[7],d=0;64>d;d++){if(16>d)g[d]=0|e[r+d];else{var p=g[d-15],v=g[d-2];g[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+g[d-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+g[d-16]}p=f+((c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25))+(c&h^~c&l)+s[d]+g[d],v=((i<<30|i>>>2)^(i<<19|i>>>13)^(i<<10|i>>>22))+(i&o^i&a^o&a),f=l,l=h,h=c,c=u+p|0,u=a,a=o,o=i,i=p+v|0}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+a|0,n[3]=n[3]+u|0,n[4]=n[4]+c|0,n[5]=n[5]+h|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function e(){var r=this._data,n=r.words,i=8*this._nDataBytes,o=8*r.sigBytes;return n[o>>>5]|=128<<24-o%32,n[14+(o+64>>>9<<4)]=t.floor(i/4294967296),n[15+(o+64>>>9<<4)]=i,r.sigBytes=4*n.length,this._process(),this._hash},clone:function t(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)}(Math),function(){function t(){return n.create.apply(n,arguments)}for(var e=y,r=e.lib.Hasher,n=(o=e.x64).Word,i=o.WordArray,o=e.algo,s=[t(1116352408,3609767458),t(1899447441,602891725),t(3049323471,3964484399),t(3921009573,2173295548),t(961987163,4081628472),t(1508970993,3053834265),t(2453635748,2937671579),t(2870763221,3664609560),t(3624381080,2734883394),t(310598401,1164996542),t(607225278,1323610764),t(1426881987,3590304994),t(1925078388,4068182383),t(2162078206,991336113),t(2614888103,633803317),t(3248222580,3479774868),t(3835390401,2666613458),t(4022224774,944711139),t(264347078,2341262773),t(604807628,2007800933),t(770255983,1495990901),t(1249150122,1856431235),t(1555081692,3175218132),t(1996064986,2198950837),t(2554220882,3999719339),t(2821834349,766784016),t(2952996808,2566594879),t(3210313671,3203337956),t(3336571891,1034457026),t(3584528711,2466948901),t(113926993,3758326383),t(338241895,168717936),t(666307205,1188179964),t(773529912,1546045734),t(1294757372,1522805485),t(1396182291,2643833823),t(1695183700,2343527390),t(1986661051,1014477480),t(2177026350,1206759142),t(2456956037,344077627),t(2730485921,1290863460),t(2820302411,3158454273),t(3259730800,3505952657),t(3345764771,106217008),t(3516065817,3606008344),t(3600352804,1432725776),t(4094571909,1467031594),t(275423344,851169720),t(430227734,3100823752),t(506948616,1363258195),t(659060556,3750685593),t(883997877,3785050280),t(958139571,3318307427),t(1322822218,3812723403),t(1537002063,2003034995),t(1747873779,3602036899),t(1955562222,1575990012),t(2024104815,1125592928),t(2227730452,2716904306),t(2361852424,442776044),t(2428436474,593698344),t(2756734187,3733110249),t(3204031479,2999351573),t(3329325298,3815920427),t(3391569614,3928383900),t(3515267271,566280711),t(3940187606,3454069534),t(4118630271,4000239992),t(116418474,1914138554),t(174292421,2731055270),t(289380356,3203993006),t(460393269,320620315),t(685471733,587496836),t(852142971,1086792851),t(1017036298,365543100),t(1126000580,2618297676),t(1288033470,3409855158),t(1501505948,4234509866),t(1607167915,987167468),t(1816402316,1246189591)],a=[],u=0;80>u;u++)a[u]=t();o=o.SHA512=r.extend({_doReset:function t(){this._hash=new i.init([new n.init(1779033703,4089235720),new n.init(3144134277,2227873595),new n.init(1013904242,4271175723),new n.init(2773480762,1595750129),new n.init(1359893119,2917565137),new n.init(2600822924,725511199),new n.init(528734635,4215389547),new n.init(1541459225,327033209)])},_doProcessBlock:function t(e,r){for(var n=(f=this._hash.words)[0],i=f[1],o=f[2],u=f[3],c=f[4],h=f[5],l=f[6],f=f[7],g=n.high,d=n.low,p=i.high,v=i.low,y=o.high,m=o.low,_=u.high,S=u.low,b=c.high,w=c.low,F=h.high,E=h.low,x=l.high,A=l.low,k=f.high,P=f.low,C=g,T=d,R=p,I=v,D=y,L=m,N=_,U=S,B=b,O=w,j=F,M=E,H=x,V=A,K=k,q=P,J=0;80>J;J++){var W=a[J];if(16>J)var z=W.high=0|e[r+2*J],Y=W.low=0|e[r+2*J+1];else{z=((Y=(z=a[J-15]).high)>>>1|(G=z.low)<<31)^(Y>>>8|G<<24)^Y>>>7;var G=(G>>>1|Y<<31)^(G>>>8|Y<<24)^(G>>>7|Y<<25),X=((Y=(X=a[J-2]).high)>>>19|($=X.low)<<13)^(Y<<3|$>>>29)^Y>>>6,$=($>>>19|Y<<13)^($<<3|Y>>>29)^($>>>6|Y<<26),Q=(Y=a[J-7]).high,Z=(tt=a[J-16]).high,tt=tt.low;z=(z=(z=z+Q+((Y=G+Y.low)>>>0>>0?1:0))+X+((Y=Y+$)>>>0<$>>>0?1:0))+Z+((Y=Y+tt)>>>0>>0?1:0);W.high=z,W.low=Y}Q=B&j^~B&H,tt=O&M^~O&V,W=C&R^C&D^R&D;var et=T&I^T&L^I&L,rt=(G=(C>>>28|T<<4)^(C<<30|T>>>2)^(C<<25|T>>>7),X=(T>>>28|C<<4)^(T<<30|C>>>2)^(T<<25|C>>>7),($=s[J]).high),nt=$.low;Z=K+((B>>>14|O<<18)^(B>>>18|O<<14)^(B<<23|O>>>9))+(($=q+((O>>>14|B<<18)^(O>>>18|B<<14)^(O<<23|B>>>9)))>>>0>>0?1:0),K=H,q=V,H=j,V=M,j=B,M=O,B=N+(Z=(Z=(Z=Z+Q+(($=$+tt)>>>0>>0?1:0))+rt+(($=$+nt)>>>0>>0?1:0))+z+(($=$+Y)>>>0>>0?1:0))+((O=U+$|0)>>>0>>0?1:0)|0,N=D,U=L,D=R,L=I,R=C,I=T,C=Z+(W=G+W+((Y=X+et)>>>0>>0?1:0))+((T=$+Y|0)>>>0<$>>>0?1:0)|0}d=n.low=d+T,n.high=g+C+(d>>>0>>0?1:0),v=i.low=v+I,i.high=p+R+(v>>>0>>0?1:0),m=o.low=m+L,o.high=y+D+(m>>>0>>0?1:0),S=u.low=S+U,u.high=_+N+(S>>>0>>0?1:0),w=c.low=w+O,c.high=b+B+(w>>>0>>0?1:0),E=h.low=E+M,h.high=F+j+(E>>>0>>0?1:0),A=l.low=A+V,l.high=x+H+(A>>>0>>0?1:0),P=f.low=P+q,f.high=k+K+(P>>>0>>0?1:0)},_doFinalize:function t(){var e=this._data,r=e.words,n=8*this._nDataBytes,i=8*e.sigBytes;return r[i>>>5]|=128<<24-i%32,r[30+(i+128>>>10<<5)]=Math.floor(n/4294967296),r[31+(i+128>>>10<<5)]=n,e.sigBytes=4*r.length,this._process(),this._hash.toX32()},clone:function t(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),e.SHA512=r._createHelper(o),e.HmacSHA512=r._createHmacHelper(o)}(),function(){var t=y,e=(i=t.x64).Word,r=i.WordArray,n=(i=t.algo).SHA512,i=i.SHA384=n.extend({_doReset:function t(){this._hash=new r.init([new e.init(3418070365,3238371032),new e.init(1654270250,914150663),new e.init(2438529370,812702999),new e.init(355462360,4144912697),new e.init(1731405415,4290775857),new e.init(2394180231,1750603025),new e.init(3675008525,1694076839),new e.init(1203062813,3204075428)])},_doFinalize:function t(){var e=n._doFinalize.call(this);return e.sigBytes-=16,e}});t.SHA384=n._createHelper(i),t.HmacSHA384=n._createHmacHelper(i)}();\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nvar m,_=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";function S(t){var e,r,n=\"\";for(e=0;e+3<=t.length;e+=3)r=parseInt(t.substring(e,e+3),16),n+=_.charAt(r>>6)+_.charAt(63&r);for(e+1==t.length?(r=parseInt(t.substring(e,e+1),16),n+=_.charAt(r<<2)):e+2==t.length&&(r=parseInt(t.substring(e,e+2),16),n+=_.charAt(r>>2)+_.charAt((3&r)<<4)),\"=\";(3&n.length)>0;)n+=\"=\";return n}function b(t){var e,r,n,i=\"\",o=0;for(e=0;e>2),r=3&n,o=1):1==o?(i+=R(r<<2|n>>4),r=15&n,o=2):2==o?(i+=R(r),i+=R(n>>2),r=3&n,o=3):(i+=R(r<<2|n>>4),i+=R(15&n),o=0));return 1==o&&(i+=R(r<<2)),i}function w(t){var e,r=b(t),n=new Array;for(e=0;2*e>15;--o>=0;){var u=32767&this[t],c=this[t++]>>15,h=a*u+c*s;i=((u=s*u+((32767&h)<<15)+r[n]+(1073741823&i))>>>30)+(h>>>15)+a*c+(i>>>30),r[n++]=1073741823&u}return i},m=30):\"Netscape\"!=n.appName?(F.prototype.am=function A(t,e,r,n,i,o){for(;--o>=0;){var s=e*this[t++]+r[n]+i;i=Math.floor(s/67108864),r[n++]=67108863&s}return i},m=26):(F.prototype.am=function k(t,e,r,n,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var u=16383&this[t],c=this[t++]>>14,h=a*u+c*s;i=((u=s*u+((16383&h)<<14)+r[n]+i)>>28)+(h>>14)+a*c,r[n++]=268435455&u}return i},m=28),F.prototype.DB=m,F.prototype.DM=(1<>>16)&&(t=e,r+=16),0!=(e=t>>8)&&(t=e,r+=8),0!=(e=t>>4)&&(t=e,r+=4),0!=(e=t>>2)&&(t=e,r+=2),0!=(e=t>>1)&&(t=e,r+=1),r}function N(t){this.m=t}function U(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function V(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function K(){}function q(t){return t}function J(t){this.r2=E(),this.q3=E(),F.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}N.prototype.convert=function W(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},N.prototype.revert=function z(t){return t},N.prototype.reduce=function Y(t){t.divRemTo(this.m,null,t)},N.prototype.mulTo=function G(t,e,r){t.multiplyTo(e,r),this.reduce(r)},N.prototype.sqrTo=function X(t,e){t.squareTo(e),this.reduce(e)},U.prototype.convert=function $(t){var e=E();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(F.ZERO)>0&&this.m.subTo(e,e),e},U.prototype.revert=function Q(t){var e=E();return t.copyTo(e),this.reduce(e),e},U.prototype.reduce=function Z(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(t[r=e+this.m.t]+=this.m.am(0,n,t,e,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},U.prototype.mulTo=function tt(t,e,r){t.multiplyTo(e,r),this.reduce(r)},U.prototype.sqrTo=function et(t,e){t.squareTo(e),this.reduce(e)},F.prototype.copyTo=function rt(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},F.prototype.fromInt=function nt(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},F.prototype.fromString=function it(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=8==r?255&t[n]:I(t,n);s<0?\"-\"==t.charAt(n)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+r>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t},F.prototype.dlShiftTo=function st(t,e){var r;for(r=this.t-1;r>=0;--r)e[r+t]=this[r];for(r=t-1;r>=0;--r)e[r]=0;e.t=this.t+t,e.s=this.s},F.prototype.drShiftTo=function at(t,e){for(var r=t;r=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=0;--r)e[r]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},F.prototype.rShiftTo=function ct(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)e.t=0;else{var n=t%this.DB,i=this.DB-n,o=(1<>n;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e[r++]=this.DV+n:n>0&&(e[r++]=n),e.t=r,e.clamp()},F.prototype.multiplyTo=function lt(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e[i]=0;for(i=0;i=0;)t[r]=0;for(r=0;r=e.DV&&(t[r+e.t]-=e.DV,t[r+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(r,e[r],t,2*r,0,1)),t.s=0,t.clamp()},F.prototype.divRemTo=function gt(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,h=o[c-1];if(0!=h){var l=h*(1<1?o[c-2]>>this.F2:0),f=this.FV/l,g=(1<=0&&(r[r.t++]=1,r.subTo(y,r)),F.ONE.dlShiftTo(c,y),y.subTo(o,o);o.t=0;){var m=r[--p]==h?this.DM:Math.floor(r[p]*f+(r[p-1]+d)*g);if((r[p]+=o.am(0,m,r,v,0,c))0&&r.rShiftTo(u,r),s<0&&F.ZERO.subTo(r,r)}}},F.prototype.invDigit=function dt(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},F.prototype.isEven=function pt(){return 0==(this.t>0?1&this[0]:this.s)},F.prototype.exp=function vt(t,e){if(t>4294967295||t<1)return F.ONE;var r=E(),n=E(),i=e.convert(this),o=L(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)},F.prototype.toString=function yt(t){if(this.s<0)return\"-\"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var r,n=(1<0)for(a>a)>0&&(i=!0,o=R(r));s>=0;)a>(a+=this.DB-e)):(r=this[s]>>(a-=e)&n,a<=0&&(a+=this.DB,--s)),r>0&&(i=!0),i&&(o+=R(r));return i?o:\"0\"},F.prototype.negate=function mt(){var t=E();return F.ZERO.subTo(this,t),t},F.prototype.abs=function _t(){return this.s<0?this.negate():this},F.prototype.compareTo=function St(t){var e=this.s-t.s;if(0!=e)return e;var r=this.t;if(0!=(e=r-t.t))return this.s<0?-e:e;for(;--r>=0;)if(0!=(e=this[r]-t[r]))return e;return 0},F.prototype.bitLength=function bt(){return this.t<=0?0:this.DB*(this.t-1)+L(this[this.t-1]^this.s&this.DM)},F.prototype.mod=function wt(t){var e=E();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(F.ZERO)>0&&t.subTo(e,e),e},F.prototype.modPowInt=function Ft(t,e){var r;return r=t<256||e.isEven()?new N(e):new U(e),this.exp(t,r)},F.ZERO=D(0),F.ONE=D(1),K.prototype.convert=q,K.prototype.revert=q,K.prototype.mulTo=function Et(t,e,r){t.multiplyTo(e,r)},K.prototype.sqrTo=function xt(t,e){t.squareTo(e)},J.prototype.convert=function At(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=E();return t.copyTo(e),this.reduce(e),e},J.prototype.revert=function kt(t){return t},J.prototype.reduce=function Pt(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},J.prototype.mulTo=function Ct(t,e,r){t.multiplyTo(e,r),this.reduce(r)},J.prototype.sqrTo=function Tt(t,e){t.squareTo(e),this.reduce(e)};var Rt=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],It=(1<<26)/Rt[Rt.length-1];\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction Dt(){this.i=0,this.j=0,this.S=new Array}F.prototype.chunkSize=function Lt(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},F.prototype.toRadix=function Nt(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return\"0\";var e=this.chunkSize(t),r=Math.pow(t,e),n=D(r),i=E(),o=E(),s=\"\";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s},F.prototype.fromRadix=function Ut(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&F.ZERO.subTo(this,this)},F.prototype.fromNumber=function Bt(t,e,r){if(\"number\"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(F.ONE.shiftLeft(t-1),O,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(F.ONE.shiftLeft(t-1),this);else{var n=new Array,i=7&t;n.length=1+(t>>3),e.nextBytes(n),i>0?n[0]&=(1<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e[r++]=n:n<-1&&(e[r++]=this.DV+n),e.t=r,e.clamp()},F.prototype.dMultiply=function Ht(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},F.prototype.dAddOffset=function Vt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},F.prototype.multiplyLowerTo=function Kt(t,e,r){var n,i=Math.min(this.t+t.t,e);for(r.s=0,r.t=i;i>0;)r[--i]=0;for(n=r.t-this.t;i=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)if(0==e)r=this[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this[n])%t;return r},F.prototype.millerRabin=function Wt(t){var e=this.subtract(F.ONE),r=e.getLowestSetBit();if(r<=0)return!1;var n=e.shiftRight(r);(t=t+1>>1)>Rt.length&&(t=Rt.length);for(var i=E(),o=0;o>24},F.prototype.shortValue=function Xt(){return 0==this.t?this.s:this[0]<<16>>16},F.prototype.signum=function $t(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},F.prototype.toByteArray=function Qt(){var t=this.t,e=new Array;e[0]=this.s;var r,n=this.DB-t*this.DB%8,i=0;if(t-- >0)for(n>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(n+=this.DB-8)):(r=this[t]>>(n-=8)&255,n<=0&&(n+=this.DB,--t)),0!=(128&r)&&(r|=-256),0==i&&(128&this.s)!=(128&r)&&++i,(i>0||r!=this.s)&&(e[i++]=r);return e},F.prototype.equals=function Zt(t){return 0==this.compareTo(t)},F.prototype.min=function te(t){return this.compareTo(t)<0?this:t},F.prototype.max=function ee(t){return this.compareTo(t)>0?this:t},F.prototype.and=function re(t){var e=E();return this.bitwiseTo(t,B,e),e},F.prototype.or=function ne(t){var e=E();return this.bitwiseTo(t,O,e),e},F.prototype.xor=function ie(t){var e=E();return this.bitwiseTo(t,j,e),e},F.prototype.andNot=function oe(t){var e=E();return this.bitwiseTo(t,M,e),e},F.prototype.not=function se(){for(var t=E(),e=0;e=this.t?0!=this.s:0!=(this[e]&1<1){var h=E();for(n.sqrTo(s[1],h);a<=c;)s[a]=E(),n.mulTo(h,s[a-2],s[a]),a+=2}var l,f,g=t.t-1,d=!0,p=E();for(i=L(t[g])-1;g>=0;){for(i>=u?l=t[g]>>i-u&c:(l=(t[g]&(1<0&&(l|=t[g-1]>>this.DB+i-u)),a=r;0==(1&l);)l>>=1,--a;if((i-=a)<0&&(i+=this.DB,--g),d)s[l].copyTo(o),d=!1;else{for(;a>1;)n.sqrTo(o,p),n.sqrTo(p,o),a-=2;a>0?n.sqrTo(o,p):(f=o,o=p,p=f),n.mulTo(p,s[l],o)}for(;g>=0&&0==(t[g]&1<=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}return 0!=n.compareTo(F.ONE)?F.ZERO:a.compareTo(t)>=0?a.subtract(t):a.signum()<0?(a.addTo(t,a),a.signum()<0?a.add(t):a):a},F.prototype.pow=function Fe(t){return this.exp(t,new K)},F.prototype.gcd=function Ee(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r},F.prototype.isProbablePrime=function xe(t){var e,r=this.abs();if(1==r.t&&r[0]<=Rt[Rt.length-1]){for(e=0;e>8&255,Te[Re++]^=e>>16&255,Te[Re++]^=e>>24&255,Re>=256&&(Re-=256)}((new Date).getTime())}if(null==Te){var De;if(Te=new Array,Re=0,void 0!==i&&(void 0!==i.crypto||void 0!==i.msCrypto)){var Le=i.crypto||i.msCrypto;if(Le.getRandomValues){var Ne=new Uint8Array(32);for(Le.getRandomValues(Ne),De=0;De<32;++De)Te[Re++]=Ne[De]}else if(\"Netscape\"==n.appName&&n.appVersion<\"5\"){var Ue=i.crypto.random(32);for(De=0;De>>8,Te[Re++]=255&De;Re=0,Ie()}function Be(){if(null==Ce){for(Ie(),(Ce=function t(){return new Dt}()).init(Te),Re=0;Re>24,(16711680&i)>>16,(65280&i)>>8,255&i]))),i+=1;return n}function He(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}\n/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/\n */\nfunction Ve(t,e){this.x=e,this.q=t}function Ke(t,e,r,n){this.curve=t,this.x=e,this.y=r,this.z=null==n?F.ONE:n,this.zinv=null}function qe(t,e,r){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(r),this.infinity=new Ke(this,null,null)}Oe.prototype.nextBytes=function Je(t){var e;for(e=0;e0&&e.length>0))throw\"Invalid RSA public key\";this.n=je(t,16),this.e=parseInt(e,16)}},He.prototype.encrypt=function Ye(t){var e=function r(t,e){if(e=0&&e>0;){var i=t.charCodeAt(n--);i<128?r[--e]=i:i>127&&i<2048?(r[--e]=63&i|128,r[--e]=i>>6|192):(r[--e]=63&i|128,r[--e]=i>>6&63|128,r[--e]=i>>12|224)}r[--e]=0;for(var o=new Oe,s=new Array;e>2;){for(s[0]=0;0==s[0];)o.nextBytes(s);r[--e]=s[0]}return r[--e]=2,r[--e]=0,new F(r)}(t,this.n.bitLength()+7>>3);if(null==e)return null;var n=this.doPublic(e);if(null==n)return null;var i=n.toString(16);return 0==(1&i.length)?i:\"0\"+i},He.prototype.encryptOAEP=function Ge(t,e,r){var n=function i(t,e,r,n){var i=br.crypto.MessageDigest,o=br.crypto.Util,s=null;if(r||(r=\"sha1\"),\"string\"==typeof r&&(s=i.getCanonicalAlgName(r),n=i.getHashLength(s),r=function t(e){return Nr(o.hashHex(Ur(e),s))}),t.length+2*n+2>e)throw\"Message too long for RSA\";var a,u=\"\";for(a=0;a>3,e,r);if(null==n)return null;var o=this.doPublic(n);if(null==o)return null;var s=o.toString(16);return 0==(1&s.length)?s:\"0\"+s},He.prototype.type=\"RSA\",Ve.prototype.equals=function Xe(t){return t==this||this.q.equals(t.q)&&this.x.equals(t.x)},Ve.prototype.toBigInteger=function $e(){return this.x},Ve.prototype.negate=function Qe(){return new Ve(this.q,this.x.negate().mod(this.q))},Ve.prototype.add=function Ze(t){return new Ve(this.q,this.x.add(t.toBigInteger()).mod(this.q))},Ve.prototype.subtract=function tr(t){return new Ve(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))},Ve.prototype.multiply=function er(t){return new Ve(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))},Ve.prototype.square=function rr(){return new Ve(this.q,this.x.square().mod(this.q))},Ve.prototype.divide=function nr(t){return new Ve(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))},Ke.prototype.getX=function ir(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ke.prototype.getY=function or(){return null==this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))},Ke.prototype.equals=function sr(t){return t==this||(this.isInfinity()?t.isInfinity():t.isInfinity()?this.isInfinity():!!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO)&&t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(F.ZERO))},Ke.prototype.isInfinity=function ar(){return null==this.x&&null==this.y||this.z.equals(F.ZERO)&&!this.y.toBigInteger().equals(F.ZERO)},Ke.prototype.negate=function ur(){return new Ke(this.curve,this.x,this.y.negate(),this.z)},Ke.prototype.add=function cr(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q),r=t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q);if(F.ZERO.equals(r))return F.ZERO.equals(e)?this.twice():this.curve.getInfinity();var n=new F(\"3\"),i=this.x.toBigInteger(),o=this.y.toBigInteger(),s=(t.x.toBigInteger(),t.y.toBigInteger(),r.square()),a=s.multiply(r),u=i.multiply(s),c=e.square().multiply(this.z),h=c.subtract(u.shiftLeft(1)).multiply(t.z).subtract(a).multiply(r).mod(this.curve.q),l=u.multiply(n).multiply(e).subtract(o.multiply(a)).subtract(c.multiply(e)).multiply(t.z).add(e.multiply(a)).mod(this.curve.q),f=a.multiply(this.z).multiply(t.z).mod(this.curve.q);return new Ke(this.curve,this.curve.fromBigInteger(h),this.curve.fromBigInteger(l),f)},Ke.prototype.twice=function hr(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=new F(\"3\"),e=this.x.toBigInteger(),r=this.y.toBigInteger(),n=r.multiply(this.z),i=n.multiply(r).mod(this.curve.q),o=this.curve.a.toBigInteger(),s=e.square().multiply(t);F.ZERO.equals(o)||(s=s.add(this.z.square().multiply(o)));var a=(s=s.mod(this.curve.q)).square().subtract(e.shiftLeft(3).multiply(i)).shiftLeft(1).multiply(n).mod(this.curve.q),u=s.multiply(t).multiply(e).subtract(i.shiftLeft(1)).shiftLeft(2).multiply(i).subtract(s.square().multiply(s)).mod(this.curve.q),c=n.square().multiply(n).shiftLeft(3).mod(this.curve.q);return new Ke(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(u),c)},Ke.prototype.multiply=function lr(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F(\"3\")),i=this.negate(),o=this,s=this.curve.q.subtract(t),a=s.multiply(new F(\"3\")),u=new Ke(this.curve,this.x,this.y),c=u.negate();for(e=n.bitLength()-2;e>0;--e){o=o.twice();var h=n.testBit(e);h!=r.testBit(e)&&(o=o.add(h?this:i))}for(e=a.bitLength()-2;e>0;--e){u=u.twice();var l=a.testBit(e);l!=s.testBit(e)&&(u=u.add(l?u:c))}return o},Ke.prototype.multiplyTwo=function fr(t,e,r){var n;n=t.bitLength()>r.bitLength()?t.bitLength()-1:r.bitLength()-1;for(var i=this.curve.getInfinity(),o=this.add(e);n>=0;)i=i.twice(),t.testBit(n)?i=r.testBit(n)?i.add(o):i.add(this):r.testBit(n)&&(i=i.add(e)),--n;return i},qe.prototype.getQ=function gr(){return this.q},qe.prototype.getA=function dr(){return this.a},qe.prototype.getB=function pr(){return this.b},qe.prototype.equals=function vr(t){return t==this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)},qe.prototype.getInfinity=function yr(){return this.infinity},qe.prototype.fromBigInteger=function mr(t){return new Ve(this.q,t)},qe.prototype.decodePointHex=function _r(t){switch(parseInt(t.substr(0,2),16)){case 0:return this.infinity;case 2:case 3:return null;case 4:case 6:case 7:var e=(t.length-2)/2,r=t.substr(2,e),n=t.substr(e+2,e);return new Ke(this,this.fromBigInteger(new F(r,16)),this.fromBigInteger(new F(n,16)));default:return null}},\n/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib\n */\nVe.prototype.getByteLength=function(){return Math.floor((this.toBigInteger().bitLength()+7)/8)},Ke.prototype.getEncoded=function(t){var e=function t(e,r){var n=e.toByteArrayUnsigned();if(rn.length;)n.unshift(0);return n},r=this.getX().toBigInteger(),n=this.getY().toBigInteger(),i=e(r,32);return t?n.isEven()?i.unshift(2):i.unshift(3):(i.unshift(4),i=i.concat(e(n,32))),i},Ke.decodeFrom=function(t,e){e[0];var r=e.length-1,n=e.slice(1,1+r/2),i=e.slice(1+r/2,1+r);n.unshift(0),i.unshift(0);var o=new F(n),s=new F(i);return new Ke(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ke.decodeFromHex=function(t,e){e.substr(0,2);var r=e.length-2,n=e.substr(2,r/2),i=e.substr(2+r/2,r/2),o=new F(n,16),s=new F(i,16);return new Ke(t,t.fromBigInteger(o),t.fromBigInteger(s))},Ke.prototype.add2D=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;if(this.x.equals(t.x))return this.y.equals(t.y)?this.twice():this.curve.getInfinity();var e=t.x.subtract(this.x),r=t.y.subtract(this.y).divide(e),n=r.square().subtract(this.x).subtract(t.x),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ke(this.curve,n,i)},Ke.prototype.twice2D=function(){if(this.isInfinity())return this;if(0==this.y.toBigInteger().signum())return this.curve.getInfinity();var t=this.curve.fromBigInteger(F.valueOf(2)),e=this.curve.fromBigInteger(F.valueOf(3)),r=this.x.square().multiply(e).add(this.curve.a).divide(this.y.multiply(t)),n=r.square().subtract(this.x.multiply(t)),i=r.multiply(this.x.subtract(n)).subtract(this.y);return new Ke(this.curve,n,i)},Ke.prototype.multiply2D=function(t){if(this.isInfinity())return this;if(0==t.signum())return this.curve.getInfinity();var e,r=t,n=r.multiply(new F(\"3\")),i=this.negate(),o=this;for(e=n.bitLength()-2;e>0;--e){o=o.twice();var s=n.testBit(e);s!=r.testBit(e)&&(o=o.add2D(s?this:i))}return o},Ke.prototype.isOnCurve=function(){var t=this.getX().toBigInteger(),e=this.getY().toBigInteger(),r=this.curve.getA().toBigInteger(),n=this.curve.getB().toBigInteger(),i=this.curve.getQ(),o=e.multiply(e).mod(i),s=t.multiply(t).multiply(t).add(r.multiply(t)).add(n).mod(i);return o.equals(s)},Ke.prototype.toString=function(){return\"(\"+this.getX().toBigInteger().toString()+\",\"+this.getY().toBigInteger().toString()+\")\"},Ke.prototype.validate=function(){var t=this.curve.getQ();if(this.isInfinity())throw new Error(\"Point is at infinity.\");var e=this.getX().toBigInteger(),r=this.getY().toBigInteger();if(e.compareTo(F.ONE)<0||e.compareTo(t.subtract(F.ONE))>0)throw new Error(\"x coordinate out of bounds\");if(r.compareTo(F.ONE)<0||r.compareTo(t.subtract(F.ONE))>0)throw new Error(\"y coordinate out of bounds\");if(!this.isOnCurve())throw new Error(\"Point is not on the curve.\");if(this.multiply(t).isInfinity())throw new Error(\"Point is not a scalar multiple of G.\");return!0};\n/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval\n */\nvar Sr=function(){var t=new RegExp('(?:false|true|null|[\\\\{\\\\}\\\\[\\\\]]|(?:-?\\\\b(?:0|[1-9][0-9]*)(?:\\\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\\\b)|(?:\"(?:[^\\\\0-\\\\x08\\\\x0a-\\\\x1f\"\\\\\\\\]|\\\\\\\\(?:[\"/\\\\\\\\bfnrt]|u[0-9A-Fa-f]{4}))*\"))',\"g\"),e=new RegExp(\"\\\\\\\\(?:([^u])|u(.{4}))\",\"g\"),n={'\"':'\"',\"/\":\"/\",\"\\\\\":\"\\\\\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\\t\"};function i(t,e,r){return e?n[e]:String.fromCharCode(parseInt(r,16))}var o=new String(\"\"),s=Object.hasOwnProperty;return function(n,a){var u,c,h=n.match(t),l=h[0],f=!1;\"{\"===l?u={}:\"[\"===l?u=[]:(u=[],f=!0);for(var g=[u],d=1-f,p=h.length;d=0;)delete i[o[h]]}return a.call(e,n,i)}({\"\":u},\"\")}return u}}();void 0!==br&&br||(e.KJUR=br={}),void 0!==br.asn1&&br.asn1||(br.asn1={}),br.asn1.ASN1Util=new function(){this.integerToByteHex=function(t){var e=t.toString(16);return e.length%2==1&&(e=\"0\"+e),e},this.bigIntToMinTwosComplementsHex=function(t){var e=t.toString(16);if(\"-\"!=e.substr(0,1))e.length%2==1?e=\"0\"+e:e.match(/^[0-7]/)||(e=\"00\"+e);else{var r=e.substr(1).length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);for(var n=\"\",i=0;i15)throw\"ASN.1 length too long to represent by 8x: n = \"+t.toString(16);return(128+r).toString(16)+e},this.getEncodedHex=function(){return(null==this.hTLV||this.isModified)&&(this.hV=this.getFreshValueHex(),this.hL=this.getLengthHexFromValue(),this.hTLV=this.hT+this.hL+this.hV,this.isModified=!1),this.hTLV},this.getValueHex=function(){return this.getEncodedHex(),this.hV},this.getFreshValueHex=function(){return\"\"},this.setByParam=function(t){this.params=t},null!=t&&null!=t.tlv&&(this.hTLV=t.tlv,this.isModified=!1)},br.asn1.DERAbstractString=function(t){br.asn1.DERAbstractString.superclass.constructor.call(this);this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Dr(this.s).toLowerCase()},this.setStringHex=function(t){this.hTLV=null,this.isModified=!0,this.s=null,this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(\"string\"==typeof t?this.setString(t):void 0!==t.str?this.setString(t.str):void 0!==t.hex&&this.setStringHex(t.hex))},o.lang.extend(br.asn1.DERAbstractString,br.asn1.ASN1Object),br.asn1.DERAbstractTime=function(t){br.asn1.DERAbstractTime.superclass.constructor.call(this);this.localDateToUTC=function(t){var e=t.getTime()+6e4*t.getTimezoneOffset();return new Date(e)},this.formatDate=function(t,e,r){var n=this.zeroPadding,i=this.localDateToUTC(t),o=String(i.getFullYear());\"utc\"==e&&(o=o.substr(2,2));var s=o+n(String(i.getMonth()+1),2)+n(String(i.getDate()),2)+n(String(i.getHours()),2)+n(String(i.getMinutes()),2)+n(String(i.getSeconds()),2);if(!0===r){var a=i.getMilliseconds();if(0!=a){var u=n(String(a),3);s=s+\".\"+(u=u.replace(/[0]+$/,\"\"))}}return s+\"Z\"},this.zeroPadding=function(t,e){return t.length>=e?t:new Array(e-t.length+1).join(\"0\")+t},this.getString=function(){return this.s},this.setString=function(t){this.hTLV=null,this.isModified=!0,this.s=t,this.hV=Pr(t)},this.setByDateValue=function(t,e,r,n,i,o){var s=new Date(Date.UTC(t,e-1,r,n,i,o,0));this.setByDate(s)},this.getFreshValueHex=function(){return this.hV}},o.lang.extend(br.asn1.DERAbstractTime,br.asn1.ASN1Object),br.asn1.DERAbstractStructured=function(t){br.asn1.DERAbstractString.superclass.constructor.call(this);this.setByASN1ObjectArray=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array=t},this.appendASN1Object=function(t){this.hTLV=null,this.isModified=!0,this.asn1Array.push(t)},this.asn1Array=new Array,void 0!==t&&void 0!==t.array&&(this.asn1Array=t.array)},o.lang.extend(br.asn1.DERAbstractStructured,br.asn1.ASN1Object),br.asn1.DERBoolean=function(t){br.asn1.DERBoolean.superclass.constructor.call(this),this.hT=\"01\",this.hTLV=0==t?\"010100\":\"0101ff\"},o.lang.extend(br.asn1.DERBoolean,br.asn1.ASN1Object),br.asn1.DERInteger=function(t){br.asn1.DERInteger.superclass.constructor.call(this),this.hT=\"02\",this.setByBigInteger=function(t){this.hTLV=null,this.isModified=!0,this.hV=br.asn1.ASN1Util.bigIntToMinTwosComplementsHex(t)},this.setByInteger=function(t){var e=new F(String(t),10);this.setByBigInteger(e)},this.setValueHex=function(t){this.hV=t},this.getFreshValueHex=function(){return this.hV},void 0!==t&&(void 0!==t.bigint?this.setByBigInteger(t.bigint):void 0!==t.int?this.setByInteger(t.int):\"number\"==typeof t?this.setByInteger(t):void 0!==t.hex&&this.setValueHex(t.hex))},o.lang.extend(br.asn1.DERInteger,br.asn1.ASN1Object),br.asn1.DERBitString=function(t){if(void 0!==t&&void 0!==t.obj){var e=br.asn1.ASN1Util.newObject(t.obj);t.hex=\"00\"+e.getEncodedHex()}br.asn1.DERBitString.superclass.constructor.call(this),this.hT=\"03\",this.setHexValueIncludingUnusedBits=function(t){this.hTLV=null,this.isModified=!0,this.hV=t},this.setUnusedBitsAndHexValue=function(t,e){if(t<0||7i.length&&(i=n[r]);return(t=t.replace(i,\"::\")).slice(1,-1)}function Yr(t){var e=\"malformed hex value\";if(!t.match(/^([0-9A-Fa-f][0-9A-Fa-f]){1,}$/))throw e;if(8!=t.length)return 32==t.length?zr(t):t;try{return parseInt(t.substr(0,2),16)+\".\"+parseInt(t.substr(2,2),16)+\".\"+parseInt(t.substr(4,2),16)+\".\"+parseInt(t.substr(6,2),16)}catch(t){throw e}}function Gr(t){for(var e=encodeURIComponent(t),r=\"\",n=0;n\"7\"?\"00\"+t:t}Er.getLblen=function(t,e){if(\"8\"!=t.substr(e+2,1))return 1;var r=parseInt(t.substr(e+3,1));return 0==r?-1:0=n)break}return s},Er.getNthChildIdx=function(t,e,r){return Er.getChildIdx(t,e)[r]},Er.getIdxbyList=function(t,e,r,n){var i,o,s=Er;return 0==r.length?void 0!==n&&t.substr(e,2)!==n?-1:e:(i=r.shift())>=(o=s.getChildIdx(t,e)).length?-1:s.getIdxbyList(t,o[i],r,n)},Er.getIdxbyListEx=function(t,e,r,n){var i,o,s=Er;if(0==r.length)return void 0!==n&&t.substr(e,2)!==n?-1:e;i=r.shift(),o=s.getChildIdx(t,e);for(var a=0,u=0;u=t.length?null:i.getTLV(t,o)},Er.getTLVbyListEx=function(t,e,r,n){var i=Er,o=i.getIdxbyListEx(t,e,r,n);return-1==o?null:i.getTLV(t,o)},Er.getVbyList=function(t,e,r,n,i){var o,s,a=Er;return-1==(o=a.getIdxbyList(t,e,r,n))||o>=t.length?null:(s=a.getV(t,o),!0===i&&(s=s.substr(2)),s)},Er.getVbyListEx=function(t,e,r,n,i){var o,s,a=Er;return-1==(o=a.getIdxbyListEx(t,e,r,n))?null:(s=a.getV(t,o),\"03\"==t.substr(o,2)&&!1!==i&&(s=s.substr(2)),s)},Er.getInt=function(t,e,r){null==r&&(r=-1);try{var n=t.substr(e,2);if(\"02\"!=n&&\"03\"!=n)return r;var i=Er.getV(t,e);return\"02\"==n?parseInt(i,16):function o(t){try{var e=t.substr(0,2);if(\"00\"==e)return parseInt(t.substr(2),16);var r=parseInt(e,16),n=t.substr(2),i=parseInt(n,16).toString(2);return\"0\"==i&&(i=\"00000000\"),i=i.slice(0,0-r),parseInt(i,2)}catch(t){return-1}}(i)}catch(t){return r}},Er.getOID=function(t,e,r){null==r&&(r=null);try{return\"06\"!=t.substr(e,2)?r:function n(t){if(!Xr(t))return null;try{var e=[],r=t.substr(0,2),n=parseInt(r,16);e[0]=new String(Math.floor(n/40)),e[1]=new String(n%40);for(var i=t.substr(2),o=[],s=0;s0&&(c=c+\".\"+a.join(\".\")),c}catch(t){return null}}(Er.getV(t,e))}catch(t){return r}},Er.getOIDName=function(t,e,r){null==r&&(r=null);try{var n=Er.getOID(t,e,r);if(n==r)return r;var i=br.asn1.x509.OID.oid2name(n);return\"\"==i?n:i}catch(t){return r}},Er.getString=function(t,e,r){null==r&&(r=null);try{return Nr(Er.getV(t,e))}catch(t){return r}},Er.hextooidstr=function(t){var e=function t(e,r){return e.length>=r?e:new Array(r-e.length+1).join(\"0\")+e},r=[],n=t.substr(0,2),i=parseInt(n,16);r[0]=new String(Math.floor(i/40)),r[1]=new String(i%40);for(var o=t.substr(2),s=[],a=0;a0&&(h=h+\".\"+u.join(\".\")),h},Er.dump=function(t,e,r,n){var i=Er,o=i.getV,s=i.dump,a=i.getChildIdx,u=t;t instanceof br.asn1.ASN1Object&&(u=t.getEncodedHex());var c=function t(e,r){return e.length<=2*r?e:e.substr(0,r)+\"..(total \"+e.length/2+\"bytes)..\"+e.substr(e.length-r,r)};void 0===e&&(e={ommit_long_octet:32}),void 0===r&&(r=0),void 0===n&&(n=\"\");var h,l=e.ommit_long_octet;if(\"01\"==(h=u.substr(r,2)))return\"00\"==(f=o(u,r))?n+\"BOOLEAN FALSE\\n\":n+\"BOOLEAN TRUE\\n\";if(\"02\"==h)return n+\"INTEGER \"+c(f=o(u,r),l)+\"\\n\";if(\"03\"==h){var f=o(u,r);if(i.isASN1HEX(f.substr(2))){var g=n+\"BITSTRING, encapsulates\\n\";return g+=s(f.substr(2),e,0,n+\" \")}return n+\"BITSTRING \"+c(f,l)+\"\\n\"}if(\"04\"==h){f=o(u,r);if(i.isASN1HEX(f)){g=n+\"OCTETSTRING, encapsulates\\n\";return g+=s(f,e,0,n+\" \")}return n+\"OCTETSTRING \"+c(f,l)+\"\\n\"}if(\"05\"==h)return n+\"NULL\\n\";if(\"06\"==h){var d=o(u,r),p=br.asn1.ASN1Util.oidHexToInt(d),v=br.asn1.x509.OID.oid2name(p),y=p.replace(/\\./g,\" \");return\"\"!=v?n+\"ObjectIdentifier \"+v+\" (\"+y+\")\\n\":n+\"ObjectIdentifier (\"+y+\")\\n\"}if(\"0a\"==h)return n+\"ENUMERATED \"+parseInt(o(u,r))+\"\\n\";if(\"0c\"==h)return n+\"UTF8String '\"+Lr(o(u,r))+\"'\\n\";if(\"13\"==h)return n+\"PrintableString '\"+Lr(o(u,r))+\"'\\n\";if(\"14\"==h)return n+\"TeletexString '\"+Lr(o(u,r))+\"'\\n\";if(\"16\"==h)return n+\"IA5String '\"+Lr(o(u,r))+\"'\\n\";if(\"17\"==h)return n+\"UTCTime \"+Lr(o(u,r))+\"\\n\";if(\"18\"==h)return n+\"GeneralizedTime \"+Lr(o(u,r))+\"\\n\";if(\"1a\"==h)return n+\"VisualString '\"+Lr(o(u,r))+\"'\\n\";if(\"1e\"==h)return n+\"BMPString '\"+Lr(o(u,r))+\"'\\n\";if(\"30\"==h){if(\"3000\"==u.substr(r,4))return n+\"SEQUENCE {}\\n\";g=n+\"SEQUENCE\\n\";var m=e;if((2==(b=a(u,r)).length||3==b.length)&&\"06\"==u.substr(b[0],2)&&\"04\"==u.substr(b[b.length-1],2)){v=i.oidname(o(u,b[0]));var _=JSON.parse(JSON.stringify(e));_.x509ExtName=v,m=_}for(var S=0;S31)&&(128==(192&r)&&(31&r)==n))}catch(t){return!1}},Er.isASN1HEX=function(t){var e=Er;if(t.length%2==1)return!1;var r=e.getVblen(t,0),n=t.substr(0,2),i=e.getL(t,0);return t.length-n.length-i.length==2*r},Er.checkStrictDER=function(t,e,r,n,i){var o=Er;if(void 0===r){if(\"string\"!=typeof t)throw new Error(\"not hex string\");if(t=t.toLowerCase(),!br.lang.String.isHex(t))throw new Error(\"not hex string\");r=t.length,i=(n=t.length/2)<128?1:Math.ceil(n.toString(16))+1}if(o.getL(t,e).length>2*i)throw new Error(\"L of TLV too long: idx=\"+e);var s=o.getVblen(t,e);if(s>n)throw new Error(\"value of L too long than hex: idx=\"+e);var a=o.getTLV(t,e),u=a.length-2-o.getL(t,e).length;if(u!==2*s)throw new Error(\"V string length and L's value not the same:\"+u+\"/\"+2*s);if(0===e&&t.length!=a.length)throw new Error(\"total length and TLV length unmatch:\"+t.length+\"!=\"+a.length);var c=t.substr(e,2);if(\"02\"===c){var h=o.getVidx(t,e);if(\"00\"==t.substr(h,2)&&t.charCodeAt(h+2)<56)throw new Error(\"not least zeros for DER INTEGER\")}if(32&parseInt(c,16)){for(var l=o.getVblen(t,e),f=0,g=o.getChildIdx(t,e),d=0;d=r?e:new Array(r-e.length+1).join(n)+e};void 0!==br&&br||(e.KJUR=br={}),void 0!==br.crypto&&br.crypto||(br.crypto={}),br.crypto.Util=new function(){this.DIGESTINFOHEAD={sha1:\"3021300906052b0e03021a05000414\",sha224:\"302d300d06096086480165030402040500041c\",sha256:\"3031300d060960864801650304020105000420\",sha384:\"3041300d060960864801650304020205000430\",sha512:\"3051300d060960864801650304020305000440\",md2:\"3020300c06082a864886f70d020205000410\",md5:\"3020300c06082a864886f70d020505000410\",ripemd160:\"3021300906052b2403020105000414\"},this.DEFAULTPROVIDER={md5:\"cryptojs\",sha1:\"cryptojs\",sha224:\"cryptojs\",sha256:\"cryptojs\",sha384:\"cryptojs\",sha512:\"cryptojs\",ripemd160:\"cryptojs\",hmacmd5:\"cryptojs\",hmacsha1:\"cryptojs\",hmacsha224:\"cryptojs\",hmacsha256:\"cryptojs\",hmacsha384:\"cryptojs\",hmacsha512:\"cryptojs\",hmacripemd160:\"cryptojs\",MD5withRSA:\"cryptojs/jsrsa\",SHA1withRSA:\"cryptojs/jsrsa\",SHA224withRSA:\"cryptojs/jsrsa\",SHA256withRSA:\"cryptojs/jsrsa\",SHA384withRSA:\"cryptojs/jsrsa\",SHA512withRSA:\"cryptojs/jsrsa\",RIPEMD160withRSA:\"cryptojs/jsrsa\",MD5withECDSA:\"cryptojs/jsrsa\",SHA1withECDSA:\"cryptojs/jsrsa\",SHA224withECDSA:\"cryptojs/jsrsa\",SHA256withECDSA:\"cryptojs/jsrsa\",SHA384withECDSA:\"cryptojs/jsrsa\",SHA512withECDSA:\"cryptojs/jsrsa\",RIPEMD160withECDSA:\"cryptojs/jsrsa\",SHA1withDSA:\"cryptojs/jsrsa\",SHA224withDSA:\"cryptojs/jsrsa\",SHA256withDSA:\"cryptojs/jsrsa\",MD5withRSAandMGF1:\"cryptojs/jsrsa\",SHAwithRSAandMGF1:\"cryptojs/jsrsa\",SHA1withRSAandMGF1:\"cryptojs/jsrsa\",SHA224withRSAandMGF1:\"cryptojs/jsrsa\",SHA256withRSAandMGF1:\"cryptojs/jsrsa\",SHA384withRSAandMGF1:\"cryptojs/jsrsa\",SHA512withRSAandMGF1:\"cryptojs/jsrsa\",RIPEMD160withRSAandMGF1:\"cryptojs/jsrsa\"},this.CRYPTOJSMESSAGEDIGESTNAME={md5:y.algo.MD5,sha1:y.algo.SHA1,sha224:y.algo.SHA224,sha256:y.algo.SHA256,sha384:y.algo.SHA384,sha512:y.algo.SHA512,ripemd160:y.algo.RIPEMD160},this.getDigestInfoHex=function(t,e){if(void 0===this.DIGESTINFOHEAD[e])throw\"alg not supported in Util.DIGESTINFOHEAD: \"+e;return this.DIGESTINFOHEAD[e]+t},this.getPaddedDigestInfoHex=function(t,e,r){var n=this.getDigestInfoHex(t,e),i=r/4;if(n.length+22>i)throw\"key is too short for SigAlg: keylen=\"+r+\",\"+e;for(var o=\"0001\",s=\"00\"+n,a=\"\",u=i-o.length-s.length,c=0;c=0)return!1;if(r.compareTo(n.ONE)<0||r.compareTo(o)>=0)return!1;var a=r.modInverse(o),u=t.multiply(a).mod(o),c=e.multiply(a).mod(o);return s.multiply(u).add(i.multiply(c)).getX().toBigInteger().mod(o).equals(e)},this.serializeSig=function(t,e){var r=t.toByteArraySigned(),n=e.toByteArraySigned(),i=[];return i.push(2),i.push(r.length),(i=i.concat(r)).push(2),i.push(n.length),(i=i.concat(n)).unshift(i.length),i.unshift(48),i},this.parseSig=function(t){var e;if(48!=t[0])throw new Error(\"Signature not a valid DERSequence\");if(2!=t[e=2])throw new Error(\"First element in signature must be a DERInteger\");var r=t.slice(e+2,e+2+t[e+1]);if(2!=t[e+=2+t[e+1]])throw new Error(\"Second element in signature must be a DERInteger\");var i=t.slice(e+2,e+2+t[e+1]);return e+=2+t[e+1],{r:n.fromByteArrayUnsigned(r),s:n.fromByteArrayUnsigned(i)}},this.parseSigCompact=function(t){if(65!==t.length)throw\"Signature has the wrong length\";var e=t[0]-27;if(e<0||e>7)throw\"Invalid signature type\";var r=this.ecparams.n;return{r:n.fromByteArrayUnsigned(t.slice(1,33)).mod(r),s:n.fromByteArrayUnsigned(t.slice(33,65)).mod(r),i:e}},this.readPKCS5PrvKeyHex=function(t){if(!1===h(t))throw new Error(\"not ASN.1 hex string\");var e,r,n;try{e=c(t,0,[\"[0]\",0],\"06\"),r=c(t,0,[1],\"04\");try{n=c(t,0,[\"[1]\",0],\"03\")}catch(t){}}catch(t){throw new Error(\"malformed PKCS#1/5 plain ECC private key\")}if(this.curveName=a(e),void 0===this.curveName)throw\"unsupported curve name\";this.setNamedCurve(this.curveName),this.setPublicKeyHex(n),this.setPrivateKeyHex(r),this.isPublic=!1},this.readPKCS8PrvKeyHex=function(t){if(!1===h(t))throw new e(\"not ASN.1 hex string\");var r,n,i;try{c(t,0,[1,0],\"06\"),r=c(t,0,[1,1],\"06\"),n=c(t,0,[2,0,1],\"04\");try{i=c(t,0,[2,0,\"[1]\",0],\"03\")}catch(t){}}catch(t){throw new e(\"malformed PKCS#8 plain ECC private key\")}if(this.curveName=a(r),void 0===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i),this.setPrivateKeyHex(n),this.isPublic=!1},this.readPKCS8PubKeyHex=function(t){if(!1===h(t))throw new e(\"not ASN.1 hex string\");var r,n;try{c(t,0,[0,0],\"06\"),r=c(t,0,[0,1],\"06\"),n=c(t,0,[1],\"03\")}catch(t){throw new e(\"malformed PKCS#8 ECC public key\")}if(this.curveName=a(r),null===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(n)},this.readCertPubKeyHex=function(t,r){if(!1===h(t))throw new e(\"not ASN.1 hex string\");var n,i;try{n=c(t,0,[0,5,0,1],\"06\"),i=c(t,0,[0,5,1],\"03\")}catch(t){throw new e(\"malformed X.509 certificate ECC public key\")}if(this.curveName=a(n),null===this.curveName)throw new e(\"unsupported curve name\");this.setNamedCurve(this.curveName),this.setPublicKeyHex(i)},void 0!==t&&void 0!==t.curve&&(this.curveName=t.curve),void 0===this.curveName&&(this.curveName=\"secp256r1\"),this.setNamedCurve(this.curveName),void 0!==t&&(void 0!==t.prv&&this.setPrivateKeyHex(t.prv),void 0!==t.pub&&this.setPublicKeyHex(t.pub))},br.crypto.ECDSA.parseSigHex=function(t){var e=br.crypto.ECDSA.parseSigHexInHexRS(t);return{r:new F(e.r,16),s:new F(e.s,16)}},br.crypto.ECDSA.parseSigHexInHexRS=function(t){var e=Er,r=e.getChildIdx,n=e.getV;if(e.checkStrictDER(t,0),\"30\"!=t.substr(0,2))throw new Error(\"signature is not a ASN.1 sequence\");var i=r(t,0);if(2!=i.length)throw new Error(\"signature shall have two elements\");var o=i[0],s=i[1];if(\"02\"!=t.substr(o,2))throw new Error(\"1st item not ASN.1 integer\");if(\"02\"!=t.substr(s,2))throw new Error(\"2nd item not ASN.1 integer\");return{r:n(t,o),s:n(t,s)}},br.crypto.ECDSA.asn1SigToConcatSig=function(t){var e=br.crypto.ECDSA.parseSigHexInHexRS(t),r=e.r,n=e.s;if(\"00\"==r.substr(0,2)&&r.length%32==2&&(r=r.substr(2)),\"00\"==n.substr(0,2)&&n.length%32==2&&(n=n.substr(2)),r.length%32==30&&(r=\"00\"+r),n.length%32==30&&(n=\"00\"+n),r.length%32!=0)throw\"unknown ECDSA sig r length error\";if(n.length%32!=0)throw\"unknown ECDSA sig s length error\";return r+n},br.crypto.ECDSA.concatSigToASN1Sig=function(t){if(t.length/2*8%128!=0)throw\"unknown ECDSA concatinated r-s sig length error\";var e=t.substr(0,t.length/2),r=t.substr(t.length/2);return br.crypto.ECDSA.hexRSSigToASN1Sig(e,r)},br.crypto.ECDSA.hexRSSigToASN1Sig=function(t,e){var r=new F(t,16),n=new F(e,16);return br.crypto.ECDSA.biRSSigToASN1Sig(r,n)},br.crypto.ECDSA.biRSSigToASN1Sig=function(t,e){var r=br.asn1,n=new r.DERInteger({bigint:t}),i=new r.DERInteger({bigint:e});return new r.DERSequence({array:[n,i]}).getEncodedHex()},br.crypto.ECDSA.getName=function(t){return\"2b8104001f\"===t?\"secp192k1\":\"2a8648ce3d030107\"===t?\"secp256r1\":\"2b8104000a\"===t?\"secp256k1\":\"2b81040021\"===t?\"secp224r1\":\"2b81040022\"===t?\"secp384r1\":-1!==\"|secp256r1|NIST P-256|P-256|prime256v1|\".indexOf(t)?\"secp256r1\":-1!==\"|secp256k1|\".indexOf(t)?\"secp256k1\":-1!==\"|secp224r1|NIST P-224|P-224|\".indexOf(t)?\"secp224r1\":-1!==\"|secp384r1|NIST P-384|P-384|\".indexOf(t)?\"secp384r1\":null},void 0!==br&&br||(e.KJUR=br={}),void 0!==br.crypto&&br.crypto||(br.crypto={}),br.crypto.ECParameterDB=new function(){var t={},e={};function r(t){return new F(t,16)}this.getByName=function(r){var n=r;if(void 0!==e[n]&&(n=e[r]),void 0!==t[n])return t[n];throw\"unregistered EC curve name: \"+n},this.regist=function(n,i,o,s,a,u,c,h,l,f,g,d){t[n]={};var p=r(o),v=r(s),y=r(a),m=r(u),_=r(c),S=new qe(p,v,y),b=S.decodePointHex(\"04\"+h+l);t[n].name=n,t[n].keylen=i,t[n].curve=S,t[n].G=b,t[n].n=m,t[n].h=_,t[n].oid=g,t[n].info=d;for(var w=0;w=2*u)break}var f={};return f.keyhex=c.substr(0,2*i[e].keylen),f.ivhex=c.substr(2*i[e].keylen,2*i[e].ivlen),f},a=function t(e,r,n,o){var s=y.enc.Base64.parse(e),a=y.enc.Hex.stringify(s);return(0,i[r].proc)(a,n,o)};return{version:\"1.0.0\",parsePKCS5PEM:function t(e){return o(e)},getKeyAndUnusedIvByPasscodeAndIvsalt:function t(e,r,n){return s(e,r,n)},decryptKeyB64:function t(e,r,n,i){return a(e,r,n,i)},getDecryptedKeyHex:function t(e,r){var n=o(e),i=(n.type,n.cipher),u=n.ivsalt,c=n.data,h=s(i,r,u).keyhex;return a(c,i,h,u)},getEncryptedPKCS5PEMFromPrvKeyHex:function t(e,r,n,o,a){var u=\"\";if(void 0!==o&&null!=o||(o=\"AES-256-CBC\"),void 0===i[o])throw\"KEYUTIL unsupported algorithm: \"+o;void 0!==a&&null!=a||(a=function t(e){var r=y.lib.WordArray.random(e);return y.enc.Hex.stringify(r)}(i[o].ivlen).toUpperCase());var c=function t(e,r,n,o){return(0,i[r].eproc)(e,n,o)}(r,o,s(o,n,a).keyhex,a);u=\"-----BEGIN \"+e+\" PRIVATE KEY-----\\r\\n\";return u+=\"Proc-Type: 4,ENCRYPTED\\r\\n\",u+=\"DEK-Info: \"+o+\",\"+a+\"\\r\\n\",u+=\"\\r\\n\",u+=c.replace(/(.{64})/g,\"$1\\r\\n\"),u+=\"\\r\\n-----END \"+e+\" PRIVATE KEY-----\\r\\n\"},parseHexOfEncryptedPKCS8:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={},s=n(e,0);if(2!=s.length)throw\"malformed format: SEQUENCE(0).items != 2: \"+s.length;o.ciphertext=i(e,s[1]);var a=n(e,s[0]);if(2!=a.length)throw\"malformed format: SEQUENCE(0.0).items != 2: \"+a.length;if(\"2a864886f70d01050d\"!=i(e,a[0]))throw\"this only supports pkcs5PBES2\";var u=n(e,a[1]);if(2!=a.length)throw\"malformed format: SEQUENCE(0.0.1).items != 2: \"+u.length;var c=n(e,u[1]);if(2!=c.length)throw\"malformed format: SEQUENCE(0.0.1.1).items != 2: \"+c.length;if(\"2a864886f70d0307\"!=i(e,c[0]))throw\"this only supports TripleDES\";o.encryptionSchemeAlg=\"TripleDES\",o.encryptionSchemeIV=i(e,c[1]);var h=n(e,u[0]);if(2!=h.length)throw\"malformed format: SEQUENCE(0.0.1.0).items != 2: \"+h.length;if(\"2a864886f70d01050c\"!=i(e,h[0]))throw\"this only supports pkcs5PBKDF2\";var l=n(e,h[1]);if(l.length<2)throw\"malformed format: SEQUENCE(0.0.1.0.1).items < 2: \"+l.length;o.pbkdf2Salt=i(e,l[0]);var f=i(e,l[1]);try{o.pbkdf2Iter=parseInt(f,16)}catch(t){throw\"malformed format pbkdf2Iter: \"+f}return o},getPBKDF2KeyHexFromParam:function t(e,r){var n=y.enc.Hex.parse(e.pbkdf2Salt),i=e.pbkdf2Iter,o=y.PBKDF2(r,n,{keySize:6,iterations:i});return y.enc.Hex.stringify(o)},_getPlainPKCS8HexFromEncryptedPKCS8PEM:function t(e,r){var n=Hr(e,\"ENCRYPTED PRIVATE KEY\"),i=this.parseHexOfEncryptedPKCS8(n),o=Zr.getPBKDF2KeyHexFromParam(i,r),s={};s.ciphertext=y.enc.Hex.parse(i.ciphertext);var a=y.enc.Hex.parse(o),u=y.enc.Hex.parse(i.encryptionSchemeIV),c=y.TripleDES.decrypt(s,a,{iv:u});return y.enc.Hex.stringify(c)},getKeyFromEncryptedPKCS8PEM:function t(e,r){var n=this._getPlainPKCS8HexFromEncryptedPKCS8PEM(e,r);return this.getKeyFromPlainPrivatePKCS8Hex(n)},parsePlainPrivatePKCS8Hex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={algparam:null};if(\"30\"!=e.substr(0,2))throw\"malformed plain PKCS8 private key(code:001)\";var s=n(e,0);if(3!=s.length)throw\"malformed plain PKCS8 private key(code:002)\";if(\"30\"!=e.substr(s[1],2))throw\"malformed PKCS8 private key(code:003)\";var a=n(e,s[1]);if(2!=a.length)throw\"malformed PKCS8 private key(code:004)\";if(\"06\"!=e.substr(a[0],2))throw\"malformed PKCS8 private key(code:005)\";if(o.algoid=i(e,a[0]),\"06\"==e.substr(a[1],2)&&(o.algparam=i(e,a[1])),\"04\"!=e.substr(s[2],2))throw\"malformed PKCS8 private key(code:006)\";return o.keyidx=r.getVidx(e,s[2]),o},getKeyFromPlainPrivatePKCS8PEM:function t(e){var r=Hr(e,\"PRIVATE KEY\");return this.getKeyFromPlainPrivatePKCS8Hex(r)},getKeyFromPlainPrivatePKCS8Hex:function t(e){var r,n=this.parsePlainPrivatePKCS8Hex(e);if(\"2a864886f70d010101\"==n.algoid)r=new He;else if(\"2a8648ce380401\"==n.algoid)r=new br.crypto.DSA;else{if(\"2a8648ce3d0201\"!=n.algoid)throw\"unsupported private key algorithm\";r=new br.crypto.ECDSA}return r.readPKCS8PrvKeyHex(e),r},_getKeyFromPublicPKCS8Hex:function t(e){var r,n=Er.getVbyList(e,0,[0,0],\"06\");if(\"2a864886f70d010101\"===n)r=new He;else if(\"2a8648ce380401\"===n)r=new br.crypto.DSA;else{if(\"2a8648ce3d0201\"!==n)throw\"unsupported PKCS#8 public key hex\";r=new br.crypto.ECDSA}return r.readPKCS8PubKeyHex(e),r},parsePublicRawRSAKeyHex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={};if(\"30\"!=e.substr(0,2))throw\"malformed RSA key(code:001)\";var s=n(e,0);if(2!=s.length)throw\"malformed RSA key(code:002)\";if(\"02\"!=e.substr(s[0],2))throw\"malformed RSA key(code:003)\";if(o.n=i(e,s[0]),\"02\"!=e.substr(s[1],2))throw\"malformed RSA key(code:004)\";return o.e=i(e,s[1]),o},parsePublicPKCS8Hex:function t(e){var r=Er,n=r.getChildIdx,i=r.getV,o={algparam:null},s=n(e,0);if(2!=s.length)throw\"outer DERSequence shall have 2 elements: \"+s.length;var a=s[0];if(\"30\"!=e.substr(a,2))throw\"malformed PKCS8 public key(code:001)\";var u=n(e,a);if(2!=u.length)throw\"malformed PKCS8 public key(code:002)\";if(\"06\"!=e.substr(u[0],2))throw\"malformed PKCS8 public key(code:003)\";if(o.algoid=i(e,u[0]),\"06\"==e.substr(u[1],2)?o.algparam=i(e,u[1]):\"30\"==e.substr(u[1],2)&&(o.algparam={},o.algparam.p=r.getVbyList(e,u[1],[0],\"02\"),o.algparam.q=r.getVbyList(e,u[1],[1],\"02\"),o.algparam.g=r.getVbyList(e,u[1],[2],\"02\")),\"03\"!=e.substr(s[1],2))throw\"malformed PKCS8 public key(code:004)\";return o.key=i(e,s[1]).substr(2),o}}}();Zr.getKey=function(t,e,r){var n=(v=Er).getChildIdx,i=(v.getV,v.getVbyList),o=br.crypto,s=o.ECDSA,a=o.DSA,u=He,c=Hr,h=Zr;if(void 0!==u&&t instanceof u)return t;if(void 0!==s&&t instanceof s)return t;if(void 0!==a&&t instanceof a)return t;if(void 0!==t.curve&&void 0!==t.xy&&void 0===t.d)return new s({pub:t.xy,curve:t.curve});if(void 0!==t.curve&&void 0!==t.d)return new s({prv:t.d,curve:t.curve});if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(t.n,t.e),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.co&&void 0===t.qi)return(P=new u).setPrivateEx(t.n,t.e,t.d,t.p,t.q,t.dp,t.dq,t.co),P;if(void 0===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0===t.p)return(P=new u).setPrivate(t.n,t.e,t.d),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0===t.x)return(P=new a).setPublic(t.p,t.q,t.g,t.y),P;if(void 0!==t.p&&void 0!==t.q&&void 0!==t.g&&void 0!==t.y&&void 0!==t.x)return(P=new a).setPrivate(t.p,t.q,t.g,t.y,t.x),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0===t.d)return(P=new u).setPublic(Ir(t.n),Ir(t.e)),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d&&void 0!==t.p&&void 0!==t.q&&void 0!==t.dp&&void 0!==t.dq&&void 0!==t.qi)return(P=new u).setPrivateEx(Ir(t.n),Ir(t.e),Ir(t.d),Ir(t.p),Ir(t.q),Ir(t.dp),Ir(t.dq),Ir(t.qi)),P;if(\"RSA\"===t.kty&&void 0!==t.n&&void 0!==t.e&&void 0!==t.d)return(P=new u).setPrivate(Ir(t.n),Ir(t.e),Ir(t.d)),P;if(\"EC\"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0===t.d){var l=(k=new s({curve:t.crv})).ecparams.keylen/4,f=\"04\"+(\"0000000000\"+Ir(t.x)).slice(-l)+(\"0000000000\"+Ir(t.y)).slice(-l);return k.setPublicKeyHex(f),k}if(\"EC\"===t.kty&&void 0!==t.crv&&void 0!==t.x&&void 0!==t.y&&void 0!==t.d){l=(k=new s({curve:t.crv})).ecparams.keylen/4,f=\"04\"+(\"0000000000\"+Ir(t.x)).slice(-l)+(\"0000000000\"+Ir(t.y)).slice(-l);var g=(\"0000000000\"+Ir(t.d)).slice(-l);return k.setPublicKeyHex(f),k.setPrivateKeyHex(g),k}if(\"pkcs5prv\"===r){var d,p=t,v=Er;if(9===(d=n(p,0)).length)(P=new u).readPKCS5PrvKeyHex(p);else if(6===d.length)(P=new a).readPKCS5PrvKeyHex(p);else{if(!(d.length>2&&\"04\"===p.substr(d[1],2)))throw\"unsupported PKCS#1/5 hexadecimal key\";(P=new s).readPKCS5PrvKeyHex(p)}return P}if(\"pkcs8prv\"===r)return P=h.getKeyFromPlainPrivatePKCS8Hex(t);if(\"pkcs8pub\"===r)return h._getKeyFromPublicPKCS8Hex(t);if(\"x509pub\"===r)return on.getPublicKeyFromCertHex(t);if(-1!=t.indexOf(\"-END CERTIFICATE-\",0)||-1!=t.indexOf(\"-END X509 CERTIFICATE-\",0)||-1!=t.indexOf(\"-END TRUSTED CERTIFICATE-\",0))return on.getPublicKeyFromCertPEM(t);if(-1!=t.indexOf(\"-END PUBLIC KEY-\")){var y=Hr(t,\"PUBLIC KEY\");return h._getKeyFromPublicPKCS8Hex(y)}if(-1!=t.indexOf(\"-END RSA PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){var m=c(t,\"RSA PRIVATE KEY\");return h.getKey(m,null,\"pkcs5prv\")}if(-1!=t.indexOf(\"-END DSA PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){var _=i(R=c(t,\"DSA PRIVATE KEY\"),0,[1],\"02\"),S=i(R,0,[2],\"02\"),b=i(R,0,[3],\"02\"),w=i(R,0,[4],\"02\"),E=i(R,0,[5],\"02\");return(P=new a).setPrivate(new F(_,16),new F(S,16),new F(b,16),new F(w,16),new F(E,16)),P}if(-1!=t.indexOf(\"-END EC PRIVATE KEY-\")&&-1==t.indexOf(\"4,ENCRYPTED\")){m=c(t,\"EC PRIVATE KEY\");return h.getKey(m,null,\"pkcs5prv\")}if(-1!=t.indexOf(\"-END PRIVATE KEY-\"))return h.getKeyFromPlainPrivatePKCS8PEM(t);if(-1!=t.indexOf(\"-END RSA PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var x=h.getDecryptedKeyHex(t,e),A=new He;return A.readPKCS5PrvKeyHex(x),A}if(-1!=t.indexOf(\"-END EC PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var k,P=i(R=h.getDecryptedKeyHex(t,e),0,[1],\"04\"),C=i(R,0,[2,0],\"06\"),T=i(R,0,[3,0],\"03\").substr(2);if(void 0===br.crypto.OID.oidhex2name[C])throw\"undefined OID(hex) in KJUR.crypto.OID: \"+C;return(k=new s({curve:br.crypto.OID.oidhex2name[C]})).setPublicKeyHex(T),k.setPrivateKeyHex(P),k.isPublic=!1,k}if(-1!=t.indexOf(\"-END DSA PRIVATE KEY-\")&&-1!=t.indexOf(\"4,ENCRYPTED\")){var R;_=i(R=h.getDecryptedKeyHex(t,e),0,[1],\"02\"),S=i(R,0,[2],\"02\"),b=i(R,0,[3],\"02\"),w=i(R,0,[4],\"02\"),E=i(R,0,[5],\"02\");return(P=new a).setPrivate(new F(_,16),new F(S,16),new F(b,16),new F(w,16),new F(E,16)),P}if(-1!=t.indexOf(\"-END ENCRYPTED PRIVATE KEY-\"))return h.getKeyFromEncryptedPKCS8PEM(t,e);throw new Error(\"not supported argument\")},Zr.generateKeypair=function(t,e){if(\"RSA\"==t){var r=e;(s=new He).generate(r,\"10001\"),s.isPrivate=!0,s.isPublic=!0;var n=new He,i=s.n.toString(16),o=s.e.toString(16);return n.setPublic(i,o),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}if(\"EC\"==t){var s,a,u=e,c=new br.crypto.ECDSA({curve:u}).generateKeyPairHex();return(s=new br.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),s.setPrivateKeyHex(c.ecprvhex),s.isPrivate=!0,s.isPublic=!1,(n=new br.crypto.ECDSA({curve:u})).setPublicKeyHex(c.ecpubhex),n.isPrivate=!1,n.isPublic=!0,(a={}).prvKeyObj=s,a.pubKeyObj=n,a}throw\"unknown algorithm: \"+t},Zr.getPEM=function(t,e,r,n,i,o){var s=br,a=s.asn1,u=a.DERObjectIdentifier,c=a.DERInteger,h=a.ASN1Util.newObject,l=a.x509.SubjectPublicKeyInfo,f=s.crypto,g=f.DSA,d=f.ECDSA,p=He;function v(t){return h({seq:[{int:0},{int:{bigint:t.n}},{int:t.e},{int:{bigint:t.d}},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.dmp1}},{int:{bigint:t.dmq1}},{int:{bigint:t.coeff}}]})}function m(t){return h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:[\"a0\",!0,{oid:{name:t.curveName}}]},{tag:[\"a1\",!0,{bitstr:{hex:\"00\"+t.pubKeyHex}}]}]})}function _(t){return h({seq:[{int:0},{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}},{int:{bigint:t.y}},{int:{bigint:t.x}}]})}if((void 0!==p&&t instanceof p||void 0!==g&&t instanceof g||void 0!==d&&t instanceof d)&&1==t.isPublic&&(void 0===e||\"PKCS8PUB\"==e))return Mr(F=new l(t).getEncodedHex(),\"PUBLIC KEY\");if(\"PKCS1PRV\"==e&&void 0!==p&&t instanceof p&&(void 0===r||null==r)&&1==t.isPrivate)return Mr(F=v(t).getEncodedHex(),\"RSA PRIVATE KEY\");if(\"PKCS1PRV\"==e&&void 0!==d&&t instanceof d&&(void 0===r||null==r)&&1==t.isPrivate){var S=new u({name:t.curveName}).getEncodedHex(),b=m(t).getEncodedHex(),w=\"\";return w+=Mr(S,\"EC PARAMETERS\"),w+=Mr(b,\"EC PRIVATE KEY\")}if(\"PKCS1PRV\"==e&&void 0!==g&&t instanceof g&&(void 0===r||null==r)&&1==t.isPrivate)return Mr(F=_(t).getEncodedHex(),\"DSA PRIVATE KEY\");if(\"PKCS5PRV\"==e&&void 0!==p&&t instanceof p&&void 0!==r&&null!=r&&1==t.isPrivate){var F=v(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"RSA\",F,r,n,o)}if(\"PKCS5PRV\"==e&&void 0!==d&&t instanceof d&&void 0!==r&&null!=r&&1==t.isPrivate){F=m(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"EC\",F,r,n,o)}if(\"PKCS5PRV\"==e&&void 0!==g&&t instanceof g&&void 0!==r&&null!=r&&1==t.isPrivate){F=_(t).getEncodedHex();return void 0===n&&(n=\"DES-EDE3-CBC\"),this.getEncryptedPKCS5PEMFromPrvKeyHex(\"DSA\",F,r,n,o)}var E=function t(e,r){var n=x(e,r);return new h({seq:[{seq:[{oid:{name:\"pkcs5PBES2\"}},{seq:[{seq:[{oid:{name:\"pkcs5PBKDF2\"}},{seq:[{octstr:{hex:n.pbkdf2Salt}},{int:n.pbkdf2Iter}]}]},{seq:[{oid:{name:\"des-EDE3-CBC\"}},{octstr:{hex:n.encryptionSchemeIV}}]}]}]},{octstr:{hex:n.ciphertext}}]}).getEncodedHex()},x=function t(e,r){var n=y.lib.WordArray.random(8),i=y.lib.WordArray.random(8),o=y.PBKDF2(r,n,{keySize:6,iterations:100}),s=y.enc.Hex.parse(e),a=y.TripleDES.encrypt(s,o,{iv:i})+\"\",u={};return u.ciphertext=a,u.pbkdf2Salt=y.enc.Hex.stringify(n),u.pbkdf2Iter=100,u.encryptionSchemeAlg=\"DES-EDE3-CBC\",u.encryptionSchemeIV=y.enc.Hex.stringify(i),u};if(\"PKCS8PRV\"==e&&null!=p&&t instanceof p&&1==t.isPrivate){var A=v(t).getEncodedHex();F=h({seq:[{int:0},{seq:[{oid:{name:\"rsaEncryption\"}},{null:!0}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Mr(F,\"PRIVATE KEY\"):Mr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}if(\"PKCS8PRV\"==e&&void 0!==d&&t instanceof d&&1==t.isPrivate){A=new h({seq:[{int:1},{octstr:{hex:t.prvKeyHex}},{tag:[\"a1\",!0,{bitstr:{hex:\"00\"+t.pubKeyHex}}]}]}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:\"ecPublicKey\"}},{oid:{name:t.curveName}}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Mr(F,\"PRIVATE KEY\"):Mr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}if(\"PKCS8PRV\"==e&&void 0!==g&&t instanceof g&&1==t.isPrivate){A=new c({bigint:t.x}).getEncodedHex(),F=h({seq:[{int:0},{seq:[{oid:{name:\"dsa\"}},{seq:[{int:{bigint:t.p}},{int:{bigint:t.q}},{int:{bigint:t.g}}]}]},{octstr:{hex:A}}]}).getEncodedHex();return void 0===r||null==r?Mr(F,\"PRIVATE KEY\"):Mr(b=E(F,r),\"ENCRYPTED PRIVATE KEY\")}throw new Error(\"unsupported object nor format\")},Zr.getKeyFromCSRPEM=function(t){var e=Hr(t,\"CERTIFICATE REQUEST\");return Zr.getKeyFromCSRHex(e)},Zr.getKeyFromCSRHex=function(t){var e=Zr.parseCSRHex(t);return Zr.getKey(e.p8pubkeyhex,null,\"pkcs8pub\")},Zr.parseCSRHex=function(t){var e=Er,r=e.getChildIdx,n=e.getTLV,i={},o=t;if(\"30\"!=o.substr(0,2))throw\"malformed CSR(code:001)\";var s=r(o,0);if(s.length<1)throw\"malformed CSR(code:002)\";if(\"30\"!=o.substr(s[0],2))throw\"malformed CSR(code:003)\";var a=r(o,s[0]);if(a.length<3)throw\"malformed CSR(code:004)\";return i.p8pubkeyhex=n(o,a[2]),i},Zr.getKeyID=function(t){var e=Zr,r=Er;\"string\"==typeof t&&-1!=t.indexOf(\"BEGIN \")&&(t=e.getKey(t));var n=Hr(e.getPEM(t)),i=r.getIdxbyList(n,0,[1]),o=r.getV(n,i).substring(2);return br.crypto.Util.hashHex(o,\"sha1\")},Zr.getJWKFromKey=function(t){var e={};if(t instanceof He&&t.isPrivate)return e.kty=\"RSA\",e.n=Rr(t.n.toString(16)),e.e=Rr(t.e.toString(16)),e.d=Rr(t.d.toString(16)),e.p=Rr(t.p.toString(16)),e.q=Rr(t.q.toString(16)),e.dp=Rr(t.dmp1.toString(16)),e.dq=Rr(t.dmq1.toString(16)),e.qi=Rr(t.coeff.toString(16)),e;if(t instanceof He&&t.isPublic)return e.kty=\"RSA\",e.n=Rr(t.n.toString(16)),e.e=Rr(t.e.toString(16)),e;if(t instanceof br.crypto.ECDSA&&t.isPrivate){if(\"P-256\"!==(n=t.getShortNISTPCurveName())&&\"P-384\"!==n)throw\"unsupported curve name for JWT: \"+n;var r=t.getPublicKeyXYHex();return e.kty=\"EC\",e.crv=n,e.x=Rr(r.x),e.y=Rr(r.y),e.d=Rr(t.prvKeyHex),e}if(t instanceof br.crypto.ECDSA&&t.isPublic){var n;if(\"P-256\"!==(n=t.getShortNISTPCurveName())&&\"P-384\"!==n)throw\"unsupported curve name for JWT: \"+n;r=t.getPublicKeyXYHex();return e.kty=\"EC\",e.crv=n,e.x=Rr(r.x),e.y=Rr(r.y),e}throw\"not supported key object\"},He.getPosArrayOfChildrenFromHex=function(t){return Er.getChildIdx(t,0)},He.getHexValueArrayOfChildrenFromHex=function(t){var e,r=Er.getV,n=r(t,(e=He.getPosArrayOfChildrenFromHex(t))[0]),i=r(t,e[1]),o=r(t,e[2]),s=r(t,e[3]),a=r(t,e[4]),u=r(t,e[5]),c=r(t,e[6]),h=r(t,e[7]),l=r(t,e[8]);return(e=new Array).push(n,i,o,s,a,u,c,h,l),e},He.prototype.readPrivateKeyFromPEMString=function(t){var e=Hr(t),r=He.getHexValueArrayOfChildrenFromHex(e);this.setPrivateEx(r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8])},He.prototype.readPKCS5PrvKeyHex=function(t){var e=He.getHexValueArrayOfChildrenFromHex(t);this.setPrivateEx(e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},He.prototype.readPKCS8PrvKeyHex=function(t){var e,r,n,i,o,s,a,u,c=Er,h=c.getVbyListEx;if(!1===c.isASN1HEX(t))throw new Error(\"not ASN.1 hex string\");try{e=h(t,0,[2,0,1],\"02\"),r=h(t,0,[2,0,2],\"02\"),n=h(t,0,[2,0,3],\"02\"),i=h(t,0,[2,0,4],\"02\"),o=h(t,0,[2,0,5],\"02\"),s=h(t,0,[2,0,6],\"02\"),a=h(t,0,[2,0,7],\"02\"),u=h(t,0,[2,0,8],\"02\")}catch(t){throw new Error(\"malformed PKCS#8 plain RSA private key\")}this.setPrivateEx(e,r,n,i,o,s,a,u)},He.prototype.readPKCS5PubKeyHex=function(t){var e=Er,r=e.getV;if(!1===e.isASN1HEX(t))throw new Error(\"keyHex is not ASN.1 hex string\");var n=e.getChildIdx(t,0);if(2!==n.length||\"02\"!==t.substr(n[0],2)||\"02\"!==t.substr(n[1],2))throw new Error(\"wrong hex for PKCS#5 public key\");var i=r(t,n[0]),o=r(t,n[1]);this.setPublic(i,o)},He.prototype.readPKCS8PubKeyHex=function(t){var e=Er;if(!1===e.isASN1HEX(t))throw new Error(\"not ASN.1 hex string\");if(\"06092a864886f70d010101\"!==e.getTLVbyListEx(t,0,[0,0]))throw new Error(\"not PKCS8 RSA public key\");var r=e.getTLVbyListEx(t,0,[1,0]);this.readPKCS5PubKeyHex(r)},He.prototype.readCertPubKeyHex=function(t,e){var r,n;(r=new on).readCertHex(t),n=r.getPublicKeyHex(),this.readPKCS8PubKeyHex(n)};var tn=new RegExp(\"[^0-9a-f]\",\"gi\");function en(t,e){for(var r=\"\",n=e/4-t.length,i=0;i>24,(16711680&i)>>16,(65280&i)>>8,255&i])))),i+=1;return n}function nn(t){for(var e in br.crypto.Util.DIGESTINFOHEAD){var r=br.crypto.Util.DIGESTINFOHEAD[e],n=r.length;if(t.substring(0,n)==r)return[e,t.substring(n)]}return[]}function on(t){var e,r=Er,n=r.getChildIdx,i=r.getV,o=r.getTLV,s=r.getVbyList,a=r.getVbyListEx,u=r.getTLVbyList,c=r.getTLVbyListEx,h=r.getIdxbyList,l=r.getIdxbyListEx,f=r.getVidx,g=r.oidname,d=r.hextooidstr,p=on,v=Hr;try{e=br.asn1.x509.AlgorithmIdentifier.PSSNAME2ASN1TLV}catch(t){}this.HEX2STAG={\"0c\":\"utf8\",13:\"prn\",16:\"ia5\",\"1a\":\"vis\",\"1e\":\"bmp\"},this.hex=null,this.version=0,this.foffset=0,this.aExtInfo=null,this.getVersion=function(){return null===this.hex||0!==this.version?this.version:\"a003020102\"!==u(this.hex,0,[0,0])?(this.version=1,this.foffset=-1,1):(this.version=3,3)},this.getSerialNumberHex=function(){return a(this.hex,0,[0,0],\"02\")},this.getSignatureAlgorithmField=function(){var t=c(this.hex,0,[0,1]);return this.getAlgorithmIdentifierName(t)},this.getAlgorithmIdentifierName=function(t){for(var r in e)if(t===e[r])return r;return g(a(t,0,[0],\"06\"))},this.getIssuer=function(){return this.getX500Name(this.getIssuerHex())},this.getIssuerHex=function(){return u(this.hex,0,[0,3+this.foffset],\"30\")},this.getIssuerString=function(){return p.hex2dn(this.getIssuerHex())},this.getSubject=function(){return this.getX500Name(this.getSubjectHex())},this.getSubjectHex=function(){return u(this.hex,0,[0,5+this.foffset],\"30\")},this.getSubjectString=function(){return p.hex2dn(this.getSubjectHex())},this.getNotBefore=function(){var t=s(this.hex,0,[0,4+this.foffset,0]);return t=t.replace(/(..)/g,\"%$1\"),t=decodeURIComponent(t)},this.getNotAfter=function(){var t=s(this.hex,0,[0,4+this.foffset,1]);return t=t.replace(/(..)/g,\"%$1\"),t=decodeURIComponent(t)},this.getPublicKeyHex=function(){return r.getTLVbyList(this.hex,0,[0,6+this.foffset],\"30\")},this.getPublicKeyIdx=function(){return h(this.hex,0,[0,6+this.foffset],\"30\")},this.getPublicKeyContentIdx=function(){var t=this.getPublicKeyIdx();return h(this.hex,t,[1,0],\"30\")},this.getPublicKey=function(){return Zr.getKey(this.getPublicKeyHex(),null,\"pkcs8pub\")},this.getSignatureAlgorithmName=function(){var t=u(this.hex,0,[1],\"30\");return this.getAlgorithmIdentifierName(t)},this.getSignatureValueHex=function(){return s(this.hex,0,[2],\"03\",!0)},this.verifySignature=function(t){var e=this.getSignatureAlgorithmField(),r=this.getSignatureValueHex(),n=u(this.hex,0,[0],\"30\"),i=new br.crypto.Signature({alg:e});return i.init(t),i.updateHex(n),i.verify(r)},this.parseExt=function(t){var e,o,a;if(void 0===t){if(a=this.hex,3!==this.version)return-1;e=h(a,0,[0,7,0],\"30\"),o=n(a,e)}else{a=Hr(t);var u=h(a,0,[0,3,0,0],\"06\");if(\"2a864886f70d01090e\"!=i(a,u))return void(this.aExtInfo=new Array);e=h(a,0,[0,3,0,1,0],\"30\"),o=n(a,e),this.hex=a}this.aExtInfo=new Array;for(var c=0;c1){var a=o(t,s[1]),u=this.getGeneralName(a);null!=u.uri&&(i.uri=u.uri)}if(s.length>2){var c=o(t,s[2]);\"0101ff\"==c&&(i.reqauth=!0),\"010100\"==c&&(i.reqauth=!1)}return i},this.getX500NameRule=function(t){for(var e=null,r=[],n=0;n0&&(t.ext=this.getExtParamArray()),t.sighex=this.getSignatureValueHex(),t},this.getExtParamArray=function(t){null==t&&(-1!=l(this.hex,0,[0,\"[3]\"])&&(t=c(this.hex,0,[0,\"[3]\",0],\"30\")));for(var e=[],r=n(t,0),i=0;i0&&(c=new Array(r),(new Oe).nextBytes(c),c=String.fromCharCode.apply(String,c));var h=Nr(u(Ur(\"\\0\\0\\0\\0\\0\\0\\0\\0\"+i+c))),l=[];for(n=0;n>8*a-s&255;for(d[0]&=~p,n=0;nthis.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,\"\"));if(0==n.length)return!1;var i=n[0];return n[1]==function t(e){return br.crypto.Util.hashString(e,i)}(t)},He.prototype.verifyWithMessageHash=function(t,e){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var r=je(e,16);if(r.bitLength()>this.n.bitLength())return 0;var n=nn(this.doPublic(r).toString(16).replace(/^1f+00/,\"\"));if(0==n.length)return!1;n[0];return n[1]==t},He.prototype.verifyPSS=function(t,e,r,n){var i=function t(e){return br.crypto.Util.hashHex(e,r)}(Ur(t));return void 0===n&&(n=-1),this.verifyWithMessageHashPSS(i,e,r,n)},He.prototype.verifyWithMessageHashPSS=function(t,e,r,n){if(e.length!=Math.ceil(this.n.bitLength()/4))return!1;var i,o=new F(e,16),s=function t(e){return br.crypto.Util.hashHex(e,r)},a=Nr(t),u=a.length,c=this.n.bitLength()-1,h=Math.ceil(c/8);if(-1===n||void 0===n)n=u;else if(-2===n)n=h-u-2;else if(n<-2)throw new Error(\"invalid salt length\");if(h>8*h-c&255;if(0!=(f.charCodeAt(0)&d))throw new Error(\"bits beyond keysize not zero\");var p=rn(g,f.length,s),v=[];for(i=0;i0)&&-1==(\":\"+n.join(\":\")+\":\").indexOf(\":\"+v+\":\"))throw\"algorithm '\"+v+\"' not accepted in the list\";if(\"none\"!=v&&null===e)throw\"key shall be specified to verify.\";if(\"string\"==typeof e&&-1!=e.indexOf(\"-----BEGIN \")&&(e=Zr.getKey(e)),!(\"RS\"!=y&&\"PS\"!=y||e instanceof i))throw\"key shall be a RSAKey obj for RS* and PS* algs\";if(\"ES\"==y&&!(e instanceof c))throw\"key shall be a ECDSA obj for ES* algs\";var m=null;if(void 0===s.jwsalg2sigalg[p.alg])throw\"unsupported alg name: \"+v;if(\"none\"==(m=s.jwsalg2sigalg[v]))throw\"not supported\";if(\"Hmac\"==m.substr(0,4)){if(void 0===e)throw\"hexadecimal key shall be specified for HMAC\";var _=new h({alg:m,pass:e});return _.updateString(g),d==_.doFinal()}if(-1!=m.indexOf(\"withECDSA\")){var S,b=null;try{b=c.concatSigToASN1Sig(d)}catch(t){return!1}return(S=new l({alg:m})).init(e),S.updateString(g),S.verify(b)}return(S=new l({alg:m})).init(e),S.updateString(g),S.verify(d)},br.jws.JWS.parse=function(t){var e,r,n,i=t.split(\".\"),o={};if(2!=i.length&&3!=i.length)throw\"malformed sJWS: wrong number of '.' splitted elements\";return e=i[0],r=i[1],3==i.length&&(n=i[2]),o.headerObj=br.jws.JWS.readSafeJSONString(Fr(e)),o.payloadObj=br.jws.JWS.readSafeJSONString(Fr(r)),o.headerPP=JSON.stringify(o.headerObj,null,\" \"),null==o.payloadObj?o.payloadPP=Fr(r):o.payloadPP=JSON.stringify(o.payloadObj,null,\" \"),void 0!==n&&(o.sigHex=Ir(n)),o},br.jws.JWS.verifyJWT=function(t,e,n){var i=br.jws,o=i.JWS,s=o.readSafeJSONString,a=o.inArray,u=o.includedArray,c=t.split(\".\"),h=c[0],l=c[1],f=(Ir(c[2]),s(Fr(h))),g=s(Fr(l));if(void 0===f.alg)return!1;if(void 0===n.alg)throw\"acceptField.alg shall be specified\";if(!a(f.alg,n.alg))return!1;if(void 0!==g.iss&&\"object\"===r(n.iss)&&!a(g.iss,n.iss))return!1;if(void 0!==g.sub&&\"object\"===r(n.sub)&&!a(g.sub,n.sub))return!1;if(void 0!==g.aud&&\"object\"===r(n.aud))if(\"string\"==typeof g.aud){if(!a(g.aud,n.aud))return!1}else if(\"object\"==r(g.aud)&&!u(g.aud,n.aud))return!1;var d=i.IntDate.getNow();return void 0!==n.verifyAt&&\"number\"==typeof n.verifyAt&&(d=n.verifyAt),void 0!==n.gracePeriod&&\"number\"==typeof n.gracePeriod||(n.gracePeriod=0),!(void 0!==g.exp&&\"number\"==typeof g.exp&&g.exp+n.gracePeriodr.length&&(n=r.length);for(var i=0;i\n * @license MIT\n */\nvar n=r(30),i=r(31),o=r(32);function s(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(t,e){if(s()=s())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+s().toString(16)+\" bytes\");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;\"string\"!=typeof t&&(t=\"\"+t);var r=t.length;if(0===r)return 0;for(var n=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":case void 0:return K(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return q(t).length;default:if(n)return K(t).length;e=(\"\"+e).toLowerCase(),n=!0}}function p(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return I(this,e,r);case\"utf8\":case\"utf-8\":return A(this,e,r);case\"ascii\":return T(this,e,r);case\"latin1\":case\"binary\":return R(this,e,r);case\"base64\":return x(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return D(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}function v(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function y(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=u.from(e,n)),u.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var o,s=1,a=t.length,u=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,u/=2,r/=2}function c(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){var h=-1;for(o=r;oa&&(r=a-u),o=r;o>=0;o--){for(var l=!0,f=0;fi&&(n=i):n=i;var o=e.length;if(o%2!=0)throw new TypeError(\"Invalid hex string\");n>o/2&&(n=o/2);for(var s=0;s>8,i=r%256,o.push(i),o.push(n);return o}(e,t.length-r),t,r,n)}function x(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function A(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:c>223?3:c>191?2:1;if(i+l<=r)switch(l){case 1:c<128&&(h=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(h=u);break;case 3:o=t[i+1],s=t[i+2],128==(192&o)&&128==(192&s)&&(u=(15&c)<<12|(63&o)<<6|63&s)>2047&&(u<55296||u>57343)&&(h=u);break;case 4:o=t[i+1],s=t[i+2],a=t[i+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(u=(15&c)<<18|(63&o)<<12|(63&s)<<6|63&a)>65535&&u<1114112&&(h=u)}null===h?(h=65533,l=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|1023&h),n.push(h),i+=l}return function f(t){var e=t.length;if(e<=C)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n0&&(r=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(r+=\" ... \")),\"\"},u.prototype.compare=function t(e,r,n,i,o){if(!u.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===o&&(o=this.length),r<0||n>e.length||i<0||o>this.length)throw new RangeError(\"out of range index\");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(this===e)return 0;for(var s=(o>>>=0)-(i>>>=0),a=(n>>>=0)-(r>>>=0),c=Math.min(s,a),h=this.slice(i,o),l=e.slice(r,n),f=0;fo)&&(n=o),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");for(var s=!1;;)switch(i){case\"hex\":return _(this,e,r,n);case\"utf8\":case\"utf-8\":return S(this,e,r,n);case\"ascii\":return b(this,e,r,n);case\"latin1\":case\"binary\":return w(this,e,r,n);case\"base64\":return F(this,e,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return E(this,e,r,n);default:if(s)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),s=!0}},u.prototype.toJSON=function t(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function T(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i=\"\",o=e;or)throw new RangeError(\"Trying to access beyond buffer length\")}function N(t,e,r,n,i,o){if(!u.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError(\"Index out of range\")}function U(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-r,2);i>>8*(n?i:1-i)}function B(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-r,4);i>>8*(n?i:3-i)&255}function O(t,e,r,n,i,o){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function j(t,e,r,n,o){return o||O(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function M(t,e,r,n,o){return o||O(t,0,r,8),i.write(t,e,r,n,52,8),r+8}u.prototype.slice=function t(e,r){var n,i=this.length;if((e=~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),(r=void 0===r?i:~~r)<0?(r+=i)<0&&(r=0):r>i&&(r=i),r0&&(o*=256);)i+=this[e+--r]*o;return i},u.prototype.readUInt8=function t(e,r){return r||L(e,1,this.length),this[e]},u.prototype.readUInt16LE=function t(e,r){return r||L(e,2,this.length),this[e]|this[e+1]<<8},u.prototype.readUInt16BE=function t(e,r){return r||L(e,2,this.length),this[e]<<8|this[e+1]},u.prototype.readUInt32LE=function t(e,r){return r||L(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},u.prototype.readUInt32BE=function t(e,r){return r||L(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},u.prototype.readIntLE=function t(e,r,n){e|=0,r|=0,n||L(e,r,this.length);for(var i=this[e],o=1,s=0;++s=(o*=128)&&(i-=Math.pow(2,8*r)),i},u.prototype.readIntBE=function t(e,r,n){e|=0,r|=0,n||L(e,r,this.length);for(var i=r,o=1,s=this[e+--i];i>0&&(o*=256);)s+=this[e+--i]*o;return s>=(o*=128)&&(s-=Math.pow(2,8*r)),s},u.prototype.readInt8=function t(e,r){return r||L(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},u.prototype.readInt16LE=function t(e,r){r||L(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function t(e,r){r||L(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function t(e,r){return r||L(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},u.prototype.readInt32BE=function t(e,r){return r||L(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},u.prototype.readFloatLE=function t(e,r){return r||L(e,4,this.length),i.read(this,e,!0,23,4)},u.prototype.readFloatBE=function t(e,r){return r||L(e,4,this.length),i.read(this,e,!1,23,4)},u.prototype.readDoubleLE=function t(e,r){return r||L(e,8,this.length),i.read(this,e,!0,52,8)},u.prototype.readDoubleBE=function t(e,r){return r||L(e,8,this.length),i.read(this,e,!1,52,8)},u.prototype.writeUIntLE=function t(e,r,n,i){(e=+e,r|=0,n|=0,i)||N(this,e,r,n,Math.pow(2,8*n)-1,0);var o=1,s=0;for(this[r]=255&e;++s=0&&(s*=256);)this[r+o]=e/s&255;return r+n},u.prototype.writeUInt8=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,1,255,0),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[r]=255&e,r+1},u.prototype.writeUInt16LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},u.prototype.writeUInt16BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},u.prototype.writeUInt32LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=255&e):B(this,e,r,!0),r+4},u.prototype.writeUInt32BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):B(this,e,r,!1),r+4},u.prototype.writeIntLE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);N(this,e,r,n,o-1,-o)}var s=0,a=1,u=0;for(this[r]=255&e;++s>0)-u&255;return r+n},u.prototype.writeIntBE=function t(e,r,n,i){if(e=+e,r|=0,!i){var o=Math.pow(2,8*n-1);N(this,e,r,n,o-1,-o)}var s=n-1,a=1,u=0;for(this[r+s]=255&e;--s>=0&&(a*=256);)e<0&&0===u&&0!==this[r+s+1]&&(u=1),this[r+s]=(e/a>>0)-u&255;return r+n},u.prototype.writeInt8=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,1,127,-128),u.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[r]=255&e,r+1},u.prototype.writeInt16LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8):U(this,e,r,!0),r+2},u.prototype.writeInt16BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>8,this[r+1]=255&e):U(this,e,r,!1),r+2},u.prototype.writeInt32LE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[r]=255&e,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24):B(this,e,r,!0),r+4},u.prototype.writeInt32BE=function t(e,r,n){return e=+e,r|=0,n||N(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),u.TYPED_ARRAY_SUPPORT?(this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=255&e):B(this,e,r,!1),r+4},u.prototype.writeFloatLE=function t(e,r,n){return j(this,e,r,!0,n)},u.prototype.writeFloatBE=function t(e,r,n){return j(this,e,r,!1,n)},u.prototype.writeDoubleLE=function t(e,r,n){return M(this,e,r,!0,n)},u.prototype.writeDoubleBE=function t(e,r,n){return M(this,e,r,!1,n)},u.prototype.copy=function t(e,r,n,i){if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError(\"sourceStart out of bounds\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),e.length-r=0;--o)e[o+r]=this[o+n];else if(s<1e3||!u.TYPED_ARRAY_SUPPORT)for(o=0;o>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),\"number\"==typeof e)for(s=r;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function q(t){return n.toByteArray(function e(t){if((t=function e(t){return t.trim?t.trim():t.replace(/^\\s+|\\s+$/g,\"\")}(t).replace(H,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function J(t,e,r,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}}).call(this,r(29))},function(t,e){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(r=window)}t.exports=r},function(t,e,r){\"use strict\";e.byteLength=function n(t){var e=f(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function i(t){var e,r,n=f(t),i=n[0],o=n[1],s=new u(function c(t,e,r){return 3*(e+r)/4-r}(0,i,o)),h=0,l=o>0?i-4:i;for(r=0;r>16&255,s[h++]=e>>8&255,s[h++]=255&e;2===o&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,s[h++]=255&e);1===o&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,s[h++]=e>>8&255,s[h++]=255&e);return s},e.fromByteArray=function o(t){for(var e,r=t.length,n=r%3,i=[],o=16383,a=0,u=r-n;au?u:a+o));1===n?(e=t[r-1],i.push(s[e>>2]+s[e<<4&63]+\"==\")):2===n&&(e=(t[r-2]<<8)+t[r-1],i.push(s[e>>10]+s[e>>4&63]+s[e<<2&63]+\"=\"));return i.join(\"\")};for(var s=[],a=[],u=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,c=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",h=0,l=c.length;h0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function g(t,e,r){for(var n,i,o=[],a=e;a>18&63]+s[i>>12&63]+s[i>>6&63]+s[63&i]);return o.join(\"\")}a[\"-\".charCodeAt(0)]=62,a[\"_\".charCodeAt(0)]=63},function(t,e){\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\ne.read=function(t,e,r,n,i){var o,s,a=8*i-n-1,u=(1<>1,h=-7,l=r?i-1:0,f=r?-1:1,g=t[e+l];for(l+=f,o=g&(1<<-h)-1,g>>=-h,h+=a;h>0;o=256*o+t[e+l],l+=f,h-=8);for(s=o&(1<<-h)-1,o>>=-h,h+=n;h>0;s=256*s+t[e+l],l+=f,h-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),o-=c}return(g?-1:1)*s*Math.pow(2,o-n)},e.write=function(t,e,r,n,i,o){var s,a,u,c=8*o-i-1,h=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:o-1,d=n?1:-1,p=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=h):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),(e+=s+l>=1?f/u:f*Math.pow(2,1-l))*u>=2&&(s++,u/=2),s+l>=h?(a=0,s=h):s+l>=1?(a=(e*u-1)*Math.pow(2,i),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;t[r+g]=255&a,g+=d,a/=256,i-=8);for(s=s<0;t[r+g]=255&s,g+=d,s/=256,c-=8);t[r+g-d]|=128*p}},function(t,e){var r={}.toString;t.exports=Array.isArray||function(t){return\"[object Array]\"==r.call(t)}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=function n(t){var e=t.jws,r=t.KeyUtil,n=t.X509,o=t.crypto,s=t.hextob64u,a=t.b64tohex,u=t.AllowedSigningAlgs;return function(){function t(){!function e(t,r){if(!(t instanceof r))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return t.parseJwt=function t(r){i.Log.debug(\"JoseUtil.parseJwt\");try{var n=e.JWS.parse(r);return{header:n.headerObj,payload:n.payloadObj}}catch(t){i.Log.error(t)}},t.validateJwt=function e(o,s,u,c,h,l,f){i.Log.debug(\"JoseUtil.validateJwt\");try{if(\"RSA\"===s.kty)if(s.e&&s.n)s=r.getKey(s);else{if(!s.x5c||!s.x5c.length)return i.Log.error(\"JoseUtil.validateJwt: RSA key missing key material\",s),Promise.reject(new Error(\"RSA key missing key material\"));var g=a(s.x5c[0]);s=n.getPublicKeyFromCertHex(g)}else{if(\"EC\"!==s.kty)return i.Log.error(\"JoseUtil.validateJwt: Unsupported key type\",s&&s.kty),Promise.reject(new Error(s.kty));if(!(s.crv&&s.x&&s.y))return i.Log.error(\"JoseUtil.validateJwt: EC key missing key material\",s),Promise.reject(new Error(\"EC key missing key material\"));s=r.getKey(s)}return t._validateJwt(o,s,u,c,h,l,f)}catch(t){return i.Log.error(t&&t.message||t),Promise.reject(\"JWT validation failed\")}},t.validateJwtAttributes=function e(r,n,o,s,a,u){s||(s=0),a||(a=parseInt(Date.now()/1e3));var c=t.parseJwt(r).payload;if(!c.iss)return i.Log.error(\"JoseUtil._validateJwt: issuer was not provided\"),Promise.reject(new Error(\"issuer was not provided\"));if(c.iss!==n)return i.Log.error(\"JoseUtil._validateJwt: Invalid issuer in token\",c.iss),Promise.reject(new Error(\"Invalid issuer in token: \"+c.iss));if(!c.aud)return i.Log.error(\"JoseUtil._validateJwt: aud was not provided\"),Promise.reject(new Error(\"aud was not provided\"));if(!(c.aud===o||Array.isArray(c.aud)&&c.aud.indexOf(o)>=0))return i.Log.error(\"JoseUtil._validateJwt: Invalid audience in token\",c.aud),Promise.reject(new Error(\"Invalid audience in token: \"+c.aud));if(c.azp&&c.azp!==o)return i.Log.error(\"JoseUtil._validateJwt: Invalid azp in token\",c.azp),Promise.reject(new Error(\"Invalid azp in token: \"+c.azp));if(!u){var h=a+s,l=a-s;if(!c.iat)return i.Log.error(\"JoseUtil._validateJwt: iat was not provided\"),Promise.reject(new Error(\"iat was not provided\"));if(h1&&void 0!==arguments[1]?arguments[1]:\"#\";o(this,t);var n=i.UrlUtility.parseUrlFragment(e,r);this.error=n.error,this.error_description=n.error_description,this.error_uri=n.error_uri,this.code=n.code,this.state=n.state,this.id_token=n.id_token,this.session_state=n.session_state,this.access_token=n.access_token,this.token_type=n.token_type,this.scope=n.scope,this.profile=void 0,this.expires_in=n.expires_in}return n(t,[{key:\"expires_in\",get:function t(){if(this.expires_at){var e=parseInt(Date.now()/1e3);return this.expires_at-e}},set:function t(e){var r=parseInt(e);if(\"number\"==typeof r&&r>0){var n=parseInt(Date.now()/1e3);this.expires_at=n+r}}},{key:\"expired\",get:function t(){var e=this.expires_in;if(void 0!==e)return e<=0}},{key:\"scopes\",get:function t(){return(this.scope||\"\").split(\" \")}},{key:\"isOpenIdConnect\",get:function t(){return this.scopes.indexOf(\"openid\")>=0||!!this.id_token}}]),t}()},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SignoutRequest=void 0;var n=r(0),i=r(3),o=r(9);e.SignoutRequest=function t(e){var r=e.url,s=e.id_token_hint,a=e.post_logout_redirect_uri,u=e.data,c=e.extraQueryParams,h=e.request_type;if(function l(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),!r)throw n.Log.error(\"SignoutRequest.ctor: No url passed\"),new Error(\"url\");for(var f in s&&(r=i.UrlUtility.addQueryParam(r,\"id_token_hint\",s)),a&&(r=i.UrlUtility.addQueryParam(r,\"post_logout_redirect_uri\",a),u&&(this.state=new o.State({data:u,request_type:h}),r=i.UrlUtility.addQueryParam(r,\"state\",this.state.id))),c)r=i.UrlUtility.addQueryParam(r,f,c[f]);this.url=r}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.SignoutResponse=void 0;var n=r(3);e.SignoutResponse=function t(e){!function r(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t);var i=n.UrlUtility.parseUrlFragment(e,\"?\");this.error=i.error,this.error_description=i.error_description,this.error_uri=i.error_uri,this.state=i.state}},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.InMemoryWebStorage=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:c.SilentRenewService,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.SessionMonitor,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f.TokenRevocationClient,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:g.TokenClient,y=arguments.length>5&&void 0!==arguments[5]?arguments[5]:d.JoseUtil;p(this,e),r instanceof s.UserManagerSettings||(r=new s.UserManagerSettings(r));var m=v(this,t.call(this,r));return m._events=new u.UserManagerEvents(r),m._silentRenewService=new n(m),m.settings.automaticSilentRenew&&(i.Log.debug(\"UserManager.ctor: automaticSilentRenew is configured, setting up silent renew\"),m.startSilentRenew()),m.settings.monitorSession&&(i.Log.debug(\"UserManager.ctor: monitorSession is configured, setting up session monitor\"),m._sessionMonitor=new o(m)),m._tokenRevocationClient=new a(m._settings),m._tokenClient=new l(m._settings),m._joseUtil=y,m}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.getUser=function t(){var e=this;return this._loadUser().then((function(t){return t?(i.Log.info(\"UserManager.getUser: user loaded\"),e._events.load(t,!1),t):(i.Log.info(\"UserManager.getUser: user not found in storage\"),null)}))},e.prototype.removeUser=function t(){var e=this;return this.storeUser(null).then((function(){i.Log.info(\"UserManager.removeUser: user removed from storage\"),e._events.unload()}))},e.prototype.signinRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"si:r\";var r={useReplaceToNavigate:e.useReplaceToNavigate};return this._signinStart(e,this._redirectNavigator,r).then((function(){i.Log.info(\"UserManager.signinRedirect: successful\")}))},e.prototype.signinRedirectCallback=function t(e){return this._signinEnd(e||this._redirectNavigator.url).then((function(t){return t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinRedirectCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinRedirectCallback: no sub\"),t}))},e.prototype.signinPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"si:p\";var r=e.redirect_uri||this.settings.popup_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.display=\"popup\",this._signin(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinPopup: signinPopup successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinPopup: no sub\")),t}))):(i.Log.error(\"UserManager.signinPopup: No popup_redirect_uri or redirect_uri configured\"),Promise.reject(new Error(\"No popup_redirect_uri or redirect_uri configured\")))},e.prototype.signinPopupCallback=function t(e){return this._signinCallback(e,this._popupNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinPopupCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinPopupCallback: no sub\")),t})).catch((function(t){i.Log.error(t.message)}))},e.prototype.signinSilent=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return r=Object.assign({},r),this._loadUser().then((function(t){return t&&t.refresh_token?(r.refresh_token=t.refresh_token,e._useRefreshToken(r)):(r.request_type=\"si:s\",r.id_token_hint=r.id_token_hint||e.settings.includeIdTokenInSilentRenew&&t&&t.id_token,t&&e._settings.validateSubOnSilentRenew&&(i.Log.debug(\"UserManager.signinSilent, subject prior to silent renew: \",t.profile.sub),r.current_sub=t.profile.sub),e._signinSilentIframe(r))}))},e.prototype._useRefreshToken=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this._tokenClient.exchangeRefreshToken(r).then((function(t){return t?t.access_token?e._loadUser().then((function(r){if(r){var n=Promise.resolve();return t.id_token&&(n=e._validateIdTokenFromTokenRefreshToken(r.profile,t.id_token)),n.then((function(){return i.Log.debug(\"UserManager._useRefreshToken: refresh token response success\"),r.id_token=t.id_token||r.id_token,r.access_token=t.access_token,r.refresh_token=t.refresh_token||r.refresh_token,r.expires_in=t.expires_in,e.storeUser(r).then((function(){return e._events.load(r),r}))}))}return null})):(i.Log.error(\"UserManager._useRefreshToken: No access token returned from token endpoint\"),Promise.reject(\"No access token returned from token endpoint\")):(i.Log.error(\"UserManager._useRefreshToken: No response returned from token endpoint\"),Promise.reject(\"No response returned from token endpoint\"))}))},e.prototype._validateIdTokenFromTokenRefreshToken=function t(e,r){var n=this;return this._metadataService.getIssuer().then((function(t){return n.settings.getEpochTime().then((function(o){return n._joseUtil.validateJwtAttributes(r,t,n._settings.client_id,n._settings.clockSkew,o).then((function(t){return t?t.sub!==e.sub?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: sub in id_token does not match current sub\"),Promise.reject(new Error(\"sub in id_token does not match current sub\"))):t.auth_time&&t.auth_time!==e.auth_time?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: auth_time in id_token does not match original auth_time\"),Promise.reject(new Error(\"auth_time in id_token does not match original auth_time\"))):t.azp&&t.azp!==e.azp?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp in id_token does not match original azp\"),Promise.reject(new Error(\"azp in id_token does not match original azp\"))):!t.azp&&e.azp?(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: azp not in id_token, but present in original id_token\"),Promise.reject(new Error(\"azp not in id_token, but present in original id_token\"))):void 0:(i.Log.error(\"UserManager._validateIdTokenFromTokenRefreshToken: Failed to validate id_token\"),Promise.reject(new Error(\"Failed to validate id_token\")))}))}))}))},e.prototype._signinSilentIframe=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return r?(e.redirect_uri=r,e.prompt=e.prompt||\"none\",this._signin(e,this._iframeNavigator,{startUrl:r,silentRequestTimeout:e.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinSilent: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinSilent: no sub\")),t}))):(i.Log.error(\"UserManager.signinSilent: No silent_redirect_uri configured\"),Promise.reject(new Error(\"No silent_redirect_uri configured\")))},e.prototype.signinSilentCallback=function t(e){return this._signinCallback(e,this._iframeNavigator).then((function(t){return t&&(t.profile&&t.profile.sub?i.Log.info(\"UserManager.signinSilentCallback: successful, signed in sub: \",t.profile.sub):i.Log.info(\"UserManager.signinSilentCallback: no sub\")),t}))},e.prototype.signinCallback=function t(e){var r=this;return this.readSigninResponseState(e).then((function(t){var n=t.state;t.response;return\"si:r\"===n.request_type?r.signinRedirectCallback(e):\"si:p\"===n.request_type?r.signinPopupCallback(e):\"si:s\"===n.request_type?r.signinSilentCallback(e):Promise.reject(new Error(\"invalid response_type in state\"))}))},e.prototype.signoutCallback=function t(e,r){var n=this;return this.readSignoutResponseState(e).then((function(t){var i=t.state,o=t.response;return i?\"so:r\"===i.request_type?n.signoutRedirectCallback(e):\"so:p\"===i.request_type?n.signoutPopupCallback(e,r):Promise.reject(new Error(\"invalid response_type in state\")):o}))},e.prototype.querySessionStatus=function t(){var e=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(r=Object.assign({},r)).request_type=\"si:s\";var n=r.redirect_uri||this.settings.silent_redirect_uri||this.settings.redirect_uri;return n?(r.redirect_uri=n,r.prompt=\"none\",r.response_type=r.response_type||this.settings.query_status_response_type,r.scope=r.scope||\"openid\",r.skipUserInfo=!0,this._signinStart(r,this._iframeNavigator,{startUrl:n,silentRequestTimeout:r.silentRequestTimeout||this.settings.silentRequestTimeout}).then((function(t){return e.processSigninResponse(t.url).then((function(t){if(i.Log.debug(\"UserManager.querySessionStatus: got signin response\"),t.session_state&&t.profile.sub)return i.Log.info(\"UserManager.querySessionStatus: querySessionStatus success for sub: \",t.profile.sub),{session_state:t.session_state,sub:t.profile.sub,sid:t.profile.sid};i.Log.info(\"querySessionStatus successful, user not authenticated\")})).catch((function(t){if(t.session_state&&e.settings.monitorAnonymousSession&&(\"login_required\"==t.message||\"consent_required\"==t.message||\"interaction_required\"==t.message||\"account_selection_required\"==t.message))return i.Log.info(\"UserManager.querySessionStatus: querySessionStatus success for anonymous user\"),{session_state:t.session_state};throw t}))}))):(i.Log.error(\"UserManager.querySessionStatus: No silent_redirect_uri configured\"),Promise.reject(new Error(\"No silent_redirect_uri configured\")))},e.prototype._signin=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signinStart(e,r,i).then((function(t){return n._signinEnd(t.url,e)}))},e.prototype._signinStart=function t(e,r){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.prepare(o).then((function(t){return i.Log.debug(\"UserManager._signinStart: got navigator window handle\"),n.createSigninRequest(e).then((function(e){return i.Log.debug(\"UserManager._signinStart: got signin request\"),o.url=e.url,o.id=e.state.id,t.navigate(o)})).catch((function(e){throw t.close&&(i.Log.debug(\"UserManager._signinStart: Error after preparing navigator, closing navigator window\"),t.close()),e}))}))},e.prototype._signinEnd=function t(e){var r=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.processSigninResponse(e).then((function(t){i.Log.debug(\"UserManager._signinEnd: got signin response\");var e=new a.User(t);if(n.current_sub){if(n.current_sub!==e.profile.sub)return i.Log.debug(\"UserManager._signinEnd: current user does not match user returned from signin. sub from signin: \",e.profile.sub),Promise.reject(new Error(\"login_required\"));i.Log.debug(\"UserManager._signinEnd: current user matches user returned from signin\")}return r.storeUser(e).then((function(){return i.Log.debug(\"UserManager._signinEnd: user stored\"),r._events.load(e),e}))}))},e.prototype._signinCallback=function t(e,r){i.Log.debug(\"UserManager._signinCallback\");var n=\"query\"===this._settings.response_mode||!this._settings.response_mode&&l.SigninRequest.isCode(this._settings.response_type)?\"?\":\"#\";return r.callback(e,void 0,n)},e.prototype.signoutRedirect=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"so:r\";var r=e.post_logout_redirect_uri||this.settings.post_logout_redirect_uri;r&&(e.post_logout_redirect_uri=r);var n={useReplaceToNavigate:e.useReplaceToNavigate};return this._signoutStart(e,this._redirectNavigator,n).then((function(){i.Log.info(\"UserManager.signoutRedirect: successful\")}))},e.prototype.signoutRedirectCallback=function t(e){return this._signoutEnd(e||this._redirectNavigator.url).then((function(t){return i.Log.info(\"UserManager.signoutRedirectCallback: successful\"),t}))},e.prototype.signoutPopup=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=Object.assign({},e)).request_type=\"so:p\";var r=e.post_logout_redirect_uri||this.settings.popup_post_logout_redirect_uri||this.settings.post_logout_redirect_uri;return e.post_logout_redirect_uri=r,e.display=\"popup\",e.post_logout_redirect_uri&&(e.state=e.state||{}),this._signout(e,this._popupNavigator,{startUrl:r,popupWindowFeatures:e.popupWindowFeatures||this.settings.popupWindowFeatures,popupWindowTarget:e.popupWindowTarget||this.settings.popupWindowTarget}).then((function(){i.Log.info(\"UserManager.signoutPopup: successful\")}))},e.prototype.signoutPopupCallback=function t(e,r){void 0===r&&\"boolean\"==typeof e&&(r=e,e=null);return this._popupNavigator.callback(e,r,\"?\").then((function(){i.Log.info(\"UserManager.signoutPopupCallback: successful\")}))},e.prototype._signout=function t(e,r){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._signoutStart(e,r,i).then((function(t){return n._signoutEnd(t.url)}))},e.prototype._signoutStart=function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=this,n=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.prepare(o).then((function(t){return i.Log.debug(\"UserManager._signoutStart: got navigator window handle\"),r._loadUser().then((function(n){return i.Log.debug(\"UserManager._signoutStart: loaded current user from storage\"),(r._settings.revokeAccessTokenOnSignout?r._revokeInternal(n):Promise.resolve()).then((function(){var s=e.id_token_hint||n&&n.id_token;return s&&(i.Log.debug(\"UserManager._signoutStart: Setting id_token into signout request\"),e.id_token_hint=s),r.removeUser().then((function(){return i.Log.debug(\"UserManager._signoutStart: user removed, creating signout request\"),r.createSignoutRequest(e).then((function(e){return i.Log.debug(\"UserManager._signoutStart: got signout request\"),o.url=e.url,e.state&&(o.id=e.state.id),t.navigate(o)}))}))}))})).catch((function(e){throw t.close&&(i.Log.debug(\"UserManager._signoutStart: Error after preparing navigator, closing navigator window\"),t.close()),e}))}))},e.prototype._signoutEnd=function t(e){return this.processSignoutResponse(e).then((function(t){return i.Log.debug(\"UserManager._signoutEnd: got signout response\"),t}))},e.prototype.revokeAccessToken=function t(){var e=this;return this._loadUser().then((function(t){return e._revokeInternal(t,!0).then((function(r){if(r)return i.Log.debug(\"UserManager.revokeAccessToken: removing token properties from user and re-storing\"),t.access_token=null,t.refresh_token=null,t.expires_at=null,t.token_type=null,e.storeUser(t).then((function(){i.Log.debug(\"UserManager.revokeAccessToken: user stored\"),e._events.load(t)}))}))})).then((function(){i.Log.info(\"UserManager.revokeAccessToken: access token revoked successfully\")}))},e.prototype._revokeInternal=function t(e,r){var n=this;if(e){var o=e.access_token,s=e.refresh_token;return this._revokeAccessTokenInternal(o,r).then((function(t){return n._revokeRefreshTokenInternal(s,r).then((function(e){return t||e||i.Log.debug(\"UserManager.revokeAccessToken: no need to revoke due to no token(s), or JWT format\"),t||e}))}))}return Promise.resolve(!1)},e.prototype._revokeAccessTokenInternal=function t(e,r){return!e||e.indexOf(\".\")>=0?Promise.resolve(!1):this._tokenRevocationClient.revoke(e,r).then((function(){return!0}))},e.prototype._revokeRefreshTokenInternal=function t(e,r){return e?this._tokenRevocationClient.revoke(e,r,\"refresh_token\").then((function(){return!0})):Promise.resolve(!1)},e.prototype.startSilentRenew=function t(){this._silentRenewService.start()},e.prototype.stopSilentRenew=function t(){this._silentRenewService.stop()},e.prototype._loadUser=function t(){return this._userStore.get(this._userStoreKey).then((function(t){return t?(i.Log.debug(\"UserManager._loadUser: user storageString loaded\"),a.User.fromStorageString(t)):(i.Log.debug(\"UserManager._loadUser: no user storageString\"),null)}))},e.prototype.storeUser=function t(e){if(e){i.Log.debug(\"UserManager.storeUser: storing user\");var r=e.toStorageString();return this._userStore.set(this._userStoreKey,r)}return i.Log.debug(\"storeUser.storeUser: removing user\"),this._userStore.remove(this._userStoreKey)},n(e,[{key:\"_redirectNavigator\",get:function t(){return this.settings.redirectNavigator}},{key:\"_popupNavigator\",get:function t(){return this.settings.popupNavigator}},{key:\"_iframeNavigator\",get:function t(){return this.settings.iframeNavigator}},{key:\"_userStore\",get:function t(){return this.settings.userStore}},{key:\"events\",get:function t(){return this._events}},{key:\"_userStoreKey\",get:function t(){return\"user:\"+this.settings.authority+\":\"+this.settings.client_id}}]),e}(o.OidcClient)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.UserManagerSettings=void 0;var n=function(){function t(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=r.popup_redirect_uri,i=r.popup_post_logout_redirect_uri,g=r.popupWindowFeatures,d=r.popupWindowTarget,p=r.silent_redirect_uri,v=r.silentRequestTimeout,y=r.automaticSilentRenew,m=void 0!==y&&y,_=r.validateSubOnSilentRenew,S=void 0!==_&&_,b=r.includeIdTokenInSilentRenew,w=void 0===b||b,F=r.monitorSession,E=void 0===F||F,x=r.monitorAnonymousSession,A=void 0!==x&&x,k=r.checkSessionInterval,P=void 0===k?2e3:k,C=r.stopCheckSessionOnError,T=void 0===C||C,R=r.query_status_response_type,I=r.revokeAccessTokenOnSignout,D=void 0!==I&&I,L=r.accessTokenExpiringNotificationTime,N=void 0===L?60:L,U=r.redirectNavigator,B=void 0===U?new o.RedirectNavigator:U,O=r.popupNavigator,j=void 0===O?new s.PopupNavigator:O,M=r.iframeNavigator,H=void 0===M?new a.IFrameNavigator:M,V=r.userStore,K=void 0===V?new u.WebStorageStateStore({store:c.Global.sessionStorage}):V;l(this,e);var q=f(this,t.call(this,arguments[0]));return q._popup_redirect_uri=n,q._popup_post_logout_redirect_uri=i,q._popupWindowFeatures=g,q._popupWindowTarget=d,q._silent_redirect_uri=p,q._silentRequestTimeout=v,q._automaticSilentRenew=m,q._validateSubOnSilentRenew=S,q._includeIdTokenInSilentRenew=w,q._accessTokenExpiringNotificationTime=N,q._monitorSession=E,q._monitorAnonymousSession=A,q._checkSessionInterval=P,q._stopCheckSessionOnError=T,R?q._query_status_response_type=R:arguments[0]&&arguments[0].response_type?q._query_status_response_type=h.SigninRequest.isOidc(arguments[0].response_type)?\"id_token\":\"code\":q._query_status_response_type=\"id_token\",q._revokeAccessTokenOnSignout=D,q._redirectNavigator=B,q._popupNavigator=j,q._iframeNavigator=H,q._userStore=K,q}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),n(e,[{key:\"popup_redirect_uri\",get:function t(){return this._popup_redirect_uri}},{key:\"popup_post_logout_redirect_uri\",get:function t(){return this._popup_post_logout_redirect_uri}},{key:\"popupWindowFeatures\",get:function t(){return this._popupWindowFeatures}},{key:\"popupWindowTarget\",get:function t(){return this._popupWindowTarget}},{key:\"silent_redirect_uri\",get:function t(){return this._silent_redirect_uri}},{key:\"silentRequestTimeout\",get:function t(){return this._silentRequestTimeout}},{key:\"automaticSilentRenew\",get:function t(){return this._automaticSilentRenew}},{key:\"validateSubOnSilentRenew\",get:function t(){return this._validateSubOnSilentRenew}},{key:\"includeIdTokenInSilentRenew\",get:function t(){return this._includeIdTokenInSilentRenew}},{key:\"accessTokenExpiringNotificationTime\",get:function t(){return this._accessTokenExpiringNotificationTime}},{key:\"monitorSession\",get:function t(){return this._monitorSession}},{key:\"monitorAnonymousSession\",get:function t(){return this._monitorAnonymousSession}},{key:\"checkSessionInterval\",get:function t(){return this._checkSessionInterval}},{key:\"stopCheckSessionOnError\",get:function t(){return this._stopCheckSessionOnError}},{key:\"query_status_response_type\",get:function t(){return this._query_status_response_type}},{key:\"revokeAccessTokenOnSignout\",get:function t(){return this._revokeAccessTokenOnSignout}},{key:\"redirectNavigator\",get:function t(){return this._redirectNavigator}},{key:\"popupNavigator\",get:function t(){return this._popupNavigator}},{key:\"iframeNavigator\",get:function t(){return this._iframeNavigator}},{key:\"userStore\",get:function t(){return this._userStore}}]),e}(i.OidcClientSettings)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.RedirectNavigator=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1])||arguments[1];n.Log.debug(\"UserManagerEvents.load\"),t.prototype.load.call(this,r),i&&this._userLoaded.raise(r)},e.prototype.unload=function e(){n.Log.debug(\"UserManagerEvents.unload\"),t.prototype.unload.call(this),this._userUnloaded.raise()},e.prototype.addUserLoaded=function t(e){this._userLoaded.addHandler(e)},e.prototype.removeUserLoaded=function t(e){this._userLoaded.removeHandler(e)},e.prototype.addUserUnloaded=function t(e){this._userUnloaded.addHandler(e)},e.prototype.removeUserUnloaded=function t(e){this._userUnloaded.removeHandler(e)},e.prototype.addSilentRenewError=function t(e){this._silentRenewError.addHandler(e)},e.prototype.removeSilentRenewError=function t(e){this._silentRenewError.removeHandler(e)},e.prototype._raiseSilentRenewError=function t(e){n.Log.debug(\"UserManagerEvents._raiseSilentRenewError\",e.message),this._silentRenewError.raise(e)},e.prototype.addUserSignedIn=function t(e){this._userSignedIn.addHandler(e)},e.prototype.removeUserSignedIn=function t(e){this._userSignedIn.removeHandler(e)},e.prototype._raiseUserSignedIn=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSignedIn\"),this._userSignedIn.raise()},e.prototype.addUserSignedOut=function t(e){this._userSignedOut.addHandler(e)},e.prototype.removeUserSignedOut=function t(e){this._userSignedOut.removeHandler(e)},e.prototype._raiseUserSignedOut=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSignedOut\"),this._userSignedOut.raise()},e.prototype.addUserSessionChanged=function t(e){this._userSessionChanged.addHandler(e)},e.prototype.removeUserSessionChanged=function t(e){this._userSessionChanged.removeHandler(e)},e.prototype._raiseUserSessionChanged=function t(){n.Log.debug(\"UserManagerEvents._raiseUserSessionChanged\"),this._userSessionChanged.raise()},e}(i.AccessTokenEvents)},function(t,e,r){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.Timer=void 0;var n=function(){function t(t,e){for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:o.Global.timer,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;a(this,e);var s=u(this,t.call(this,r));return s._timer=n,s._nowFunc=i||function(){return Date.now()/1e3},s}return function r(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,t),e.prototype.init=function t(e){e<=0&&(e=1),e=parseInt(e);var r=this.now+e;if(this.expiration===r&&this._timerHandle)i.Log.debug(\"Timer.init timer \"+this._name+\" skipping initialization since already initialized for expiration:\",this.expiration);else{this.cancel(),i.Log.debug(\"Timer.init timer \"+this._name+\" for duration:\",e),this._expiration=r;var n=5;e [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n var tokens = []\n var key = 0\n var index = 0\n var path = ''\n var defaultDelimiter = options && options.delimiter || '/'\n var res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n var m = res[0]\n var escaped = res[1]\n var offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n var next = str[index]\n var prefix = res[2]\n var name = res[3]\n var capture = res[4]\n var group = res[5]\n var modifier = res[6]\n var asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n var partial = prefix != null && next != null && next !== prefix\n var repeat = modifier === '+' || modifier === '*'\n var optional = modifier === '?' || modifier === '*'\n var delimiter = res[2] || defaultDelimiter\n var pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter: delimiter,\n optional: optional,\n repeat: repeat,\n partial: partial,\n asterisk: !!asterisk,\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nfunction compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str) {\n return encodeURI(str).replace(/[\\/?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURI(str).replace(/[?#]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n var matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (var i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n var path = ''\n var data = obj || {}\n var options = opts || {}\n var encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n var value = data[token.name]\n var segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (isarray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (var j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$\\/()])/g, '\\\\$1')\n}\n\n/**\n * Attach the keys as a property of the regexp.\n *\n * @param {!RegExp} re\n * @param {Array} keys\n * @return {!RegExp}\n */\nfunction attachKeys (re, keys) {\n re.keys = keys\n return re\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\n/**\n * Pull out keys from a regexp.\n *\n * @param {!RegExp} path\n * @param {!Array} keys\n * @return {!RegExp}\n */\nfunction regexpToRegexp (path, keys) {\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g)\n\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: null,\n delimiter: null,\n optional: false,\n repeat: false,\n partial: false,\n asterisk: false,\n pattern: null\n })\n }\n }\n\n return attachKeys(path, keys)\n}\n\n/**\n * Transform an array into a regexp.\n *\n * @param {!Array} path\n * @param {Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction arrayToRegexp (path, keys, options) {\n var parts = []\n\n for (var i = 0; i < path.length; i++) {\n parts.push(pathToRegexp(path[i], keys, options).source)\n }\n\n var regexp = new RegExp('(?:' + parts.join('|') + ')', flags(options))\n\n return attachKeys(regexp, keys)\n}\n\n/**\n * Create a path regexp from string input.\n *\n * @param {string} path\n * @param {!Array} keys\n * @param {!Object} options\n * @return {!RegExp}\n */\nfunction stringToRegexp (path, keys, options) {\n return tokensToRegExp(parse(path, options), keys, options)\n}\n\n/**\n * Expose a function for taking tokens and returning a RegExp.\n *\n * @param {!Array} tokens\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction tokensToRegExp (tokens, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n var strict = options.strict\n var end = options.end !== false\n var route = ''\n\n // Iterate over the tokens and create our regexp string.\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n\n if (typeof token === 'string') {\n route += escapeString(token)\n } else {\n var prefix = escapeString(token.prefix)\n var capture = '(?:' + token.pattern + ')'\n\n keys.push(token)\n\n if (token.repeat) {\n capture += '(?:' + prefix + capture + ')*'\n }\n\n if (token.optional) {\n if (!token.partial) {\n capture = '(?:' + prefix + '(' + capture + '))?'\n } else {\n capture = prefix + '(' + capture + ')?'\n }\n } else {\n capture = prefix + '(' + capture + ')'\n }\n\n route += capture\n }\n }\n\n var delimiter = escapeString(options.delimiter || '/')\n var endsWithDelimiter = route.slice(-delimiter.length) === delimiter\n\n // In non-strict mode we allow a slash at the end of match. If the path to\n // match already ends with a slash, we remove it for consistency. The slash\n // is valid at the end of a path match, not in the middle. This is important\n // in non-ending mode, where \"/test/\" shouldn't match \"/test//route\".\n if (!strict) {\n route = (endsWithDelimiter ? route.slice(0, -delimiter.length) : route) + '(?:' + delimiter + '(?=$))?'\n }\n\n if (end) {\n route += '$'\n } else {\n // In non-ending mode, we need the capturing groups to match as much as\n // possible by using a positive lookahead to the end or next path segment.\n route += strict && endsWithDelimiter ? '' : '(?=' + delimiter + '|$)'\n }\n\n return attachKeys(new RegExp('^' + route, flags(options)), keys)\n}\n\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n *\n * @param {(string|RegExp|Array)} path\n * @param {(Array|Object)=} keys\n * @param {Object=} options\n * @return {!RegExp}\n */\nfunction pathToRegexp (path, keys, options) {\n if (!isarray(keys)) {\n options = /** @type {!Object} */ (keys || options)\n keys = []\n }\n\n options = options || {}\n\n if (path instanceof RegExp) {\n return regexpToRegexp(path, /** @type {!Array} */ (keys))\n }\n\n if (isarray(path)) {\n return arrayToRegexp(/** @type {!Array} */ (path), /** @type {!Array} */ (keys), options)\n }\n\n return stringToRegexp(/** @type {string} */ (path), /** @type {!Array} */ (keys), options)\n}\n","import { KeyCodes } from './KeyCodes';\nimport { getDocument } from './dom/getDocument';\nimport { getItem, setItem } from './sessionStorage';\nimport { setRTL as mergeStylesSetRTL } from '@fluentui/merge-styles';\n\nconst RTL_LOCAL_STORAGE_KEY = 'isRTL';\n\n// Default to undefined so that we initialize on first read.\nlet _isRTL: boolean | undefined;\n\n/**\n * Gets the rtl state of the page (returns true if in rtl.)\n */\nexport function getRTL(theme: { rtl?: boolean } = {}): boolean {\n if (theme.rtl !== undefined) {\n return theme.rtl;\n }\n if (_isRTL === undefined) {\n // Fabric supports persisting the RTL setting between page refreshes via session storage\n let savedRTL = getItem(RTL_LOCAL_STORAGE_KEY);\n if (savedRTL !== null) {\n _isRTL = savedRTL === '1';\n setRTL(_isRTL);\n }\n\n let doc = getDocument();\n if (_isRTL === undefined && doc) {\n _isRTL = ((doc.body && doc.body.getAttribute('dir')) || doc.documentElement.getAttribute('dir')) === 'rtl';\n mergeStylesSetRTL(_isRTL);\n }\n }\n\n return !!_isRTL;\n}\n\n/**\n * Sets the rtl state of the page (by adjusting the dir attribute of the html element.)\n */\nexport function setRTL(isRTL: boolean, persistSetting: boolean = false): void {\n let doc = getDocument();\n if (doc) {\n doc.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');\n }\n\n if (persistSetting) {\n setItem(RTL_LOCAL_STORAGE_KEY, isRTL ? '1' : '0');\n }\n\n _isRTL = isRTL;\n mergeStylesSetRTL(_isRTL);\n}\n\n/**\n * Returns the given key, but flips right/left arrows if necessary.\n */\nexport function getRTLSafeKeyCode(key: number, theme: { rtl?: boolean } = {}): number {\n if (getRTL(theme)) {\n if (key === KeyCodes.left) {\n key = KeyCodes.right;\n } else if (key === KeyCodes.right) {\n key = KeyCodes.left;\n }\n }\n\n return key;\n}\n","import * as React from 'react';\nimport { classNames, MS_ICON } from './Icon.styles';\nimport { css, getNativeProps, htmlElementProperties, memoizeFunction } from '../../Utilities';\nimport { getIcon } from '../../Styling';\nimport type { IFontIconProps } from './Icon.types';\nimport type { IIconRecord, IIconSubsetRecord } from '../../Styling';\n\nexport interface IIconContent {\n children?: string | JSX.Element;\n iconClassName?: string;\n fontFamily?: string;\n mergeImageProps?: boolean;\n}\n\nexport const getIconContent = memoizeFunction(\n (iconName?: string): IIconContent | null => {\n const { code, subset }: Pick & { subset: Partial } = getIcon(iconName) || {\n subset: {},\n code: undefined,\n };\n\n if (!code) {\n return null;\n }\n\n return {\n children: code,\n iconClassName: subset.className,\n fontFamily: subset.fontFace && subset.fontFace.fontFamily,\n mergeImageProps: subset.mergeImageProps,\n };\n },\n undefined,\n true /*ignoreNullOrUndefinedResult */,\n);\n\n/**\n * Fast icon component which only supports font glyphs (not images) and can't be targeted by customizations.\n * To style the icon, use `className` or reference `ms-Icon` in CSS.\n * {@docCategory Icon}\n */\nexport const FontIcon: React.FunctionComponent = props => {\n const { iconName, className, style = {} } = props;\n const iconContent = getIconContent(iconName) || {};\n const { iconClassName, children, fontFamily, mergeImageProps } = iconContent;\n\n const nativeProps = getNativeProps>(props, htmlElementProperties);\n const accessibleName = props['aria-label'] || props.title;\n const containerProps =\n props['aria-label'] || props['aria-labelledby'] || props.title\n ? {\n role: mergeImageProps ? undefined : 'img',\n }\n : {\n 'aria-hidden': true,\n };\n\n let finalChildren = children;\n\n if (mergeImageProps) {\n if (typeof children === 'object' && typeof children.props === 'object' && accessibleName) {\n finalChildren = React.cloneElement(children, { alt: accessibleName });\n }\n }\n\n return (\n \n {finalChildren}\n \n );\n};\n\n/**\n * Memoized helper for rendering a FontIcon.\n * @param iconName - The name of the icon to use from the icon font.\n * @param className - Class name for styling the icon.\n * @param ariaLabel - Label for the icon for the benefit of screen readers.\n * {@docCategory Icon}\n */\nexport const getFontIcon = memoizeFunction((iconName: string, className?: string, ariaLabel?: string) => {\n return FontIcon({ iconName, className, 'aria-label': ariaLabel });\n});\n","import { warn } from './warn';\nimport type { ISettingsMap } from './warn';\n\n/**\n * Warns when a deprecated props are being used.\n *\n * @public\n * @param componentName - The name of the component being used.\n * @param props - The props passed into the component.\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\n * either null or a replacement prop name.\n */\nexport function warnDeprecations

(componentName: string, props: P, deprecationMap: ISettingsMap

): void {\n if (process.env.NODE_ENV !== 'production') {\n for (const propName in deprecationMap) {\n if (props && propName in props) {\n let deprecationMessage = `${componentName} property '${propName}' was used but has been deprecated.`;\n const replacementPropName = deprecationMap[propName];\n if (replacementPropName) {\n deprecationMessage += ` Use '${replacementPropName}' instead.`;\n }\n warn(deprecationMessage);\n }\n }\n }\n}\n","import { getWindow } from './dom/getWindow';\nimport { Stylesheet } from '@fluentui/merge-styles';\n\n// Initialize global window id.\nconst CURRENT_ID_PROPERTY = '__currentId__';\nconst DEFAULT_ID_STRING = 'id__';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nlet _global: any = getWindow() || {};\n\nif (_global[CURRENT_ID_PROPERTY] === undefined) {\n _global[CURRENT_ID_PROPERTY] = 0;\n}\n\nlet _initializedStylesheetResets = false;\n\n/**\n * Generates a unique id in the global scope (this spans across duplicate copies of the same library.)\n *\n * @public\n */\nexport function getId(prefix?: string): string {\n if (!_initializedStylesheetResets) {\n // Configure ids to reset on stylesheet resets.\n const stylesheet = Stylesheet.getInstance();\n\n if (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(resetIds);\n }\n _initializedStylesheetResets = true;\n }\n\n let index = _global[CURRENT_ID_PROPERTY]++;\n\n return (prefix === undefined ? DEFAULT_ID_STRING : prefix) + index;\n}\n\n/**\n * Resets id counter to an (optional) number.\n *\n * @public\n */\nexport function resetIds(counter: number = 0): void {\n _global[CURRENT_ID_PROPERTY] = counter;\n}\n","export const DATA_PORTAL_ATTRIBUTE = 'data-portal-element';\n\n/**\n * Identify element as a portal by setting an attribute.\n * @param element - Element to mark as a portal.\n */\nexport function setPortalAttribute(element: HTMLElement): void {\n element.setAttribute(DATA_PORTAL_ATTRIBUTE, 'true');\n}\n","import * as React from 'react';\nimport { BaseDecorator } from './BaseDecorator';\nimport { getWindow, hoistStatics, EventGroup } from '../../Utilities';\nimport { WindowContext } from '../../WindowProvider';\n\n/**\n * @deprecated Decorator usage is deprecated. Either call `getResponsiveMode` manually, or\n * use the `useResponsiveMode` hook within a function component.\n */\nexport interface IWithResponsiveModeState {\n responsiveMode?: ResponsiveMode;\n}\n\nexport enum ResponsiveMode {\n /** Width \\<= 479px */\n small = 0,\n /** Width \\> 479px and \\<= 639px */\n medium = 1,\n /** Width \\> 639px and \\<= 1023px */\n large = 2,\n /** Width \\> 1023px and \\<= 1365px */\n xLarge = 3,\n /** Width \\> 1365px and \\<= 1919px */\n xxLarge = 4,\n /** Width \\> 1919px */\n xxxLarge = 5,\n unknown = 999,\n}\n\nconst RESPONSIVE_MAX_CONSTRAINT = [479, 639, 1023, 1365, 1919, 99999999];\n\n/**\n * User specified mode to default to, useful for server side rendering scenarios.\n */\nlet _defaultMode: ResponsiveMode | undefined;\n\n/**\n * Tracking the last mode we successfully rendered, which allows us to\n * paint initial renders with the correct size.\n */\nlet _lastMode: ResponsiveMode | undefined;\n\n/**\n * Allows a server rendered scenario to provide a **default** responsive mode.\n * This WILL NOT trigger any updates to components that have already consumed the responsive mode!\n */\nexport function setResponsiveMode(responsiveMode: ResponsiveMode | undefined): void {\n _defaultMode = responsiveMode;\n}\n\n/**\n * Initializes the responsive mode to the current window size. This can be used to avoid\n * a re-render during first component mount since the window would otherwise not be measured\n * until after mounting.\n *\n * This WILL NOT trigger any updates to components that have already consumed the responsive mode!\n */\nexport function initializeResponsiveMode(element?: HTMLElement): void {\n const currentWindow = getWindow(element);\n\n if (currentWindow) {\n getResponsiveMode(currentWindow);\n }\n}\n\nexport function getInitialResponsiveMode(): ResponsiveMode {\n return _defaultMode ?? _lastMode ?? ResponsiveMode.large;\n}\n\n/**\n * @deprecated Decorator usage is deprecated. Either call `getResponsiveMode` manually, or\n * use the `useResponsiveMode` hook within a function component.\n */\nexport function withResponsiveMode(\n ComposedComponent: new (props: TProps, ...args: any[]) => React.Component,\n): any {\n // eslint-disable-next-line deprecation/deprecation\n const resultClass = class WithResponsiveMode extends BaseDecorator {\n public static contextType = WindowContext;\n public context: React.ContextType;\n\n private _events: EventGroup;\n\n constructor(props: TProps) {\n super(props);\n this._events = new EventGroup(this);\n this._updateComposedComponentRef = this._updateComposedComponentRef.bind(this);\n\n this.state = {\n responsiveMode: getInitialResponsiveMode(),\n };\n }\n\n public componentDidMount(): void {\n this._events.on(this.context.window, 'resize', this._onResize);\n this._onResize();\n }\n\n public componentWillUnmount(): void {\n this._events.dispose();\n }\n\n public render(): JSX.Element | null {\n const { responsiveMode } = this.state;\n\n return responsiveMode === ResponsiveMode.unknown ? null : (\n \n );\n }\n\n private _onResize = () => {\n const responsiveMode = getResponsiveMode(this.context.window);\n\n if (responsiveMode !== this.state.responsiveMode) {\n this.setState({\n responsiveMode,\n });\n }\n };\n };\n return hoistStatics(ComposedComponent, resultClass);\n}\n\n/**\n * Hook to get the current responsive mode (window size category).\n * @param currentWindow - Use this window when determining the responsive mode.\n */\nexport function getResponsiveMode(currentWindow: Window | undefined): ResponsiveMode {\n let responsiveMode = ResponsiveMode.small;\n\n if (currentWindow) {\n try {\n while (currentWindow.innerWidth > RESPONSIVE_MAX_CONSTRAINT[responsiveMode]) {\n responsiveMode++;\n }\n } catch (e) {\n // Return a best effort result in cases where we're in the browser but it throws on getting innerWidth.\n responsiveMode = getInitialResponsiveMode();\n }\n\n // Tracking last mode just gives us a better default in future renders,\n // which avoids starting with the wrong value if we've measured once.\n _lastMode = responsiveMode;\n } else {\n if (_defaultMode !== undefined) {\n responsiveMode = _defaultMode;\n } else {\n throw new Error(\n 'Content was rendered in a server environment without providing a default responsive mode. ' +\n 'Call setResponsiveMode to define what the responsive mode is.',\n );\n }\n }\n\n return responsiveMode;\n}\n","/**\n * Allows you to hoist static functions in components.\n * Created for the purpose of fixing broken static functions in classes\n * that utilize decorators.\n *\n * @public\n * @param source - The object where the methods are hoisted from.\n * @param dest - The object to hoist the methods onto.\n * @returns The dest object with methods added\n */\n\nexport function hoistStatics(source: TSource, dest: TDest): TDest {\n for (const name in source) {\n if (source.hasOwnProperty(name)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (dest as any)[name] = source[name];\n }\n }\n\n return dest;\n}\n","import { getWindow } from './dom/getWindow';\n\ndeclare function setTimeout(cb: Function, delay: number): number;\ndeclare function setInterval(cb: Function, delay: number): number;\n\n/**\n * Bugs often appear in async code when stuff gets disposed, but async operations don't get canceled.\n * This Async helper class solves these issues by tying async code to the lifetime of a disposable object.\n *\n * Usage: Anything class extending from BaseModel can access this helper via this.async. Otherwise create a\n * new instance of the class and remember to call dispose() during your code's dispose handler.\n *\n * @public\n */\nexport class Async {\n private _timeoutIds: { [id: number]: boolean } | null = null;\n private _immediateIds: { [id: number]: boolean } | null = null;\n private _intervalIds: { [id: number]: boolean } | null = null;\n private _animationFrameIds: { [id: number]: boolean } | null = null;\n private _isDisposed: boolean;\n private _parent: object | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _onErrorHandler: ((e: any) => void) | undefined;\n private _noop: () => void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(parent?: object, onError?: (e: any) => void) {\n this._isDisposed = false;\n this._parent = parent || null;\n this._onErrorHandler = onError;\n this._noop = () => {\n /* do nothing */\n };\n }\n\n /**\n * Dispose function, clears all async operations.\n */\n public dispose(): void {\n let id;\n\n this._isDisposed = true;\n this._parent = null;\n\n // Clear timeouts.\n if (this._timeoutIds) {\n for (id in this._timeoutIds) {\n if (this._timeoutIds.hasOwnProperty(id)) {\n this.clearTimeout(parseInt(id, 10));\n }\n }\n\n this._timeoutIds = null;\n }\n\n // Clear immediates.\n if (this._immediateIds) {\n for (id in this._immediateIds) {\n if (this._immediateIds.hasOwnProperty(id)) {\n this.clearImmediate(parseInt(id, 10));\n }\n }\n\n this._immediateIds = null;\n }\n\n // Clear intervals.\n if (this._intervalIds) {\n for (id in this._intervalIds) {\n if (this._intervalIds.hasOwnProperty(id)) {\n this.clearInterval(parseInt(id, 10));\n }\n }\n this._intervalIds = null;\n }\n\n // Clear animation frames.\n if (this._animationFrameIds) {\n for (id in this._animationFrameIds) {\n if (this._animationFrameIds.hasOwnProperty(id)) {\n this.cancelAnimationFrame(parseInt(id, 10));\n }\n }\n\n this._animationFrameIds = null;\n }\n }\n\n /**\n * SetTimeout override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n public setTimeout(callback: () => void, duration: number): number {\n let timeoutId = 0;\n\n if (!this._isDisposed) {\n if (!this._timeoutIds) {\n this._timeoutIds = {};\n }\n\n timeoutId = setTimeout(() => {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n\n try {\n // Now delete the record and call the callback.\n if (this._timeoutIds) {\n delete this._timeoutIds[timeoutId];\n }\n callback.apply(this._parent);\n } catch (e) {\n this._logError(e);\n }\n }, duration);\n\n this._timeoutIds[timeoutId] = true;\n }\n\n return timeoutId;\n }\n\n /**\n * Clears the timeout.\n * @param id - Id to cancel.\n */\n public clearTimeout(id: number): void {\n if (this._timeoutIds && this._timeoutIds[id]) {\n clearTimeout(id);\n delete this._timeoutIds[id];\n }\n }\n\n /**\n * SetImmediate override, which will auto cancel the immediate during dispose.\n * @param callback - Callback to execute.\n * @param targetElement - Optional target element to use for identifying the correct window.\n * @returns The setTimeout id.\n */\n public setImmediate(callback: () => void, targetElement?: Element | null): number {\n let immediateId = 0;\n const win = getWindow(targetElement)!;\n\n if (!this._isDisposed) {\n if (!this._immediateIds) {\n this._immediateIds = {};\n }\n\n let setImmediateCallback = () => {\n // Time to execute the timeout, enqueue it as a foreground task to be executed.\n\n try {\n // Now delete the record and call the callback.\n if (this._immediateIds) {\n delete this._immediateIds[immediateId];\n }\n callback.apply(this._parent);\n } catch (e) {\n this._logError(e);\n }\n };\n\n immediateId = win.setTimeout(setImmediateCallback, 0);\n\n this._immediateIds[immediateId] = true;\n }\n\n return immediateId;\n }\n\n /**\n * Clears the immediate.\n * @param id - Id to cancel.\n * @param targetElement - Optional target element to use for identifying the correct window.\n */\n public clearImmediate(id: number, targetElement?: Element | null): void {\n const win = getWindow(targetElement)!;\n\n if (this._immediateIds && this._immediateIds[id]) {\n win.clearTimeout(id);\n delete this._immediateIds[id];\n }\n }\n\n /**\n * SetInterval override, which will auto cancel the timeout during dispose.\n * @param callback - Callback to execute.\n * @param duration - Duration in milliseconds.\n * @returns The setTimeout id.\n */\n public setInterval(callback: () => void, duration: number): number {\n let intervalId = 0;\n\n if (!this._isDisposed) {\n if (!this._intervalIds) {\n this._intervalIds = {};\n }\n\n intervalId = setInterval(() => {\n // Time to execute the interval callback, enqueue it as a foreground task to be executed.\n try {\n callback.apply(this._parent);\n } catch (e) {\n this._logError(e);\n }\n }, duration);\n\n this._intervalIds[intervalId] = true;\n }\n\n return intervalId;\n }\n\n /**\n * Clears the interval.\n * @param id - Id to cancel.\n */\n public clearInterval(id: number): void {\n if (this._intervalIds && this._intervalIds[id]) {\n clearInterval(id);\n delete this._intervalIds[id];\n }\n }\n\n /**\n * Creates a function that, when executed, will only call the func function at most once per\n * every wait milliseconds. Provide an options object to indicate that func should be invoked\n * on the leading and/or trailing edge of the wait timeout. Subsequent calls to the throttled\n * function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the throttled function is invoked more than once during the wait timeout.\n *\n * @param func - The function to throttle.\n * @param wait - The number of milliseconds to throttle executions to. Defaults to 0.\n * @param options - The options object.\n * @returns The new throttled function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public throttle any>(\n func: T,\n wait?: number,\n options?: {\n leading?: boolean;\n trailing?: boolean;\n },\n ): T {\n if (this._isDisposed) {\n return this._noop as T;\n }\n\n let waitMS = wait || 0;\n let leading = true;\n let trailing = true;\n let lastExecuteTime = 0;\n let lastResult: T;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let lastArgs: any[];\n let timeoutId: number | null = null;\n\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n\n let callback = (userCall?: boolean) => {\n let now = Date.now();\n let delta = now - lastExecuteTime;\n let waitLength = leading ? waitMS - delta : waitMS;\n if (delta >= waitMS && (!userCall || leading)) {\n lastExecuteTime = now;\n if (timeoutId) {\n this.clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastResult = func.apply(this._parent, lastArgs);\n } else if (timeoutId === null && trailing) {\n timeoutId = this.setTimeout(callback, waitLength);\n }\n\n return lastResult;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let resultFunction = ((...args: any[]): any => {\n lastArgs = args;\n return callback(true);\n }) as T;\n\n return resultFunction;\n }\n\n /**\n * Creates a function that will delay the execution of func until after wait milliseconds have\n * elapsed since the last time it was invoked. Provide an options object to indicate that func\n * should be invoked on the leading and/or trailing edge of the wait timeout. Subsequent calls\n * to the debounced function will return the result of the last func call.\n *\n * Note: If leading and trailing options are true func will be called on the trailing edge of\n * the timeout only if the debounced function is invoked more than once during the wait\n * timeout.\n *\n * @param func - The function to debounce.\n * @param wait - The number of milliseconds to delay.\n * @param options - The options object.\n * @returns The new debounced function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public debounce any>(\n func: T,\n wait?: number,\n options?: {\n leading?: boolean;\n maxWait?: number;\n trailing?: boolean;\n },\n ): ICancelable & T {\n if (this._isDisposed) {\n let noOpFunction = (() => {\n /** Do nothing */\n }) as ICancelable & T;\n\n noOpFunction.cancel = () => {\n return;\n };\n noOpFunction.flush = ((() => null) as unknown) as () => ReturnType;\n noOpFunction.pending = () => false;\n\n return noOpFunction;\n }\n\n let waitMS = wait || 0;\n let leading = false;\n let trailing = true;\n let maxWait: number | null = null;\n let lastCallTime = 0;\n let lastExecuteTime = Date.now();\n let lastResult: ReturnType;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let lastArgs: any[];\n let timeoutId: number | null = null;\n\n if (options && typeof options.leading === 'boolean') {\n leading = options.leading;\n }\n\n if (options && typeof options.trailing === 'boolean') {\n trailing = options.trailing;\n }\n\n if (options && typeof options.maxWait === 'number' && !isNaN(options.maxWait)) {\n maxWait = options.maxWait;\n }\n\n let markExecuted = (time: number) => {\n if (timeoutId) {\n this.clearTimeout(timeoutId);\n timeoutId = null;\n }\n lastExecuteTime = time;\n };\n\n let invokeFunction = (time: number) => {\n markExecuted(time);\n lastResult = func.apply(this._parent, lastArgs);\n };\n\n let callback = (userCall?: boolean) => {\n let now = Date.now();\n let executeImmediately = false;\n if (userCall) {\n if (leading && now - lastCallTime >= waitMS) {\n executeImmediately = true;\n }\n lastCallTime = now;\n }\n let delta = now - lastCallTime;\n let waitLength = waitMS - delta;\n let maxWaitDelta = now - lastExecuteTime;\n let maxWaitExpired = false;\n\n if (maxWait !== null) {\n // maxWait only matters when there is a pending callback\n if (maxWaitDelta >= maxWait && timeoutId) {\n maxWaitExpired = true;\n } else {\n waitLength = Math.min(waitLength, maxWait - maxWaitDelta);\n }\n }\n\n if (delta >= waitMS || maxWaitExpired || executeImmediately) {\n invokeFunction(now);\n } else if ((timeoutId === null || !userCall) && trailing) {\n timeoutId = this.setTimeout(callback, waitLength);\n }\n\n return lastResult;\n };\n\n let pending = (): boolean => {\n return !!timeoutId;\n };\n\n let cancel = (): void => {\n if (pending()) {\n // Mark the debounced function as having executed\n markExecuted(Date.now());\n }\n };\n\n let flush = () => {\n if (pending()) {\n invokeFunction(Date.now());\n }\n\n return lastResult;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let resultFunction = ((...args: any[]) => {\n lastArgs = args;\n return callback(true);\n }) as ICancelable & T;\n\n resultFunction.cancel = cancel;\n resultFunction.flush = flush;\n resultFunction.pending = pending;\n\n return resultFunction;\n }\n\n public requestAnimationFrame(callback: () => void, targetElement?: Element | null): number {\n let animationFrameId = 0;\n const win = getWindow(targetElement)!;\n\n if (!this._isDisposed) {\n if (!this._animationFrameIds) {\n this._animationFrameIds = {};\n }\n\n let animationFrameCallback = () => {\n try {\n // Now delete the record and call the callback.\n if (this._animationFrameIds) {\n delete this._animationFrameIds[animationFrameId];\n }\n\n callback.apply(this._parent);\n } catch (e) {\n this._logError(e);\n }\n };\n\n animationFrameId = win.requestAnimationFrame\n ? win.requestAnimationFrame(animationFrameCallback)\n : win.setTimeout(animationFrameCallback, 0);\n\n this._animationFrameIds[animationFrameId] = true;\n }\n\n return animationFrameId;\n }\n\n public cancelAnimationFrame(id: number, targetElement?: Element | null): void {\n const win = getWindow(targetElement)!;\n\n if (this._animationFrameIds && this._animationFrameIds[id]) {\n win.cancelAnimationFrame ? win.cancelAnimationFrame(id) : win.clearTimeout(id);\n delete this._animationFrameIds[id];\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected _logError(e: any): void {\n if (this._onErrorHandler) {\n this._onErrorHandler(e);\n }\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type ICancelable any> = {\n flush: () => ReturnType;\n cancel: () => void;\n pending: () => boolean;\n};\n","import * as React from 'react';\nimport { TooltipHostBase } from './TooltipHost.base';\nimport { TooltipDelay } from './Tooltip.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport type { ITooltipProps } from './Tooltip.types';\nimport type { ICalloutProps } from '../../Callout';\nimport type { IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport type { IStyle, ITheme } from '../../Styling';\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHost {\n /**\n * Shows the tooltip.\n */\n show: () => void;\n\n /**\n * Dismisses the tooltip.\n */\n dismiss: () => void;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport enum TooltipOverflowMode {\n /** Only show tooltip if parent DOM element is overflowing */\n Parent,\n\n /**\n * Only show tooltip if tooltip host's content is overflowing.\n * Note that this does not check the children for overflow, only the TooltipHost root.\n */\n Self,\n}\n\n/**\n * TooltipHost props. Note that native props (such as `id`, `className`, and `aria-` props) are\n * passed through to the Tooltip itself, rather than being used on the host element.\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHostProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the ITooltipHost interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Additional properties to pass through for Callout.\n */\n calloutProps?: ICalloutProps;\n\n /**\n * Number of milliseconds to delay closing the tooltip, so that the user has time to hover over\n * the tooltip and interact with it. Hovering over the tooltip will count as hovering over the\n * host, so that the tooltip will stay open if the user is actively interacting with it.\n */\n closeDelay?: number;\n\n /**\n * Content to display in the Tooltip.\n */\n content?: string | JSX.Element | JSX.Element[];\n\n /**\n * Length of delay before showing the tooltip on hover.\n * @defaultvalue TooltipDelay.medium\n */\n delay?: TooltipDelay;\n\n /**\n * How the tooltip should be anchored to its `targetElement`.\n * @defaultvalue DirectionalHint.topCenter\n */\n directionalHint?: DirectionalHint;\n\n /**\n * How the element should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used.\n */\n directionalHintForRTL?: DirectionalHint;\n\n /**\n * Class name to apply to tooltip host.\n */\n hostClassName?: string;\n\n /**\n * Class name to apply to the *tooltip itself*, not the host.\n * To apply a class to the host, use `hostClassName` or `styles.root`.\n */\n className?: string;\n\n /**\n * If this is unset (the default), the tooltip is always shown even if there's no overflow.\n *\n * If set, only show the tooltip if the specified element (`Self` or `Parent`) has overflow.\n * When set to `Parent`, the parent element is also used as the tooltip's target element.\n *\n * Note that even with `Self` mode, the TooltipHost *does not* check whether any children have overflow.\n */\n overflowMode?: TooltipOverflowMode;\n\n /**\n * Whether or not to mark the TooltipHost root element as described by the tooltip.\n * Since this applies aria-describedby to a generic

, the description will not be\n * read by screen readers. Instead, the caller should pass an `id` to the TooltipHost\n * (to be passed through to the Tooltip) and mark the appropriate element as `aria-describedby`\n * with the `id`.\n * @defaultvalue true\n * @deprecated use aria-describedby on the appropriate element instead\n */\n setAriaDescribedBy?: boolean;\n\n /**\n * Additional properties to pass through for Tooltip.\n */\n tooltipProps?: ITooltipProps;\n\n /**\n * Optional ID to pass through to the tooltip (not used on the host itself).\n * Auto-generated if not provided.\n */\n id?: string;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n\n /**\n * Theme provided by higher-order component.\n */\n theme?: ITheme;\n\n /**\n * Notifies when tooltip becomes visible or hidden, whatever the trigger was.\n */\n onTooltipToggle?(isTooltipVisible: boolean): void;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHostStyleProps {\n theme: ITheme;\n className?: string;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipHostStyles {\n /**\n * Style for the host wrapper element.\n */\n root: IStyle;\n}\n","import { getGlobalClassNames } from '../../../Styling';\nimport type { IStackItemComponent, IStackItemStyles, IStackItemStylesReturnType } from './StackItem.types';\n\nconst GlobalClassNames = {\n root: 'ms-StackItem',\n};\n\nconst alignMap: { [key: string]: string } = {\n start: 'flex-start',\n end: 'flex-end',\n};\n\nexport const StackItemStyles: IStackItemComponent['styles'] = (props, theme, tokens): IStackItemStylesReturnType => {\n const { grow, shrink, disableShrink, align, verticalFill, order, className } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n {\n margin: tokens.margin,\n padding: tokens.padding,\n height: verticalFill ? '100%' : 'auto',\n width: 'auto',\n },\n grow && { flexGrow: grow === true ? 1 : grow },\n (disableShrink || (!grow && !shrink)) && {\n flexShrink: 0,\n },\n shrink &&\n !disableShrink && {\n flexShrink: 1,\n },\n align && {\n alignSelf: alignMap[align] || align,\n },\n order && {\n order: order,\n },\n className,\n ],\n // TODO: this cast may be hiding some potential issues with styling and name\n // lookups and should be removed\n } as IStackItemStyles;\n};\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties } from '../../../Utilities';\nimport { StackItemStyles as styles } from './StackItem.styles';\nimport type { IStackItemComponent, IStackItemProps, IStackItemSlots } from './StackItem.types';\n\nconst StackItemView: IStackItemComponent['view'] = props => {\n const { children } = props;\n const nativeProps = getNativeProps>(props, htmlElementProperties);\n // eslint-disable-next-line eqeqeq\n if (children == null) {\n return null;\n }\n\n const Slots = getSlots(props, {\n root: 'div',\n });\n\n return {children};\n};\n\nexport const StackItem: React.FunctionComponent = createComponent(StackItemView, {\n displayName: 'StackItem',\n styles,\n});\n\nexport default StackItem;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nimport { tuple } from '../_util/type';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nvar RowAligns = tuple('top', 'middle', 'bottom', 'stretch');\nvar RowJustify = tuple('start', 'end', 'center', 'space-around', 'space-between');\nvar Row = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var customizePrefixCls = props.prefixCls,\n justify = props.justify,\n align = props.align,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$gutter = props.gutter,\n gutter = _props$gutter === void 0 ? 0 : _props$gutter,\n wrap = props.wrap,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var _React$useState = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n screens = _React$useState2[0],\n setScreens = _React$useState2[1];\n\n var supportFlexGap = useFlexGapSupport();\n var gutterRef = React.useRef(gutter); // ================================== Effect ==================================\n\n React.useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (screen) {\n var currentGutter = gutterRef.current || 0;\n\n if (!Array.isArray(currentGutter) && _typeof(currentGutter) === 'object' || Array.isArray(currentGutter) && (_typeof(currentGutter[0]) === 'object' || _typeof(currentGutter[1]) === 'object')) {\n setScreens(screen);\n }\n });\n return function () {\n return ResponsiveObserve.unsubscribe(token);\n };\n }, []); // ================================== Render ==================================\n\n var getGutter = function getGutter() {\n var results = [0, 0];\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, 0];\n normalizedGutter.forEach(function (g, index) {\n if (_typeof(g) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g || 0;\n }\n });\n return results;\n };\n\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n var gutters = getGutter();\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-no-wrap\"), wrap === false), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(justify), justify), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(align), align), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className); // Add gutter related style\n\n var rowStyle = {};\n var horizontalGutter = gutters[0] > 0 ? gutters[0] / -2 : undefined;\n var verticalGutter = gutters[1] > 0 ? gutters[1] / -2 : undefined;\n\n if (horizontalGutter) {\n rowStyle.marginLeft = horizontalGutter;\n rowStyle.marginRight = horizontalGutter;\n }\n\n if (supportFlexGap) {\n // Set gap direct if flex gap support\n var _gutters = _slicedToArray(gutters, 2);\n\n rowStyle.rowGap = _gutters[1];\n } else if (verticalGutter) {\n rowStyle.marginTop = verticalGutter;\n rowStyle.marginBottom = verticalGutter;\n }\n\n var rowContext = React.useMemo(function () {\n return {\n gutter: gutters,\n wrap: wrap,\n supportFlexGap: supportFlexGap\n };\n }, [gutters, wrap, supportFlexGap]);\n return /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: rowContext\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes,\n style: _extends(_extends({}, rowStyle), style),\n ref: ref\n }), children));\n});\nRow.displayName = 'Row';\nexport default Row;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { detectFlexGapSupported } from '../styleChecker';\nexport default (function () {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n flexible = _React$useState2[0],\n setFlexible = _React$useState2[1];\n\n React.useEffect(function () {\n setFlexible(detectFlexGapSupported());\n }, []);\n return flexible;\n});","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN, R.partial\n * @example\n *\n * const addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * const curriedAddFourNumbers = R.curry(addFourNumbers);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curry =\n/*#__PURE__*/\n_curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});\n\nexport default curry;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.whereEq`](#whereEq).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond'};\n * const fred = {name: 'Fred', age: 12, hair: 'brown'};\n * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * const alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * const kids = [abby, fred, rusty, alois];\n * const hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\n\nvar propEq =\n/*#__PURE__*/\n_curry3(function propEq(name, val, obj) {\n return equals(val, obj[name]);\n});\n\nexport default propEq;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\n\nvar is =\n/*#__PURE__*/\n_curry2(function is(Ctor, val) {\n return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\n\nexport default is;","import * as React from 'react';\n\n/**\n * Props for the WindowProvider component.\n */\nexport type WindowProviderProps = {\n /**\n * Provide the active window.\n */\n window: Window | undefined;\n};\n\n/**\n * Context for providing the window.\n */\nexport const WindowContext = React.createContext({\n window: typeof window === 'object' ? window : undefined,\n});\n\n/**\n * Hook to access the window object. This can be overridden contextually using the `WindowProvider`.\n */\nexport const useWindow = (): Window | undefined => React.useContext(WindowContext).window;\n\n/**\n * Hook to access the document object. This can be overridden contextually using the `WindowProvider`.\n */\nexport const useDocument = (): Document | undefined => React.useContext(WindowContext).window?.document;\n\n/**\n * Component to provide the window object contextually. This is useful when rendering content to an element\n * contained within a child window or iframe element, where event handlers and styling must be projected\n * to an alternative window or document.\n */\nexport const WindowProvider: React.FunctionComponent = props => {\n return {props.children};\n};\n","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindIndex =\n/*#__PURE__*/\nfunction () {\n function XFindIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.found = false;\n }\n\n XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindIndex.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, -1);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n }\n\n return result;\n };\n\n return XFindIndex;\n}();\n\nvar _xfindIndex =\n/*#__PURE__*/\n_curry2(function _xfindIndex(f, xf) {\n return new XFindIndex(f, xf);\n});\n\nexport default _xfindIndex;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindIndex from \"./internal/_xfindIndex.js\";\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.findIndex(R.propEq('a', 2))(xs); //=> 1\n * R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\n\nvar findIndex =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (fn(list[idx])) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}));\n\nexport default findIndex;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.SizeContextProvider = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar SizeContext = /*#__PURE__*/React.createContext(undefined);\n\nvar SizeContextProvider = function SizeContextProvider(_ref) {\n var children = _ref.children,\n size = _ref.size;\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (originSize) {\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n });\n};\n\nexports.SizeContextProvider = SizeContextProvider;\nvar _default = SizeContext;\nexports[\"default\"] = _default;","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","import { HighContrastSelector, concatStyleSets, getFocusStyle, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport type { IButtonStyles } from '../Button.types';\nimport type { ITheme, IStyle } from '../../../Styling';\n\nexport const getStyles = memoizeFunction(\n (theme: ITheme, customStyles?: IButtonStyles): IButtonStyles => {\n const { effects, palette, semanticColors } = theme;\n\n const buttonHighContrastFocus = {\n left: -2,\n top: -2,\n bottom: -2,\n right: -2,\n border: 'none',\n };\n\n const splitButtonDividerBaseStyles: IStyle = {\n position: 'absolute',\n width: 1,\n right: 31,\n top: 8,\n bottom: 8,\n };\n\n const splitButtonStyles: IButtonStyles = {\n splitButtonContainer: [\n getFocusStyle(theme, { highContrastStyle: buttonHighContrastFocus, inset: 2 }),\n {\n display: 'inline-flex',\n selectors: {\n '.ms-Button--default': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n borderRight: 'none',\n },\n '.ms-Button--primary': {\n borderTopRightRadius: '0',\n borderBottomRightRadius: '0',\n border: 'none',\n\n selectors: {\n [HighContrastSelector]: {\n color: 'WindowText',\n backgroundColor: 'Window',\n border: '1px solid WindowText',\n borderRightWidth: '0',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n '.ms-Button--primary + .ms-Button': {\n border: 'none',\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n borderLeftWidth: '0',\n },\n },\n },\n },\n },\n ],\n splitButtonContainerHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n backgroundColor: 'Highlight',\n },\n },\n },\n '.ms-Button.is-disabled': {\n color: semanticColors.buttonTextDisabled,\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n },\n },\n },\n },\n splitButtonContainerChecked: {\n selectors: {\n '.ms-Button--primary': {\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n backgroundColor: 'WindowText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n splitButtonContainerCheckedHovered: {\n selectors: {\n '.ms-Button--primary': {\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n backgroundColor: 'WindowText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n splitButtonContainerFocused: {\n outline: 'none!important',\n },\n splitButtonMenuButton: {\n padding: 6,\n height: 'auto',\n boxSizing: 'border-box',\n borderRadius: 0,\n borderTopRightRadius: effects.roundedCorner2,\n borderBottomRightRadius: effects.roundedCorner2,\n border: `1px solid ${palette.neutralSecondaryAlt}`,\n borderLeft: 'none',\n outline: 'transparent',\n userSelect: 'none',\n display: 'inline-block',\n textDecoration: 'none',\n textAlign: 'center',\n cursor: 'pointer',\n verticalAlign: 'top',\n width: 32,\n marginLeft: -1,\n marginTop: 0,\n marginRight: 0,\n marginBottom: 0,\n [HighContrastSelector]: {\n '.ms-Button-menuIcon': {\n color: 'WindowText',\n },\n },\n },\n splitButtonDivider: {\n ...splitButtonDividerBaseStyles,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n },\n },\n },\n splitButtonDividerDisabled: {\n ...splitButtonDividerBaseStyles,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'GrayText',\n },\n },\n },\n splitButtonMenuButtonDisabled: {\n pointerEvents: 'none',\n border: 'none',\n selectors: {\n ':hover': {\n cursor: 'default',\n },\n\n '.ms-Button--primary': {\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n },\n },\n },\n '.ms-Button-menuIcon': {\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n [HighContrastSelector]: {\n color: 'GrayText',\n border: '1px solid GrayText',\n backgroundColor: 'Window',\n },\n },\n },\n\n splitButtonFlexContainer: {\n display: 'flex',\n height: '100%',\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n },\n\n splitButtonContainerDisabled: {\n outline: 'none',\n border: 'none',\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n borderColor: 'GrayText',\n backgroundColor: 'Window',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n splitButtonMenuFocused: {\n ...getFocusStyle(theme, { highContrastStyle: buttonHighContrastFocus, inset: 2 }),\n },\n };\n\n return concatStyleSets(splitButtonStyles, customStyles)!;\n },\n);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getKeyThenIncreaseKey = getKeyThenIncreaseKey;\nexports.attachTypeApi = attachTypeApi;\nexports[\"default\"] = exports.getInstance = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _rcNotification = _interopRequireDefault(require(\"rc-notification\"));\n\nvar _LoadingOutlined = _interopRequireDefault(require(\"@ant-design/icons/LoadingOutlined\"));\n\nvar _ExclamationCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/ExclamationCircleFilled\"));\n\nvar _CloseCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/CloseCircleFilled\"));\n\nvar _CheckCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/CheckCircleFilled\"));\n\nvar _InfoCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/InfoCircleFilled\"));\n\nvar _useMessage = _interopRequireDefault(require(\"./hooks/useMessage\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar messageInstance;\nvar defaultDuration = 3;\nvar defaultTop;\nvar key = 1;\nvar localPrefixCls = '';\nvar transitionName = 'move-up';\nvar hasTransitionName = false;\nvar getContainer;\nvar maxCount;\nvar rtl = false;\n\nfunction getKeyThenIncreaseKey() {\n return key++;\n}\n\nfunction setMessageConfig(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n\n if (options.prefixCls !== undefined) {\n localPrefixCls = options.prefixCls;\n }\n\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n\n hasTransitionName = true;\n }\n\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n}\n\nfunction getRCNotificationInstance(args, callback) {\n var customizePrefixCls = args.prefixCls;\n\n var _globalConfig = (0, _configProvider.globalConfig)(),\n getPrefixCls = _globalConfig.getPrefixCls,\n getRootPrefixCls = _globalConfig.getRootPrefixCls;\n\n var prefixCls = getPrefixCls('message', customizePrefixCls || localPrefixCls);\n var rootPrefixCls = getRootPrefixCls(args.rootPrefixCls, prefixCls);\n\n if (messageInstance) {\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n instance: messageInstance\n });\n return;\n }\n\n var instanceConfig = {\n prefixCls: prefixCls,\n transitionName: hasTransitionName ? transitionName : \"\".concat(rootPrefixCls, \"-\").concat(transitionName),\n style: {\n top: defaultTop\n },\n getContainer: getContainer,\n maxCount: maxCount\n };\n\n _rcNotification[\"default\"].newInstance(instanceConfig, function (instance) {\n if (messageInstance) {\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n instance: messageInstance\n });\n return;\n }\n\n messageInstance = instance;\n\n if (process.env.NODE_ENV === 'test') {\n messageInstance.config = instanceConfig;\n }\n\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n instance: instance\n });\n });\n}\n\nvar typeToIcon = {\n info: _InfoCircleFilled[\"default\"],\n success: _CheckCircleFilled[\"default\"],\n error: _CloseCircleFilled[\"default\"],\n warning: _ExclamationCircleFilled[\"default\"],\n loading: _LoadingOutlined[\"default\"]\n};\n\nfunction getRCNoticeProps(args, prefixCls) {\n var _classNames;\n\n var duration = args.duration !== undefined ? args.duration : defaultDuration;\n var IconComponent = typeToIcon[args.type];\n var messageClass = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-custom-content\"), (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-\").concat(args.type), args.type), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl === true), _classNames));\n return {\n key: args.key,\n duration: duration,\n style: args.style || {},\n className: args.className,\n content: /*#__PURE__*/React.createElement(\"div\", {\n className: messageClass\n }, args.icon || IconComponent && /*#__PURE__*/React.createElement(IconComponent, null), /*#__PURE__*/React.createElement(\"span\", null, args.content)),\n onClose: args.onClose,\n onClick: args.onClick\n };\n}\n\nfunction notice(args) {\n var target = args.key || key++;\n var closePromise = new Promise(function (resolve) {\n var callback = function callback() {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n\n return resolve(true);\n };\n\n getRCNotificationInstance(args, function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n instance.notice(getRCNoticeProps((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n key: target,\n onClose: callback\n }), prefixCls));\n });\n });\n\n var result = function result() {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n\n result.promise = closePromise;\n return result;\n}\n\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\n\nvar api = {\n open: notice,\n config: setMessageConfig,\n destroy: function destroy(messageKey) {\n if (messageInstance) {\n if (messageKey) {\n var _messageInstance = messageInstance,\n removeNotice = _messageInstance.removeNotice;\n removeNotice(messageKey);\n } else {\n var _messageInstance2 = messageInstance,\n destroy = _messageInstance2.destroy;\n destroy();\n messageInstance = null;\n }\n }\n }\n};\n\nfunction attachTypeApi(originalApi, type) {\n originalApi[type] = function (content, duration, onClose) {\n if (isArgsProps(content)) {\n return originalApi.open((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, content), {\n type: type\n }));\n }\n\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n\n return originalApi.open({\n content: content,\n duration: duration,\n type: type,\n onClose: onClose\n });\n };\n}\n\n['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n return attachTypeApi(api, type);\n});\napi.warn = api.warning;\napi.useMessage = (0, _useMessage[\"default\"])(getRCNotificationInstance, getRCNoticeProps);\n/** @private test Only function. Not work on production */\n\nvar getInstance = function getInstance() {\n return process.env.NODE_ENV === 'test' ? messageInstance : null;\n};\n\nexports.getInstance = getInstance;\nvar _default = api;\nexports[\"default\"] = _default;","// This icon file is generated automatically.\nvar CheckOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\" } }] }, \"name\": \"check\", \"theme\": \"outlined\" };\nexport default CheckOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CheckOutlinedSvg from \"@ant-design/icons-svg/es/asn/CheckOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CheckOutlined = function CheckOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CheckOutlinedSvg\n }));\n};\n\nCheckOutlined.displayName = 'CheckOutlined';\nexport default /*#__PURE__*/React.forwardRef(CheckOutlined);","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nexport default slice;","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { supportRef, composeRef } from \"rc-util/es/ref\";\nimport raf from './raf';\nimport { ConfigConsumer, ConfigContext } from '../config-provider';\nimport { cloneElement } from './reactNode';\nvar styleForPseudo; // Where el is the DOM element you'd like to test for visibility\n\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n\n return !element || element.offsetParent === null || element.hidden;\n}\n\nfunction isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n var match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n\n return true;\n}\n\nvar Wave = /*#__PURE__*/function (_React$Component) {\n _inherits(Wave, _React$Component);\n\n var _super = _createSuper(Wave);\n\n function Wave() {\n var _this;\n\n _classCallCheck(this, Wave);\n\n _this = _super.apply(this, arguments);\n _this.containerRef = /*#__PURE__*/React.createRef();\n _this.animationStart = false;\n _this.destroyed = false;\n\n _this.onClick = function (node, waveColor) {\n var _a, _b;\n\n if (!node || isHidden(node) || node.className.indexOf('-leave') >= 0) {\n return;\n }\n\n var insertExtraNode = _this.props.insertExtraNode;\n _this.extraNode = document.createElement('div');\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n extraNode = _assertThisInitialize.extraNode;\n\n var getPrefixCls = _this.context.getPrefixCls;\n extraNode.className = \"\".concat(getPrefixCls(''), \"-click-animating-node\");\n\n var attributeName = _this.getAttributeName();\n\n node.setAttribute(attributeName, 'true'); // Not white or transparent or grey\n\n if (waveColor && waveColor !== '#ffffff' && waveColor !== 'rgb(255, 255, 255)' && isNotGrey(waveColor) && !/rgba\\((?:\\d*, ){3}0\\)/.test(waveColor) && // any transparent rgba color\n waveColor !== 'transparent') {\n extraNode.style.borderColor = waveColor;\n var nodeRoot = ((_a = node.getRootNode) === null || _a === void 0 ? void 0 : _a.call(node)) || node.ownerDocument;\n var nodeBody = nodeRoot instanceof Document ? nodeRoot.body : (_b = nodeRoot.firstChild) !== null && _b !== void 0 ? _b : nodeRoot;\n styleForPseudo = updateCSS(\"\\n [\".concat(getPrefixCls(''), \"-click-animating-without-extra-node='true']::after, .\").concat(getPrefixCls(''), \"-click-animating-node {\\n --antd-wave-shadow-color: \").concat(waveColor, \";\\n }\"), 'antd-wave', {\n csp: _this.csp,\n attachTo: nodeBody\n });\n }\n\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n\n ['transition', 'animation'].forEach(function (name) {\n node.addEventListener(\"\".concat(name, \"start\"), _this.onTransitionStart);\n node.addEventListener(\"\".concat(name, \"end\"), _this.onTransitionEnd);\n });\n };\n\n _this.onTransitionStart = function (e) {\n if (_this.destroyed) {\n return;\n }\n\n var node = _this.containerRef.current;\n\n if (!e || e.target !== node || _this.animationStart) {\n return;\n }\n\n _this.resetEffect(node);\n };\n\n _this.onTransitionEnd = function (e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n\n _this.resetEffect(e.target);\n };\n\n _this.bindAnimationEvent = function (node) {\n if (!node || !node.getAttribute || node.getAttribute('disabled') || node.className.indexOf('disabled') >= 0) {\n return;\n }\n\n var onClick = function onClick(e) {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n\n _this.resetEffect(node); // Get wave color from target\n\n\n var waveColor = getComputedStyle(node).getPropertyValue('border-top-color') || // Firefox Compatible\n getComputedStyle(node).getPropertyValue('border-color') || getComputedStyle(node).getPropertyValue('background-color');\n _this.clickWaveTimeoutId = window.setTimeout(function () {\n return _this.onClick(node, waveColor);\n }, 0);\n raf.cancel(_this.animationStartId);\n _this.animationStart = true; // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n\n _this.animationStartId = raf(function () {\n _this.animationStart = false;\n }, 10);\n };\n\n node.addEventListener('click', onClick, true);\n return {\n cancel: function cancel() {\n node.removeEventListener('click', onClick, true);\n }\n };\n };\n\n _this.renderWave = function (_ref) {\n var csp = _ref.csp;\n var children = _this.props.children;\n _this.csp = csp;\n if (! /*#__PURE__*/React.isValidElement(children)) return children;\n var ref = _this.containerRef;\n\n if (supportRef(children)) {\n ref = composeRef(children.ref, _this.containerRef);\n }\n\n return cloneElement(children, {\n ref: ref\n });\n };\n\n return _this;\n }\n\n _createClass(Wave, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var node = this.containerRef.current;\n\n if (!node || node.nodeType !== 1) {\n return;\n }\n\n this.instance = this.bindAnimationEvent(node);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.instance) {\n this.instance.cancel();\n }\n\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n\n this.destroyed = true;\n }\n }, {\n key: \"getAttributeName\",\n value: function getAttributeName() {\n var getPrefixCls = this.context.getPrefixCls;\n var insertExtraNode = this.props.insertExtraNode;\n return insertExtraNode ? \"\".concat(getPrefixCls(''), \"-click-animating\") : \"\".concat(getPrefixCls(''), \"-click-animating-without-extra-node\");\n }\n }, {\n key: \"resetEffect\",\n value: function resetEffect(node) {\n var _this2 = this;\n\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n\n var insertExtraNode = this.props.insertExtraNode;\n var attributeName = this.getAttributeName();\n node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n\n if (styleForPseudo) {\n styleForPseudo.innerHTML = '';\n }\n\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n\n ['transition', 'animation'].forEach(function (name) {\n node.removeEventListener(\"\".concat(name, \"start\"), _this2.onTransitionStart);\n node.removeEventListener(\"\".concat(name, \"end\"), _this2.onTransitionEnd);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderWave);\n }\n }]);\n\n return Wave;\n}(React.Component);\n\nexport { Wave as default };\nWave.contextType = ConfigContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport classNames from 'classnames';\nimport FieldForm, { List } from 'rc-field-form';\nimport { ConfigContext } from '../config-provider';\nimport { FormContext } from './context';\nimport useForm from './hooks/useForm';\nimport SizeContext, { SizeContextProvider } from '../config-provider/SizeContext';\n\nvar InternalForm = function InternalForm(props, ref) {\n var _classNames;\n\n var contextSize = React.useContext(SizeContext);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n contextForm = _React$useContext.form;\n\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$size = props.size,\n size = _props$size === void 0 ? contextSize : _props$size,\n form = props.form,\n colon = props.colon,\n labelAlign = props.labelAlign,\n labelCol = props.labelCol,\n wrapperCol = props.wrapperCol,\n hideRequiredMark = props.hideRequiredMark,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'horizontal' : _props$layout,\n scrollToFirstError = props.scrollToFirstError,\n requiredMark = props.requiredMark,\n onFinishFailed = props.onFinishFailed,\n name = props.name,\n restFormProps = __rest(props, [\"prefixCls\", \"className\", \"size\", \"form\", \"colon\", \"labelAlign\", \"labelCol\", \"wrapperCol\", \"hideRequiredMark\", \"layout\", \"scrollToFirstError\", \"requiredMark\", \"onFinishFailed\", \"name\"]);\n\n var mergedRequiredMark = useMemo(function () {\n if (requiredMark !== undefined) {\n return requiredMark;\n }\n\n if (contextForm && contextForm.requiredMark !== undefined) {\n return contextForm.requiredMark;\n }\n\n if (hideRequiredMark) {\n return false;\n }\n\n return true;\n }, [hideRequiredMark, requiredMark, contextForm]);\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n var formClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(layout), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-hide-required-mark\"), mergedRequiredMark === false), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(size), size), _classNames), className);\n\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n wrapForm = _useForm2[0];\n\n var __INTERNAL__ = wrapForm.__INTERNAL__;\n __INTERNAL__.name = name;\n var formContextValue = useMemo(function () {\n return {\n name: name,\n labelAlign: labelAlign,\n labelCol: labelCol,\n wrapperCol: wrapperCol,\n vertical: layout === 'vertical',\n colon: colon,\n requiredMark: mergedRequiredMark,\n itemRef: __INTERNAL__.itemRef\n };\n }, [name, labelAlign, labelCol, wrapperCol, layout, colon, mergedRequiredMark]);\n React.useImperativeHandle(ref, function () {\n return wrapForm;\n });\n\n var onInternalFinishFailed = function onInternalFinishFailed(errorInfo) {\n onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errorInfo);\n var defaultScrollToFirstError = {\n block: 'nearest'\n };\n\n if (scrollToFirstError && errorInfo.errorFields.length) {\n if (_typeof(scrollToFirstError) === 'object') {\n defaultScrollToFirstError = scrollToFirstError;\n }\n\n wrapForm.scrollToField(errorInfo.errorFields[0].name, defaultScrollToFirstError);\n }\n };\n\n return /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: size\n }, /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: formContextValue\n }, /*#__PURE__*/React.createElement(FieldForm, _extends({\n id: name\n }, restFormProps, {\n name: name,\n onFinishFailed: onInternalFinishFailed,\n form: wrapForm,\n className: formClassName\n }))));\n};\n\nvar Form = /*#__PURE__*/React.forwardRef(InternalForm);\nexport { useForm, List };\nexport default Form;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof3 = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"List\", {\n enumerable: true,\n get: function get() {\n return _rcFieldForm.List;\n }\n});\nObject.defineProperty(exports, \"useForm\", {\n enumerable: true,\n get: function get() {\n return _useForm3[\"default\"];\n }\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _typeof2 = _interopRequireDefault(require(\"@babel/runtime/helpers/typeof\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _rcFieldForm = _interopRequireWildcard(require(\"rc-field-form\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _context = require(\"./context\");\n\nvar _useForm3 = _interopRequireDefault(require(\"./hooks/useForm\"));\n\nvar _SizeContext = _interopRequireWildcard(require(\"../config-provider/SizeContext\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar InternalForm = function InternalForm(props, ref) {\n var _classNames;\n\n var contextSize = React.useContext(_SizeContext[\"default\"]);\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n contextForm = _React$useContext.form;\n\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$size = props.size,\n size = _props$size === void 0 ? contextSize : _props$size,\n form = props.form,\n colon = props.colon,\n labelAlign = props.labelAlign,\n labelCol = props.labelCol,\n wrapperCol = props.wrapperCol,\n hideRequiredMark = props.hideRequiredMark,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'horizontal' : _props$layout,\n scrollToFirstError = props.scrollToFirstError,\n requiredMark = props.requiredMark,\n onFinishFailed = props.onFinishFailed,\n name = props.name,\n restFormProps = __rest(props, [\"prefixCls\", \"className\", \"size\", \"form\", \"colon\", \"labelAlign\", \"labelCol\", \"wrapperCol\", \"hideRequiredMark\", \"layout\", \"scrollToFirstError\", \"requiredMark\", \"onFinishFailed\", \"name\"]);\n\n var mergedRequiredMark = (0, React.useMemo)(function () {\n if (requiredMark !== undefined) {\n return requiredMark;\n }\n\n if (contextForm && contextForm.requiredMark !== undefined) {\n return contextForm.requiredMark;\n }\n\n if (hideRequiredMark) {\n return false;\n }\n\n return true;\n }, [hideRequiredMark, requiredMark, contextForm]);\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n var formClassName = (0, _classnames[\"default\"])(prefixCls, (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-\").concat(layout), true), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-hide-required-mark\"), mergedRequiredMark === false), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-\").concat(size), size), _classNames), className);\n\n var _useForm = (0, _useForm3[\"default\"])(form),\n _useForm2 = (0, _slicedToArray2[\"default\"])(_useForm, 1),\n wrapForm = _useForm2[0];\n\n var __INTERNAL__ = wrapForm.__INTERNAL__;\n __INTERNAL__.name = name;\n var formContextValue = (0, React.useMemo)(function () {\n return {\n name: name,\n labelAlign: labelAlign,\n labelCol: labelCol,\n wrapperCol: wrapperCol,\n vertical: layout === 'vertical',\n colon: colon,\n requiredMark: mergedRequiredMark,\n itemRef: __INTERNAL__.itemRef\n };\n }, [name, labelAlign, labelCol, wrapperCol, layout, colon, mergedRequiredMark]);\n React.useImperativeHandle(ref, function () {\n return wrapForm;\n });\n\n var onInternalFinishFailed = function onInternalFinishFailed(errorInfo) {\n onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errorInfo);\n var defaultScrollToFirstError = {\n block: 'nearest'\n };\n\n if (scrollToFirstError && errorInfo.errorFields.length) {\n if ((0, _typeof2[\"default\"])(scrollToFirstError) === 'object') {\n defaultScrollToFirstError = scrollToFirstError;\n }\n\n wrapForm.scrollToField(errorInfo.errorFields[0].name, defaultScrollToFirstError);\n }\n };\n\n return /*#__PURE__*/React.createElement(_SizeContext.SizeContextProvider, {\n size: size\n }, /*#__PURE__*/React.createElement(_context.FormContext.Provider, {\n value: formContextValue\n }, /*#__PURE__*/React.createElement(_rcFieldForm[\"default\"], (0, _extends2[\"default\"])({\n id: name\n }, restFormProps, {\n name: name,\n onFinishFailed: onInternalFinishFailed,\n form: wrapForm,\n className: formClassName\n }))));\n};\n\nvar Form = /*#__PURE__*/React.forwardRef(InternalForm);\nvar _default = Form;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useLocaleReceiver = useLocaleReceiver;\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _default = _interopRequireDefault(require(\"./default\"));\n\nvar _context = _interopRequireDefault(require(\"./context\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar LocaleReceiver = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(LocaleReceiver, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(LocaleReceiver);\n\n function LocaleReceiver() {\n (0, _classCallCheck2[\"default\"])(this, LocaleReceiver);\n return _super.apply(this, arguments);\n }\n\n (0, _createClass2[\"default\"])(LocaleReceiver, [{\n key: \"getLocale\",\n value: function getLocale() {\n var _this$props = this.props,\n componentName = _this$props.componentName,\n defaultLocale = _this$props.defaultLocale;\n var locale = defaultLocale || _default[\"default\"][componentName !== null && componentName !== void 0 ? componentName : 'global'];\n var antLocale = this.context;\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, locale instanceof Function ? locale() : locale), localeFromContext || {});\n }\n }, {\n key: \"getLocaleCode\",\n value: function getLocaleCode() {\n var antLocale = this.context;\n var localeCode = antLocale && antLocale.locale; // Had use LocaleProvide but didn't set locale\n\n if (antLocale && antLocale.exist && !localeCode) {\n return _default[\"default\"].locale;\n }\n\n return localeCode;\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children(this.getLocale(), this.getLocaleCode(), this.context);\n }\n }]);\n return LocaleReceiver;\n}(React.Component);\n\nexports[\"default\"] = LocaleReceiver;\nLocaleReceiver.defaultProps = {\n componentName: 'global'\n};\nLocaleReceiver.contextType = _context[\"default\"];\n\nfunction useLocaleReceiver(componentName, defaultLocale) {\n var antLocale = React.useContext(_context[\"default\"]);\n var componentLocale = React.useMemo(function () {\n var locale = defaultLocale || _default[\"default\"][componentName || 'global'];\n var localeFromContext = componentName && antLocale ? antLocale[componentName] : {};\n return (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n return [componentLocale];\n}","// This icon file is generated automatically.\nvar EyeOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\" } }] }, \"name\": \"eye\", \"theme\": \"outlined\" };\nexport default EyeOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar EyeOutlined = function EyeOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeOutlinedSvg\n }));\n};\n\nEyeOutlined.displayName = 'EyeOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeOutlined);","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","/**\n * Copyright (c) 2014-present, Facebook, Inc.\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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lens =\n/*#__PURE__*/\n_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\n\nexport default lens;","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: '',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages'\n};","import { tuple } from './type';\nexport var PresetStatusColorTypes = tuple('success', 'processing', 'error', 'default', 'warning'); // eslint-disable-next-line import/prefer-default-export\n\nexport var PresetColorTypes = tuple('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');","import { memoizeFunction } from '../../Utilities';\nimport { getGlobalClassNames, mergeStyleSets } from '../../Styling';\nimport type { ITheme } from '../../Styling';\nimport type { IButtonStyles } from './Button.types';\n\nexport interface IButtonClassNames {\n root?: string;\n flexContainer?: string;\n textContainer?: string;\n icon?: string;\n label?: string;\n menuIcon?: string;\n description?: string;\n screenReaderText?: string;\n}\n\nexport const ButtonGlobalClassNames = {\n msButton: 'ms-Button',\n msButtonHasMenu: 'ms-Button--hasMenu',\n msButtonIcon: 'ms-Button-icon',\n msButtonMenuIcon: 'ms-Button-menuIcon',\n msButtonLabel: 'ms-Button-label',\n msButtonDescription: 'ms-Button-description',\n msButtonScreenReaderText: 'ms-Button-screenReaderText',\n msButtonFlexContainer: 'ms-Button-flexContainer',\n msButtonTextContainer: 'ms-Button-textContainer',\n};\n\nexport const getBaseButtonClassNames = memoizeFunction(\n (\n theme: ITheme,\n styles: IButtonStyles,\n className: string,\n variantClassName: string,\n iconClassName: string | undefined,\n menuIconClassName: string | undefined,\n disabled: boolean,\n hasMenu: boolean,\n checked: boolean,\n expanded: boolean,\n isSplit: boolean | undefined,\n ): IButtonClassNames => {\n const classNames = getGlobalClassNames(ButtonGlobalClassNames, theme || {});\n\n const isExpanded = expanded && !isSplit;\n return mergeStyleSets({\n root: [\n classNames.msButton,\n styles.root,\n variantClassName,\n checked && ['is-checked', styles.rootChecked],\n isExpanded && [\n 'is-expanded',\n styles.rootExpanded,\n {\n selectors: {\n [`:hover .${classNames.msButtonIcon}`]: styles.iconExpandedHovered,\n // menuIcon falls back to rootExpandedHovered to support original behavior\n [`:hover .${classNames.msButtonMenuIcon}`]: styles.menuIconExpandedHovered || styles.rootExpandedHovered,\n ':hover': styles.rootExpandedHovered,\n },\n },\n ],\n hasMenu && [ButtonGlobalClassNames.msButtonHasMenu, styles.rootHasMenu],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.rootHovered,\n [`:hover .${classNames.msButtonLabel}`]: styles.labelHovered,\n [`:hover .${classNames.msButtonIcon}`]: styles.iconHovered,\n [`:hover .${classNames.msButtonDescription}`]: styles.descriptionHovered,\n [`:hover .${classNames.msButtonMenuIcon}`]: styles.menuIconHovered,\n ':focus': styles.rootFocused,\n ':active': styles.rootPressed,\n [`:active .${classNames.msButtonIcon}`]: styles.iconPressed,\n [`:active .${classNames.msButtonDescription}`]: styles.descriptionPressed,\n [`:active .${classNames.msButtonMenuIcon}`]: styles.menuIconPressed,\n },\n },\n disabled && checked && [styles.rootCheckedDisabled],\n !disabled &&\n checked && {\n selectors: {\n ':hover': styles.rootCheckedHovered,\n ':active': styles.rootCheckedPressed,\n },\n },\n className,\n ],\n flexContainer: [classNames.msButtonFlexContainer, styles.flexContainer],\n textContainer: [classNames.msButtonTextContainer, styles.textContainer],\n icon: [\n classNames.msButtonIcon,\n iconClassName,\n styles.icon,\n isExpanded && styles.iconExpanded,\n checked && styles.iconChecked,\n disabled && styles.iconDisabled,\n ],\n label: [classNames.msButtonLabel, styles.label, checked && styles.labelChecked, disabled && styles.labelDisabled],\n menuIcon: [\n classNames.msButtonMenuIcon,\n menuIconClassName,\n styles.menuIcon,\n checked && styles.menuIconChecked,\n disabled && !isSplit && styles.menuIconDisabled,\n !disabled &&\n !isExpanded &&\n !checked && {\n selectors: {\n ':hover': styles.menuIconHovered,\n ':active': styles.menuIconPressed,\n },\n },\n isExpanded && ['is-expanded', styles.menuIconExpanded],\n ],\n description: [\n classNames.msButtonDescription,\n styles.description,\n checked && styles.descriptionChecked,\n disabled && styles.descriptionDisabled,\n ],\n screenReaderText: [classNames.msButtonScreenReaderText, styles.screenReaderText],\n });\n },\n);\n","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport RcTextArea from 'rc-textarea';\nimport omit from \"rc-util/es/omit\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport ClearableLabeledInput from './ClearableLabeledInput';\nimport { ConfigContext } from '../config-provider';\nimport { fixControlledValue, resolveOnChange, triggerFocus } from './Input';\nimport SizeContext from '../config-provider/SizeContext';\n\nfunction fixEmojiLength(value, maxLength) {\n return _toConsumableArray(value || '').slice(0, maxLength).join('');\n}\n\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var _classNames;\n\n var customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n _a$showCount = _a.showCount,\n showCount = _a$showCount === void 0 ? false : _a$showCount,\n maxLength = _a.maxLength,\n className = _a.className,\n style = _a.style,\n customizeSize = _a.size,\n onCompositionStart = _a.onCompositionStart,\n onCompositionEnd = _a.onCompositionEnd,\n onChange = _a.onChange,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"showCount\", \"maxLength\", \"className\", \"style\", \"size\", \"onCompositionStart\", \"onCompositionEnd\", \"onChange\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var size = React.useContext(SizeContext);\n var innerRef = React.useRef(null);\n var clearableInputRef = React.useRef(null);\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n compositing = _React$useState2[0],\n setCompositing = _React$useState2[1];\n\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n\n var handleSetValue = function handleSetValue(val, callback) {\n if (props.value === undefined) {\n setValue(val);\n callback === null || callback === void 0 ? void 0 : callback();\n }\n }; // =========================== Value Update ===========================\n // Max length value\n\n\n var hasMaxLength = Number(maxLength) > 0;\n\n var onInternalCompositionStart = function onInternalCompositionStart(e) {\n setCompositing(true);\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n setCompositing(false);\n var triggerValue = e.currentTarget.value;\n\n if (hasMaxLength) {\n triggerValue = fixEmojiLength(triggerValue, maxLength);\n } // Patch composition onChange when value changed\n\n\n if (triggerValue !== value) {\n handleSetValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n }\n\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n\n var handleChange = function handleChange(e) {\n var triggerValue = e.target.value;\n\n if (!compositing && hasMaxLength) {\n triggerValue = fixEmojiLength(triggerValue, maxLength);\n }\n\n handleSetValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n }; // ============================== Reset ===============================\n\n\n var handleReset = function handleReset(e) {\n var _a, _b;\n\n handleSetValue('', function () {\n var _a;\n\n (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n });\n resolveOnChange((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, e, onChange);\n };\n\n var prefixCls = getPrefixCls('input', customizePrefixCls);\n React.useImperativeHandle(ref, function () {\n var _a;\n\n return {\n resizableTextArea: (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea,\n focus: function focus(option) {\n var _a, _b;\n\n triggerFocus((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, option);\n },\n blur: function blur() {\n var _a;\n\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n };\n });\n var textArea = /*#__PURE__*/React.createElement(RcTextArea, _extends({}, omit(props, ['allowClear']), {\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _defineProperty(_classNames, className, className && !showCount), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small' || customizeSize === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large' || customizeSize === 'large'), _classNames)),\n style: showCount ? undefined : style,\n prefixCls: prefixCls,\n onCompositionStart: onInternalCompositionStart,\n onChange: handleChange,\n onCompositionEnd: onInternalCompositionEnd,\n ref: innerRef\n }));\n var val = fixControlledValue(value);\n\n if (!compositing && hasMaxLength && (props.value === null || props.value === undefined)) {\n // fix #27612 将value转为数组进行截取,解决 '😂'.length === 2 等emoji表情导致的截取乱码的问题\n val = fixEmojiLength(val, maxLength);\n } // TextArea\n\n\n var textareaNode = /*#__PURE__*/React.createElement(ClearableLabeledInput, _extends({}, props, {\n prefixCls: prefixCls,\n direction: direction,\n inputType: \"text\",\n value: val,\n element: textArea,\n handleReset: handleReset,\n ref: clearableInputRef,\n bordered: bordered,\n style: showCount ? undefined : style\n })); // Only show text area wrapper when needed\n\n if (showCount) {\n var valueLength = _toConsumableArray(val).length;\n\n var dataCount = '';\n\n if (_typeof(showCount) === 'object') {\n dataCount = showCount.formatter({\n count: valueLength,\n maxLength: maxLength\n });\n } else {\n dataCount = \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(maxLength) : '');\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-textarea\"), _defineProperty({}, \"\".concat(prefixCls, \"-textarea-rtl\"), direction === 'rtl'), \"\".concat(prefixCls, \"-textarea-show-count\"), className),\n style: style,\n \"data-count\": dataCount\n }, textareaNode);\n }\n\n return textareaNode;\n});\nexport default TextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\n\nvar Checkbox = /*#__PURE__*/function (_Component) {\n _inherits(Checkbox, _Component);\n\n var _super = _createSuper(Checkbox);\n\n function Checkbox(props) {\n var _this;\n\n _classCallCheck(this, Checkbox);\n\n _this = _super.call(this, props);\n\n _this.handleChange = function (e) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n onChange = _this$props.onChange;\n\n if (disabled) {\n return;\n }\n\n if (!('checked' in _this.props)) {\n _this.setState({\n checked: e.target.checked\n });\n }\n\n if (onChange) {\n onChange({\n target: _objectSpread(_objectSpread({}, _this.props), {}, {\n checked: e.target.checked\n }),\n stopPropagation: function stopPropagation() {\n e.stopPropagation();\n },\n preventDefault: function preventDefault() {\n e.preventDefault();\n },\n nativeEvent: e.nativeEvent\n });\n }\n };\n\n _this.saveInput = function (node) {\n _this.input = node;\n };\n\n var checked = 'checked' in props ? props.checked : props.defaultChecked;\n _this.state = {\n checked: checked\n };\n return _this;\n }\n\n _createClass(Checkbox, [{\n key: \"focus\",\n value: function focus() {\n this.input.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.input.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n style = _this$props2.style,\n name = _this$props2.name,\n id = _this$props2.id,\n type = _this$props2.type,\n disabled = _this$props2.disabled,\n readOnly = _this$props2.readOnly,\n tabIndex = _this$props2.tabIndex,\n onClick = _this$props2.onClick,\n onFocus = _this$props2.onFocus,\n onBlur = _this$props2.onBlur,\n onKeyDown = _this$props2.onKeyDown,\n onKeyPress = _this$props2.onKeyPress,\n onKeyUp = _this$props2.onKeyUp,\n autoFocus = _this$props2.autoFocus,\n value = _this$props2.value,\n required = _this$props2.required,\n others = _objectWithoutProperties(_this$props2, [\"prefixCls\", \"className\", \"style\", \"name\", \"id\", \"type\", \"disabled\", \"readOnly\", \"tabIndex\", \"onClick\", \"onFocus\", \"onBlur\", \"onKeyDown\", \"onKeyPress\", \"onKeyUp\", \"autoFocus\", \"value\", \"required\"]);\n\n var globalProps = Object.keys(others).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'aria-' || key.substr(0, 5) === 'data-' || key === 'role') {\n // eslint-disable-next-line no-param-reassign\n prev[key] = others[key];\n }\n\n return prev;\n }, {});\n var checked = this.state.checked;\n var classString = classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _classNames));\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classString,\n style: style\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n name: name,\n id: id,\n type: type,\n required: required,\n readOnly: readOnly,\n disabled: disabled,\n tabIndex: tabIndex,\n className: \"\".concat(prefixCls, \"-input\"),\n checked: !!checked,\n onClick: onClick,\n onFocus: onFocus,\n onBlur: onBlur,\n onKeyUp: onKeyUp,\n onKeyDown: onKeyDown,\n onKeyPress: onKeyPress,\n onChange: this.handleChange,\n autoFocus: autoFocus,\n ref: this.saveInput,\n value: value\n }, globalProps)), /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-inner\")\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(props, state) {\n if ('checked' in props) {\n return _objectSpread(_objectSpread({}, state), {}, {\n checked: props.checked\n });\n }\n\n return null;\n }\n }]);\n\n return Checkbox;\n}(Component);\n\nCheckbox.defaultProps = {\n prefixCls: 'rc-checkbox',\n className: '',\n style: {},\n type: 'checkbox',\n defaultChecked: false,\n onFocus: function onFocus() {},\n onBlur: function onBlur() {},\n onChange: function onChange() {},\n onKeyDown: function onKeyDown() {},\n onKeyPress: function onKeyPress() {},\n onKeyUp: function onKeyUp() {}\n};\nexport default Checkbox;","export default function getDataOrAriaProps(props) {\n return Object.keys(props).reduce(function (prev, key) {\n if ((key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') && key.substr(0, 7) !== 'data-__') {\n prev[key] = props[key];\n }\n\n return prev;\n }, {});\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.warning = warning;\nexports.note = note;\nexports.resetWarned = resetWarned;\nexports.call = call;\nexports.warningOnce = warningOnce;\nexports.noteOnce = noteOnce;\nexports.default = void 0;\n\n/* eslint-disable no-console */\nvar warned = {};\n\nfunction warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\n\nfunction note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\n\nfunction resetWarned() {\n warned = {};\n}\n\nfunction call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\n\nfunction warningOnce(valid, message) {\n call(warning, valid, message);\n}\n\nfunction noteOnce(valid, message) {\n call(note, valid, message);\n}\n\nvar _default = warningOnce;\n/* eslint-enable */\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _en_US = _interopRequireDefault(require(\"rc-picker/lib/locale/en_US\"));\n\nvar _en_US2 = _interopRequireDefault(require(\"../../time-picker/locale/en_US\"));\n\n// Merge into a locale object\nvar locale = {\n lang: (0, _extends2[\"default\"])({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, _en_US[\"default\"]),\n timePickerLocale: (0, _extends2[\"default\"])({}, _en_US2[\"default\"])\n}; // All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\n\nvar _default = locale;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nvar _default = locale;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(undefined);\nvar _default = LocaleContext;\nexports[\"default\"] = _default;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar _utils = require(\"../utils\");\n\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\n\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || (0, _utils.getSecondaryColor)(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\n\nfunction getTwoToneColors() {\n return (0, _objectSpread2.default)({}, twoToneColorPalette);\n}\n\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = (0, _objectWithoutProperties2.default)(props, _excluded);\n var colors = twoToneColorPalette;\n\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || (0, _utils.getSecondaryColor)(primaryColor)\n };\n }\n\n (0, _utils.useInsertStyles)();\n (0, _utils.warning)((0, _utils.isIconDefinition)(icon), \"icon should be icon definiton, but got \".concat(icon));\n\n if (!(0, _utils.isIconDefinition)(icon)) {\n return null;\n }\n\n var target = icon;\n\n if (target && typeof target.icon === 'function') {\n target = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n\n return (0, _utils.generate)(target.icon, \"svg-\".concat(target.name), (0, _objectSpread2.default)({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\n\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nvar _default = IconBase;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useNotification;\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _Notice = _interopRequireDefault(require(\"./Notice\"));\n\nfunction useNotification(notificationInstance) {\n var createdRef = React.useRef({});\n\n var _React$useState = React.useState([]),\n _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),\n elements = _React$useState2[0],\n setElements = _React$useState2[1];\n\n function notify(noticeProps) {\n var firstMount = true;\n notificationInstance.add(noticeProps, function (div, props) {\n var key = props.key;\n\n if (div && (!createdRef.current[key] || firstMount)) {\n var noticeEle = /*#__PURE__*/React.createElement(_Notice.default, (0, _extends2.default)({}, props, {\n holder: div\n }));\n createdRef.current[key] = noticeEle;\n setElements(function (originElements) {\n var index = originElements.findIndex(function (ele) {\n return ele.key === props.key;\n });\n\n if (index === -1) {\n return [].concat((0, _toConsumableArray2.default)(originElements), [noticeEle]);\n }\n\n var cloneList = (0, _toConsumableArray2.default)(originElements);\n cloneList[index] = noticeEle;\n return cloneList;\n });\n }\n\n firstMount = false;\n });\n }\n\n return [notify, /*#__PURE__*/React.createElement(React.Fragment, null, elements)];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n visible = props.visible,\n maskProps = props.maskProps,\n motionName = props.motionName;\n return /*#__PURE__*/React.createElement(CSSMotion, {\n key: \"mask\",\n visible: visible,\n motionName: motionName,\n leavedClassName: \"\".concat(prefixCls, \"-mask-hidden\")\n }, function (_ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n style: _objectSpread(_objectSpread({}, motionStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-mask\"), motionClassName)\n }, maskProps));\n });\n}","// =============================== Motion ===============================\nexport function getMotionName(prefixCls, transitionName, animationName) {\n var motionName = transitionName;\n\n if (!motionName && animationName) {\n motionName = \"\".concat(prefixCls, \"-\").concat(animationName);\n }\n\n return motionName;\n} // ================================ UUID ================================\n\nvar uuid = -1;\nexport function getUUID() {\n uuid += 1;\n return uuid;\n} // =============================== Offset ===============================\n\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n\n if (typeof ret !== 'number') {\n var d = w.document;\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nexport function offset(el) {\n var rect = el.getBoundingClientRect();\n var pos = {\n left: rect.left,\n top: rect.top\n };\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}","import * as React from 'react';\nexport default /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, _ref2) {\n var shouldUpdate = _ref2.shouldUpdate;\n return !shouldUpdate;\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { offset } from '../../util';\nimport MemoChildren from './MemoChildren';\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n};\nvar Content = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var closable = props.closable,\n prefixCls = props.prefixCls,\n width = props.width,\n height = props.height,\n footer = props.footer,\n title = props.title,\n closeIcon = props.closeIcon,\n style = props.style,\n className = props.className,\n visible = props.visible,\n forceRender = props.forceRender,\n bodyStyle = props.bodyStyle,\n bodyProps = props.bodyProps,\n children = props.children,\n destroyOnClose = props.destroyOnClose,\n modalRender = props.modalRender,\n motionName = props.motionName,\n ariaId = props.ariaId,\n onClose = props.onClose,\n onVisibleChanged = props.onVisibleChanged,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n mousePosition = props.mousePosition;\n var sentinelStartRef = useRef();\n var sentinelEndRef = useRef();\n var dialogRef = useRef(); // ============================== Ref ===============================\n\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _sentinelStartRef$cur;\n\n (_sentinelStartRef$cur = sentinelStartRef.current) === null || _sentinelStartRef$cur === void 0 ? void 0 : _sentinelStartRef$cur.focus();\n },\n changeActive: function changeActive(next) {\n var _document = document,\n activeElement = _document.activeElement;\n\n if (next && activeElement === sentinelEndRef.current) {\n sentinelStartRef.current.focus();\n } else if (!next && activeElement === sentinelStartRef.current) {\n sentinelEndRef.current.focus();\n }\n }\n };\n }); // ============================= Style ==============================\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n transformOrigin = _React$useState2[0],\n setTransformOrigin = _React$useState2[1];\n\n var contentStyle = {};\n\n if (width !== undefined) {\n contentStyle.width = width;\n }\n\n if (height !== undefined) {\n contentStyle.height = height;\n }\n\n if (transformOrigin) {\n contentStyle.transformOrigin = transformOrigin;\n }\n\n function onPrepare() {\n var elementOffset = offset(dialogRef.current);\n setTransformOrigin(mousePosition ? \"\".concat(mousePosition.x - elementOffset.left, \"px \").concat(mousePosition.y - elementOffset.top, \"px\") : '');\n } // ============================= Render =============================\n\n\n var footerNode;\n\n if (footer) {\n footerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer);\n }\n\n var headerNode;\n\n if (title) {\n headerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-header\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\"),\n id: ariaId\n }, title));\n }\n\n var closer;\n\n if (closable) {\n closer = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onClose,\n \"aria-label\": \"Close\",\n className: \"\".concat(prefixCls, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }));\n }\n\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, closer, headerNode, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"\".concat(prefixCls, \"-body\"),\n style: bodyStyle\n }, bodyProps), children), footerNode);\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n onVisibleChanged: onVisibleChanged,\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n forceRender: forceRender,\n motionName: motionName,\n removeOnLeave: destroyOnClose,\n ref: dialogRef\n }, function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"dialog-element\",\n role: \"document\",\n ref: motionRef,\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), style), contentStyle),\n className: classNames(prefixCls, className, motionClassName),\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStartRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(MemoChildren, {\n shouldUpdate: visible || forceRender\n }, modalRender ? modalRender(content) : content), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEndRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }));\n });\n});\nContent.displayName = 'Content';\nexport default Content;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Mask from './Mask';\nimport { getMotionName, getUUID } from '../util';\nimport Content from './Content';\nexport default function Dialog(props) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dialog' : _props$prefixCls,\n zIndex = props.zIndex,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? false : _props$visible,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n scrollLocker = props.scrollLocker,\n title = props.title,\n wrapStyle = props.wrapStyle,\n wrapClassName = props.wrapClassName,\n wrapProps = props.wrapProps,\n onClose = props.onClose,\n afterClose = props.afterClose,\n transitionName = props.transitionName,\n animation = props.animation,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? true : _props$closable,\n _props$mask = props.mask,\n mask = _props$mask === void 0 ? true : _props$mask,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n maskStyle = props.maskStyle,\n maskProps = props.maskProps;\n var lastOutSideActiveElementRef = useRef();\n var wrapperRef = useRef();\n var contentRef = useRef();\n\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1]; // ========================== Init ==========================\n\n\n var ariaIdRef = useRef();\n\n if (!ariaIdRef.current) {\n ariaIdRef.current = \"rcDialogTitle\".concat(getUUID());\n } // ========================= Events =========================\n\n\n function onDialogVisibleChanged(newVisible) {\n if (newVisible) {\n // Try to focus\n if (!contains(wrapperRef.current, document.activeElement)) {\n var _contentRef$current;\n\n lastOutSideActiveElementRef.current = document.activeElement;\n (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.focus();\n }\n } else {\n // Clean up scroll bar & focus back\n setAnimatedVisible(false);\n\n if (mask && lastOutSideActiveElementRef.current && focusTriggerAfterClose) {\n try {\n lastOutSideActiveElementRef.current.focus({\n preventScroll: true\n });\n } catch (e) {// Do nothing\n }\n\n lastOutSideActiveElementRef.current = null;\n } // Trigger afterClose only when change visible from true to false\n\n\n if (animatedVisible) {\n afterClose === null || afterClose === void 0 ? void 0 : afterClose();\n }\n }\n }\n\n function onInternalClose(e) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n } // >>> Content\n\n\n var contentClickRef = useRef(false);\n var contentTimeoutRef = useRef(); // We need record content click incase content popup out of dialog\n\n var onContentMouseDown = function onContentMouseDown() {\n clearTimeout(contentTimeoutRef.current);\n contentClickRef.current = true;\n };\n\n var onContentMouseUp = function onContentMouseUp() {\n contentTimeoutRef.current = setTimeout(function () {\n contentClickRef.current = false;\n });\n }; // >>> Wrapper\n // Close only when element not on dialog\n\n\n var onWrapperClick = null;\n\n if (maskClosable) {\n onWrapperClick = function onWrapperClick(e) {\n if (contentClickRef.current) {\n contentClickRef.current = false;\n } else if (wrapperRef.current === e.target) {\n onInternalClose(e);\n }\n };\n }\n\n function onWrapperKeyDown(e) {\n if (keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onInternalClose(e);\n return;\n } // keep focus inside dialog\n\n\n if (visible) {\n if (e.keyCode === KeyCode.TAB) {\n contentRef.current.changeActive(!e.shiftKey);\n }\n }\n } // ========================= Effect =========================\n\n\n useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n }\n\n return function () {};\n }, [visible]); // Remove direct should also check the scroll bar update\n\n useEffect(function () {\n return function () {\n clearTimeout(contentTimeoutRef.current);\n };\n }, []);\n useEffect(function () {\n if (animatedVisible) {\n scrollLocker === null || scrollLocker === void 0 ? void 0 : scrollLocker.lock();\n return scrollLocker === null || scrollLocker === void 0 ? void 0 : scrollLocker.unLock;\n }\n\n return function () {};\n }, [animatedVisible, scrollLocker]); // ========================= Render =========================\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"\".concat(prefixCls, \"-root\")\n }, pickAttrs(props, {\n data: true\n })), /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n visible: mask && visible,\n motionName: getMotionName(prefixCls, maskTransitionName, maskAnimation),\n style: _objectSpread({\n zIndex: zIndex\n }, maskStyle),\n maskProps: maskProps\n }), /*#__PURE__*/React.createElement(\"div\", _extends({\n tabIndex: -1,\n onKeyDown: onWrapperKeyDown,\n className: classNames(\"\".concat(prefixCls, \"-wrap\"), wrapClassName),\n ref: wrapperRef,\n onClick: onWrapperClick,\n role: \"dialog\",\n \"aria-labelledby\": title ? ariaIdRef.current : null,\n style: _objectSpread(_objectSpread({\n zIndex: zIndex\n }, wrapStyle), {}, {\n display: !animatedVisible ? 'none' : null\n })\n }, wrapProps), /*#__PURE__*/React.createElement(Content, _extends({}, props, {\n onMouseDown: onContentMouseDown,\n onMouseUp: onContentMouseUp,\n ref: contentRef,\n closable: closable,\n ariaId: ariaIdRef.current,\n prefixCls: prefixCls,\n visible: visible,\n onClose: onInternalClose,\n onVisibleChanged: onDialogVisibleChanged,\n motionName: getMotionName(prefixCls, transitionName, animation)\n }))));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Portal from \"rc-util/es/PortalWrapper\";\nimport Dialog from './Dialog'; // fix issue #10656\n\n/*\n * getContainer remarks\n * Custom container should not be return, because in the Portal component, it will remove the\n * return container element here, if the custom container is the only child of it's component,\n * like issue #10656, It will has a conflict with removeChild method in react-dom.\n * So here should add a child (div element) to custom container.\n * */\n\nvar DialogWrap = function DialogWrap(props) {\n var visible = props.visible,\n getContainer = props.getContainer,\n forceRender = props.forceRender,\n _props$destroyOnClose = props.destroyOnClose,\n destroyOnClose = _props$destroyOnClose === void 0 ? false : _props$destroyOnClose,\n _afterClose = props.afterClose;\n\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n\n React.useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n }\n }, [visible]); // 渲染在当前 dom 里;\n\n if (getContainer === false) {\n return /*#__PURE__*/React.createElement(Dialog, _extends({}, props, {\n getOpenCount: function getOpenCount() {\n return 2;\n } // 不对 body 做任何操作。。\n\n }));\n } // Destroy on close will remove wrapped div\n\n\n if (!forceRender && destroyOnClose && !animatedVisible) {\n return null;\n }\n\n return /*#__PURE__*/React.createElement(Portal, {\n visible: visible,\n forceRender: forceRender,\n getContainer: getContainer\n }, function (childProps) {\n return /*#__PURE__*/React.createElement(Dialog, _extends({}, props, {\n destroyOnClose: destroyOnClose,\n afterClose: function afterClose() {\n _afterClose === null || _afterClose === void 0 ? void 0 : _afterClose();\n setAnimatedVisible(false);\n }\n }, childProps));\n });\n};\n\nDialogWrap.displayName = 'Dialog';\nexport default DialogWrap;","import DialogWrap from './DialogWrap';\nexport default DialogWrap;","/**\n * Easy to set element style, return previous style\n * IE browser compatible(IE browser doesn't merge overflow style, need to set it separately)\n * https://github.com/ant-design/ant-design/issues/19393\n *\n */\nfunction setStyle(style) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!style) {\n return {};\n }\n\n var _options$element = options.element,\n element = _options$element === void 0 ? document.body : _options$element;\n var oldStyle = {};\n var styleKeys = Object.keys(style); // IE browser compatible\n\n styleKeys.forEach(function (key) {\n oldStyle[key] = element.style[key];\n });\n styleKeys.forEach(function (key) {\n element.style[key] = style[key];\n });\n return oldStyle;\n}\n\nexport default setStyle;","import getScrollBarSize from './getScrollBarSize';\nimport setStyle from './setStyle';\n\nfunction isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}\n\nvar cacheStyle = {};\nexport default (function (close) {\n if (!isBodyOverflowing() && !close) {\n return;\n } // https://github.com/ant-design/ant-design/issues/19729\n\n\n var scrollingEffectClassName = 'ant-scrolling-effect';\n var scrollingEffectClassNameReg = new RegExp(\"\".concat(scrollingEffectClassName), 'g');\n var bodyClassName = document.body.className;\n\n if (close) {\n if (!scrollingEffectClassNameReg.test(bodyClassName)) return;\n setStyle(cacheStyle);\n cacheStyle = {};\n document.body.className = bodyClassName.replace(scrollingEffectClassNameReg, '').trim();\n return;\n }\n\n var scrollBarSize = getScrollBarSize();\n\n if (scrollBarSize) {\n cacheStyle = setStyle({\n position: 'relative',\n width: \"calc(100% - \".concat(scrollBarSize, \"px)\")\n });\n\n if (!scrollingEffectClassNameReg.test(bodyClassName)) {\n var addClassName = \"\".concat(bodyClassName, \" \").concat(scrollingEffectClassName);\n document.body.className = addClassName.trim();\n }\n }\n});","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport getScrollBarSize from '../getScrollBarSize';\nimport setStyle from '../setStyle';\nvar locks = [];\nvar scrollingEffectClassName = 'ant-scrolling-effect';\nvar scrollingEffectClassNameReg = new RegExp(\"\".concat(scrollingEffectClassName), 'g');\nvar uuid = 0; // https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\n\nvar cacheStyle = new Map();\n\nvar ScrollLocker = function ScrollLocker(_options) {\n var _this = this;\n\n _classCallCheck(this, ScrollLocker);\n\n this.lockTarget = void 0;\n this.options = void 0;\n\n this.getContainer = function () {\n var _this$options;\n\n return (_this$options = _this.options) === null || _this$options === void 0 ? void 0 : _this$options.container;\n };\n\n this.reLock = function (options) {\n var findLock = locks.find(function (_ref) {\n var target = _ref.target;\n return target === _this.lockTarget;\n });\n\n if (findLock) {\n _this.unLock();\n }\n\n _this.options = options;\n\n if (findLock) {\n findLock.options = options;\n\n _this.lock();\n }\n };\n\n this.lock = function () {\n var _this$options3;\n\n // If lockTarget exist return\n if (locks.some(function (_ref2) {\n var target = _ref2.target;\n return target === _this.lockTarget;\n })) {\n return;\n } // If same container effect, return\n\n\n if (locks.some(function (_ref3) {\n var _this$options2;\n\n var options = _ref3.options;\n return (options === null || options === void 0 ? void 0 : options.container) === ((_this$options2 = _this.options) === null || _this$options2 === void 0 ? void 0 : _this$options2.container);\n })) {\n locks = [].concat(_toConsumableArray(locks), [{\n target: _this.lockTarget,\n options: _this.options\n }]);\n return;\n }\n\n var scrollBarSize = 0;\n var container = ((_this$options3 = _this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.container) || document.body;\n\n if (container === document.body && window.innerWidth - document.documentElement.clientWidth > 0 || container.scrollHeight > container.clientHeight) {\n scrollBarSize = getScrollBarSize();\n }\n\n var containerClassName = container.className;\n\n if (locks.filter(function (_ref4) {\n var _this$options4;\n\n var options = _ref4.options;\n return (options === null || options === void 0 ? void 0 : options.container) === ((_this$options4 = _this.options) === null || _this$options4 === void 0 ? void 0 : _this$options4.container);\n }).length === 0) {\n cacheStyle.set(container, setStyle({\n width: scrollBarSize !== 0 ? \"calc(100% - \".concat(scrollBarSize, \"px)\") : undefined,\n overflow: 'hidden',\n overflowX: 'hidden',\n overflowY: 'hidden'\n }, {\n element: container\n }));\n } // https://github.com/ant-design/ant-design/issues/19729\n\n\n if (!scrollingEffectClassNameReg.test(containerClassName)) {\n var addClassName = \"\".concat(containerClassName, \" \").concat(scrollingEffectClassName);\n container.className = addClassName.trim();\n }\n\n locks = [].concat(_toConsumableArray(locks), [{\n target: _this.lockTarget,\n options: _this.options\n }]);\n };\n\n this.unLock = function () {\n var _this$options5;\n\n var findLock = locks.find(function (_ref5) {\n var target = _ref5.target;\n return target === _this.lockTarget;\n });\n locks = locks.filter(function (_ref6) {\n var target = _ref6.target;\n return target !== _this.lockTarget;\n });\n\n if (!findLock || locks.some(function (_ref7) {\n var _findLock$options;\n\n var options = _ref7.options;\n return (options === null || options === void 0 ? void 0 : options.container) === ((_findLock$options = findLock.options) === null || _findLock$options === void 0 ? void 0 : _findLock$options.container);\n })) {\n return;\n } // Remove Effect\n\n\n var container = ((_this$options5 = _this.options) === null || _this$options5 === void 0 ? void 0 : _this$options5.container) || document.body;\n var containerClassName = container.className;\n if (!scrollingEffectClassNameReg.test(containerClassName)) return;\n setStyle(cacheStyle.get(container), {\n element: container\n });\n cacheStyle.delete(container);\n container.className = container.className.replace(scrollingEffectClassNameReg, '').trim();\n };\n\n // eslint-disable-next-line no-plusplus\n this.lockTarget = uuid++;\n this.options = _options;\n};\n\nexport { ScrollLocker as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable no-underscore-dangle,react/require-default-props */\nimport * as React from 'react';\nimport raf from './raf';\nimport Portal from './Portal';\nimport canUseDom from './Dom/canUseDom';\nimport switchScrollingEffect from './switchScrollingEffect';\nimport setStyle from './setStyle';\nimport ScrollLocker from './Dom/scrollLocker';\nvar openCount = 0;\nvar supportDom = canUseDom();\n/** @private Test usage only */\n\nexport function getOpenCount() {\n return process.env.NODE_ENV === 'test' ? openCount : 0;\n} // https://github.com/ant-design/ant-design/issues/19340\n// https://github.com/ant-design/ant-design/issues/19332\n\nvar cacheOverflow = {};\n\nvar getParent = function getParent(getContainer) {\n if (!supportDom) {\n return null;\n }\n\n if (getContainer) {\n if (typeof getContainer === 'string') {\n return document.querySelectorAll(getContainer)[0];\n }\n\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n\n if (_typeof(getContainer) === 'object' && getContainer instanceof window.HTMLElement) {\n return getContainer;\n }\n }\n\n return document.body;\n};\n\nvar PortalWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(PortalWrapper, _React$Component);\n\n var _super = _createSuper(PortalWrapper);\n\n function PortalWrapper(props) {\n var _this;\n\n _classCallCheck(this, PortalWrapper);\n\n _this = _super.call(this, props);\n _this.container = void 0;\n _this.componentRef = /*#__PURE__*/React.createRef();\n _this.rafId = void 0;\n _this.scrollLocker = void 0;\n _this.renderComponent = void 0;\n\n _this.updateScrollLocker = function (prevProps) {\n var _ref = prevProps || {},\n prevVisible = _ref.visible;\n\n var _this$props = _this.props,\n getContainer = _this$props.getContainer,\n visible = _this$props.visible;\n\n if (visible && visible !== prevVisible && supportDom && getParent(getContainer) !== _this.scrollLocker.getContainer()) {\n _this.scrollLocker.reLock({\n container: getParent(getContainer)\n });\n }\n };\n\n _this.updateOpenCount = function (prevProps) {\n var _ref2 = prevProps || {},\n prevVisible = _ref2.visible,\n prevGetContainer = _ref2.getContainer;\n\n var _this$props2 = _this.props,\n visible = _this$props2.visible,\n getContainer = _this$props2.getContainer; // Update count\n\n if (visible !== prevVisible && supportDom && getParent(getContainer) === document.body) {\n if (visible && !prevVisible) {\n openCount += 1;\n } else if (prevProps) {\n openCount -= 1;\n }\n } // Clean up container if needed\n\n\n var getContainerIsFunc = typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n\n if (getContainerIsFunc ? getContainer.toString() !== prevGetContainer.toString() : getContainer !== prevGetContainer) {\n _this.removeCurrentContainer();\n }\n };\n\n _this.attachToParent = function () {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (force || _this.container && !_this.container.parentNode) {\n var parent = getParent(_this.props.getContainer);\n\n if (parent) {\n parent.appendChild(_this.container);\n return true;\n }\n\n return false;\n }\n\n return true;\n };\n\n _this.getContainer = function () {\n if (!supportDom) {\n return null;\n }\n\n if (!_this.container) {\n _this.container = document.createElement('div');\n\n _this.attachToParent(true);\n }\n\n _this.setWrapperClassName();\n\n return _this.container;\n };\n\n _this.setWrapperClassName = function () {\n var wrapperClassName = _this.props.wrapperClassName;\n\n if (_this.container && wrapperClassName && wrapperClassName !== _this.container.className) {\n _this.container.className = wrapperClassName;\n }\n };\n\n _this.removeCurrentContainer = function () {\n var _this$container, _this$container$paren;\n\n // Portal will remove from `parentNode`.\n // Let's handle this again to avoid refactor issue.\n (_this$container = _this.container) === null || _this$container === void 0 ? void 0 : (_this$container$paren = _this$container.parentNode) === null || _this$container$paren === void 0 ? void 0 : _this$container$paren.removeChild(_this.container);\n };\n\n _this.switchScrollingEffect = function () {\n if (openCount === 1 && !Object.keys(cacheOverflow).length) {\n switchScrollingEffect(); // Must be set after switchScrollingEffect\n\n cacheOverflow = setStyle({\n overflow: 'hidden',\n overflowX: 'hidden',\n overflowY: 'hidden'\n });\n } else if (!openCount) {\n setStyle(cacheOverflow);\n cacheOverflow = {};\n switchScrollingEffect(true);\n }\n };\n\n _this.scrollLocker = new ScrollLocker({\n container: getParent(props.getContainer)\n });\n return _this;\n }\n\n _createClass(PortalWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.updateOpenCount();\n\n if (!this.attachToParent()) {\n this.rafId = raf(function () {\n _this2.forceUpdate();\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n this.updateOpenCount(prevProps);\n this.updateScrollLocker(prevProps);\n this.setWrapperClassName();\n this.attachToParent();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$props3 = this.props,\n visible = _this$props3.visible,\n getContainer = _this$props3.getContainer;\n\n if (supportDom && getParent(getContainer) === document.body) {\n // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n openCount = visible && openCount ? openCount - 1 : openCount;\n }\n\n this.removeCurrentContainer();\n raf.cancel(this.rafId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props4 = this.props,\n children = _this$props4.children,\n forceRender = _this$props4.forceRender,\n visible = _this$props4.visible;\n var portal = null;\n var childProps = {\n getOpenCount: function getOpenCount() {\n return openCount;\n },\n getContainer: this.getContainer,\n switchScrollingEffect: this.switchScrollingEffect,\n scrollLocker: this.scrollLocker\n };\n\n if (forceRender || visible || this.componentRef.current) {\n portal = /*#__PURE__*/React.createElement(Portal, {\n getContainer: this.getContainer,\n ref: this.componentRef\n }, children(childProps));\n }\n\n return portal;\n }\n }]);\n\n return PortalWrapper;\n}(React.Component);\n\nexport default PortalWrapper;","import * as React from 'react';\nimport type { IImageProps } from '../Image/Image.types';\nimport type { IStyle, ITheme } from '../../Styling';\nimport type { IBaseProps, IStyleFunctionOrObject } from '../../Utilities';\n\n/**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n * {@docCategory Icon}\n */\nexport enum IconType {\n /**\n * Render using the fabric icon font.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n default = 0,\n\n /**\n * Render using an image, where imageProps would be used.\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n image = 1,\n\n /**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n Default = 100000,\n\n /**\n * @deprecated Icon type is inferred based on presence of `IIconProps.imageProps`\n */\n Image = 100001,\n}\n\n/**\n * {@docCategory Icon}\n */\nexport interface IIconProps extends IBaseProps, React.HTMLAttributes {\n /**\n * The name of the icon to use from the icon font.\n * If string is empty, a placeholder icon will be rendered the same width as an icon.\n */\n iconName?: string;\n\n /**\n * The aria label of the icon for the benefit of screen readers.\n * @deprecated Use the native prop `aria-label`\n */\n ariaLabel?: string;\n\n /**\n * The type of icon to render (image or icon font).\n * @deprecated Inferred based on the presence of `imageProps`\n */\n // eslint-disable-next-line deprecation/deprecation\n iconType?: IconType;\n\n /**\n * If rendering an image icon, these props will be passed to the Image component.\n */\n imageProps?: IImageProps;\n\n /**\n * If rendering an image icon, this component will be rendered in the event that loading the image fails.\n */\n imageErrorAs?: React.ComponentType;\n\n /**\n * Gets the styles for an Icon.\n */\n styles?: IStyleFunctionOrObject;\n theme?: ITheme;\n}\n\n/**\n * {@docCategory Icon}\n */\nexport interface IIconStyleProps {\n className?: string;\n iconClassName?: string;\n isPlaceholder: boolean;\n isImage: boolean;\n styles?: Partial;\n theme?: ITheme;\n}\n\n/**\n * {@docCategory Icon}\n */\nexport interface IIconStyles {\n root?: IStyle;\n\n /**\n * @deprecated Use `root`.\n */\n imageContainer?: IStyle;\n}\n\n/**\n * Props for a basic icon component which only supports font glyphs and can't be targeted by customizations.\n * {@docCategory Icon}\n */\nexport interface IFontIconProps extends React.HTMLAttributes {\n /**\n * The name of the icon to use from the icon font.\n * If string is empty, a placeholder icon will be rendered the same width as an icon.\n */\n iconName?: string;\n\n /**\n * Custom class to style the icon.\n */\n className?: string;\n}\n\n/**\n * Props for a basic image icon component which doesn't directly provide image load error handling\n * and can't be targeted by customizations.\n * {@docCategory Icon}\n */\nexport interface IImageIconProps extends React.HTMLAttributes {\n /**\n * Props passed to the Image component.\n */\n imageProps: IImageProps;\n\n /**\n * Custom class to style the icon.\n */\n className?: string;\n}\n","import * as React from 'react';\n\nimport { IconType } from './Icon.types';\nimport { Image } from '../Image/Image';\nimport { ImageLoadState } from '../Image/Image.types';\nimport { getNativeProps, htmlElementProperties, classNamesFunction } from '../../Utilities';\nimport { getIconContent } from './FontIcon';\nimport type { IIconProps, IIconStyleProps, IIconStyles } from './Icon.types';\nimport type { IImageProps } from '../Image/Image.types';\n\nexport interface IIconState {\n imageLoadError: boolean;\n}\n\nconst getClassNames = classNamesFunction({\n // Icon is used a lot by other components.\n // It's likely to see expected cases which pass different className to the Icon.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\n\nexport class IconBase extends React.Component {\n constructor(props: IIconProps) {\n super(props);\n this.state = {\n imageLoadError: false,\n };\n }\n\n public render() {\n const { children, className, styles, iconName, imageErrorAs, theme } = this.props;\n const isPlaceholder = typeof iconName === 'string' && iconName.length === 0;\n const isImage =\n // eslint-disable-next-line deprecation/deprecation\n !!this.props.imageProps || this.props.iconType === IconType.image || this.props.iconType === IconType.Image;\n const iconContent = getIconContent(iconName) || {};\n const { iconClassName, children: iconContentChildren, mergeImageProps } = iconContent;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n iconClassName,\n isImage,\n isPlaceholder,\n });\n\n const RootType = isImage ? 'span' : 'i';\n const nativeProps = getNativeProps>(this.props, htmlElementProperties, [\n 'aria-label',\n ]);\n const { imageLoadError } = this.state;\n const imageProps: IImageProps = {\n ...this.props.imageProps,\n onLoadingStateChange: this._onImageLoadingStateChange,\n };\n const ImageType = (imageLoadError && imageErrorAs) || Image;\n\n // eslint-disable-next-line deprecation/deprecation\n const ariaLabel = this.props['aria-label'] || this.props.ariaLabel;\n const accessibleName = imageProps.alt || ariaLabel || this.props.title;\n const hasName = !!(\n accessibleName ||\n this.props['aria-labelledby'] ||\n imageProps['aria-label'] ||\n imageProps['aria-labelledby']\n );\n const containerProps = hasName\n ? {\n role: isImage || mergeImageProps ? undefined : 'img',\n 'aria-label': isImage || mergeImageProps ? undefined : accessibleName,\n }\n : {\n 'aria-hidden': true,\n };\n\n let finalIconContentChildren = iconContentChildren;\n\n if (mergeImageProps && iconContentChildren && typeof iconContentChildren === 'object' && accessibleName) {\n finalIconContentChildren = React.cloneElement(iconContentChildren, {\n alt: accessibleName,\n });\n }\n\n return (\n \n {isImage ? : children || finalIconContentChildren}\n \n );\n }\n\n private _onImageLoadingStateChange = (state: ImageLoadState): void => {\n if (this.props.imageProps && this.props.imageProps.onLoadingStateChange) {\n this.props.imageProps.onLoadingStateChange(state);\n }\n if (state === ImageLoadState.error) {\n this.setState({ imageLoadError: true });\n }\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { IconBase } from './Icon.base';\nimport { getStyles } from './Icon.styles';\nimport type { IIconProps, IIconStyleProps, IIconStyles } from './Icon.types';\n\n/**\n * Legacy Icon component which can be targeted by customization. It's recommended to use `FontIcon`\n * or `ImageIcon` instead, especially in scenarios where rendering performance is important.\n * {@docCategory Icon}\n */\nexport const Icon: React.FunctionComponent = styled(\n IconBase,\n getStyles,\n undefined,\n {\n scope: 'Icon',\n },\n true,\n);\nIcon.displayName = 'Icon';\n","import * as React from 'react';\n\nvar Content = function Content(props) {\n var overlay = props.overlay,\n prefixCls = props.prefixCls,\n id = props.id,\n overlayInnerStyle = props.overlayInnerStyle;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof overlay === 'function' ? overlay() : overlay);\n};\n\nexport default Content;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { useRef, useImperativeHandle, forwardRef } from 'react';\nimport Trigger from 'rc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\n\nvar Tooltip = function Tooltip(props, ref) {\n var overlayClassName = props.overlayClassName,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n afterVisibleChange = props.afterVisibleChange,\n transitionName = props.transitionName,\n animation = props.animation,\n motion = props.motion,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$align = props.align,\n align = _props$align === void 0 ? {} : _props$align,\n _props$destroyTooltip = props.destroyTooltipOnHide,\n destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n defaultVisible = props.defaultVisible,\n getTooltipContainer = props.getTooltipContainer,\n overlayInnerStyle = props.overlayInnerStyle,\n restProps = _objectWithoutProperties(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"motion\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\"]);\n\n var domRef = useRef(null);\n useImperativeHandle(ref, function () {\n return domRef.current;\n });\n\n var extraProps = _objectSpread({}, restProps);\n\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n\n var getPopupElement = function getPopupElement() {\n var _props$arrowContent = props.arrowContent,\n arrowContent = _props$arrowContent === void 0 ? null : _props$arrowContent,\n overlay = props.overlay,\n id = props.id;\n return [/*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\"),\n key: \"arrow\"\n }, arrowContent), /*#__PURE__*/React.createElement(Content, {\n key: \"content\",\n prefixCls: prefixCls,\n id: id,\n overlay: overlay,\n overlayInnerStyle: overlayInnerStyle\n })];\n };\n\n var destroyTooltip = false;\n var autoDestroy = false;\n\n if (typeof destroyTooltipOnHide === 'boolean') {\n destroyTooltip = destroyTooltipOnHide;\n } else if (destroyTooltipOnHide && _typeof(destroyTooltipOnHide) === 'object') {\n var keepParent = destroyTooltipOnHide.keepParent;\n destroyTooltip = keepParent === true;\n autoDestroy = keepParent === false;\n }\n\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n popupClassName: overlayClassName,\n prefixCls: prefixCls,\n popup: getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n ref: domRef,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupMotion: motion,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltip,\n autoDestroy: autoDestroy,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay\n }, extraProps), children);\n};\n\nexport default /*#__PURE__*/forwardRef(Tooltip);","import Tooltip from './Tooltip';\nexport default Tooltip;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nimport Placements from './placements';\n\nfunction Dropdown(props, ref) {\n var _props$arrow = props.arrow,\n arrow = _props$arrow === void 0 ? false : _props$arrow,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dropdown' : _props$prefixCls,\n transitionName = props.transitionName,\n animation = props.animation,\n align = props.align,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'bottomLeft' : _props$placement,\n _props$placements = props.placements,\n placements = _props$placements === void 0 ? Placements : _props$placements,\n getPopupContainer = props.getPopupContainer,\n showAction = props.showAction,\n hideAction = props.hideAction,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n visible = props.visible,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n otherProps = _objectWithoutProperties(props, [\"arrow\", \"prefixCls\", \"transitionName\", \"animation\", \"align\", \"placement\", \"placements\", \"getPopupContainer\", \"showAction\", \"hideAction\", \"overlayClassName\", \"overlayStyle\", \"visible\", \"trigger\"]);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n triggerVisible = _React$useState2[0],\n setTriggerVisible = _React$useState2[1];\n\n var mergedVisible = 'visible' in props ? visible : triggerVisible;\n var triggerRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return triggerRef.current;\n });\n\n var getOverlayElement = function getOverlayElement() {\n var overlay = props.overlay;\n var overlayElement;\n\n if (typeof overlay === 'function') {\n overlayElement = overlay();\n } else {\n overlayElement = overlay;\n }\n\n return overlayElement;\n };\n\n var onClick = function onClick(e) {\n var onOverlayClick = props.onOverlayClick;\n var overlayProps = getOverlayElement().props;\n setTriggerVisible(false);\n\n if (onOverlayClick) {\n onOverlayClick(e);\n }\n\n if (overlayProps.onClick) {\n overlayProps.onClick(e);\n }\n };\n\n var onVisibleChange = function onVisibleChange(visible) {\n var onVisibleChange = props.onVisibleChange;\n setTriggerVisible(visible);\n\n if (typeof onVisibleChange === 'function') {\n onVisibleChange(visible);\n }\n };\n\n var getMenuElement = function getMenuElement() {\n var overlayElement = getOverlayElement();\n var extraOverlayProps = {\n prefixCls: \"\".concat(prefixCls, \"-menu\"),\n onClick: onClick\n };\n\n if (typeof overlayElement.type === 'string') {\n delete extraOverlayProps.prefixCls;\n }\n\n return React.createElement(React.Fragment, null, arrow && React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\")\n }), React.cloneElement(overlayElement, extraOverlayProps));\n };\n\n var getMenuElementOrLambda = function getMenuElementOrLambda() {\n var overlay = props.overlay;\n\n if (typeof overlay === 'function') {\n return getMenuElement;\n }\n\n return getMenuElement();\n };\n\n var getMinOverlayWidthMatchTrigger = function getMinOverlayWidthMatchTrigger() {\n var minOverlayWidthMatchTrigger = props.minOverlayWidthMatchTrigger,\n alignPoint = props.alignPoint;\n\n if ('minOverlayWidthMatchTrigger' in props) {\n return minOverlayWidthMatchTrigger;\n }\n\n return !alignPoint;\n };\n\n var getOpenClassName = function getOpenClassName() {\n var openClassName = props.openClassName;\n\n if (openClassName !== undefined) {\n return openClassName;\n }\n\n return \"\".concat(prefixCls, \"-open\");\n };\n\n var renderChildren = function renderChildren() {\n var children = props.children;\n var childrenProps = children.props ? children.props : {};\n var childClassName = classNames(childrenProps.className, getOpenClassName());\n return triggerVisible && children ? React.cloneElement(children, {\n className: childClassName\n }) : children;\n };\n\n var triggerHideAction = hideAction;\n\n if (!triggerHideAction && trigger.indexOf('contextMenu') !== -1) {\n triggerHideAction = ['click'];\n }\n\n return React.createElement(Trigger, Object.assign({}, otherProps, {\n prefixCls: prefixCls,\n ref: triggerRef,\n popupClassName: classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-show-arrow\"), arrow)),\n popupStyle: overlayStyle,\n builtinPlacements: placements,\n action: trigger,\n showAction: showAction,\n hideAction: triggerHideAction || [],\n popupPlacement: placement,\n popupAlign: align,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupVisible: mergedVisible,\n stretch: getMinOverlayWidthMatchTrigger() ? 'minWidth' : '',\n popup: getMenuElementOrLambda(),\n onPopupVisibleChange: onVisibleChange,\n getPopupContainer: getPopupContainer\n }), renderChildren());\n}\n\nexport default React.forwardRef(Dropdown);","import Dropdown from './Dropdown';\nexport default Dropdown;","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\nvar HIDDEN_TEXTAREA_STYLE = \"\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important\\n\";\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'font-variant', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing', 'word-break'];\nvar computedStyleCache = {};\nvar hiddenTextarea;\nexport function calculateNodeStyling(node) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n\n var style = window.getComputedStyle(node);\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n var sizingStyle = SIZING_STYLE.map(function (name) {\n return \"\".concat(name, \":\").concat(style.getPropertyValue(name));\n }).join(';');\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n\n return nodeInfo;\n}\nexport default function calculateNodeHeight(uiTextNode) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tab-index', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n document.body.appendChild(hiddenTextarea);\n } // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n\n\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n } // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n\n\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle; // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n\n hiddenTextarea.setAttribute('style', \"\".concat(sizingStyle, \";\").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n var minHeight = Number.MIN_SAFE_INTEGER;\n var maxHeight = Number.MAX_SAFE_INTEGER;\n var height = hiddenTextarea.scrollHeight;\n var overflowY;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n\n height = Math.max(minHeight, height);\n }\n\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n\n return {\n height: height,\n minHeight: minHeight,\n maxHeight: maxHeight,\n overflowY: overflowY,\n resize: 'none'\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport omit from \"rc-util/es/omit\";\nimport classNames from 'classnames';\nimport calculateNodeHeight from './calculateNodeHeight'; // eslint-disable-next-line @typescript-eslint/naming-convention\n\nvar RESIZE_STATUS;\n\n(function (RESIZE_STATUS) {\n RESIZE_STATUS[RESIZE_STATUS[\"NONE\"] = 0] = \"NONE\";\n RESIZE_STATUS[RESIZE_STATUS[\"RESIZING\"] = 1] = \"RESIZING\";\n RESIZE_STATUS[RESIZE_STATUS[\"RESIZED\"] = 2] = \"RESIZED\";\n})(RESIZE_STATUS || (RESIZE_STATUS = {}));\n\nvar ResizableTextArea = /*#__PURE__*/function (_React$Component) {\n _inherits(ResizableTextArea, _React$Component);\n\n var _super = _createSuper(ResizableTextArea);\n\n function ResizableTextArea(props) {\n var _this;\n\n _classCallCheck(this, ResizableTextArea);\n\n _this = _super.call(this, props);\n _this.nextFrameActionId = void 0;\n _this.resizeFrameId = void 0;\n _this.textArea = void 0;\n\n _this.saveTextArea = function (textArea) {\n _this.textArea = textArea;\n };\n\n _this.handleResize = function (size) {\n var resizeStatus = _this.state.resizeStatus;\n var _this$props = _this.props,\n autoSize = _this$props.autoSize,\n onResize = _this$props.onResize;\n\n if (resizeStatus !== RESIZE_STATUS.NONE) {\n return;\n }\n\n if (typeof onResize === 'function') {\n onResize(size);\n }\n\n if (autoSize) {\n _this.resizeOnNextFrame();\n }\n };\n\n _this.resizeOnNextFrame = function () {\n cancelAnimationFrame(_this.nextFrameActionId);\n _this.nextFrameActionId = requestAnimationFrame(_this.resizeTextarea);\n };\n\n _this.resizeTextarea = function () {\n var autoSize = _this.props.autoSize;\n\n if (!autoSize || !_this.textArea) {\n return;\n }\n\n var minRows = autoSize.minRows,\n maxRows = autoSize.maxRows;\n var textareaStyles = calculateNodeHeight(_this.textArea, false, minRows, maxRows);\n\n _this.setState({\n textareaStyles: textareaStyles,\n resizeStatus: RESIZE_STATUS.RESIZING\n }, function () {\n cancelAnimationFrame(_this.resizeFrameId);\n _this.resizeFrameId = requestAnimationFrame(function () {\n _this.setState({\n resizeStatus: RESIZE_STATUS.RESIZED\n }, function () {\n _this.resizeFrameId = requestAnimationFrame(function () {\n _this.setState({\n resizeStatus: RESIZE_STATUS.NONE\n });\n\n _this.fixFirefoxAutoScroll();\n });\n });\n });\n });\n };\n\n _this.renderTextArea = function () {\n var _this$props2 = _this.props,\n _this$props2$prefixCl = _this$props2.prefixCls,\n prefixCls = _this$props2$prefixCl === void 0 ? 'rc-textarea' : _this$props2$prefixCl,\n autoSize = _this$props2.autoSize,\n onResize = _this$props2.onResize,\n className = _this$props2.className,\n disabled = _this$props2.disabled;\n var _this$state = _this.state,\n textareaStyles = _this$state.textareaStyles,\n resizeStatus = _this$state.resizeStatus;\n var otherProps = omit(_this.props, ['prefixCls', 'onPressEnter', 'autoSize', 'defaultValue', 'onResize']);\n var cls = classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)); // Fix https://github.com/ant-design/ant-design/issues/6776\n // Make sure it could be reset when using form.getFieldDecorator\n\n if ('value' in otherProps) {\n otherProps.value = otherProps.value || '';\n }\n\n var style = _objectSpread(_objectSpread(_objectSpread({}, _this.props.style), textareaStyles), resizeStatus === RESIZE_STATUS.RESIZING ? // React will warning when mix `overflow` & `overflowY`.\n // We need to define this separately.\n {\n overflowX: 'hidden',\n overflowY: 'hidden'\n } : null);\n\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: _this.handleResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, otherProps, {\n className: cls,\n style: style,\n ref: _this.saveTextArea\n })));\n };\n\n _this.state = {\n textareaStyles: {},\n resizeStatus: RESIZE_STATUS.NONE\n };\n return _this;\n }\n\n _createClass(ResizableTextArea, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.resizeTextarea();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n // Re-render with the new content then recalculate the height as required.\n if (prevProps.value !== this.props.value) {\n this.resizeTextarea();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n cancelAnimationFrame(this.nextFrameActionId);\n cancelAnimationFrame(this.resizeFrameId);\n } // https://github.com/ant-design/ant-design/issues/21870\n\n }, {\n key: \"fixFirefoxAutoScroll\",\n value: function fixFirefoxAutoScroll() {\n try {\n if (document.activeElement === this.textArea) {\n var currentStart = this.textArea.selectionStart;\n var currentEnd = this.textArea.selectionEnd;\n this.textArea.setSelectionRange(currentStart, currentEnd);\n }\n } catch (e) {// Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.renderTextArea();\n }\n }]);\n\n return ResizableTextArea;\n}(React.Component);\n\nexport default ResizableTextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ResizableTextArea from './ResizableTextArea';\n\nvar TextArea = /*#__PURE__*/function (_React$Component) {\n _inherits(TextArea, _React$Component);\n\n var _super = _createSuper(TextArea);\n\n function TextArea(props) {\n var _this;\n\n _classCallCheck(this, TextArea);\n\n _this = _super.call(this, props);\n _this.resizableTextArea = void 0;\n\n _this.focus = function () {\n _this.resizableTextArea.textArea.focus();\n };\n\n _this.saveTextArea = function (resizableTextArea) {\n _this.resizableTextArea = resizableTextArea;\n };\n\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n\n _this.setValue(e.target.value, function () {\n _this.resizableTextArea.resizeTextarea();\n });\n\n if (onChange) {\n onChange(e);\n }\n };\n\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onPressEnter = _this$props.onPressEnter,\n onKeyDown = _this$props.onKeyDown;\n\n if (e.keyCode === 13 && onPressEnter) {\n onPressEnter(e);\n }\n\n if (onKeyDown) {\n onKeyDown(e);\n }\n };\n\n var value = typeof props.value === 'undefined' || props.value === null ? props.defaultValue : props.value;\n _this.state = {\n value: value\n };\n return _this;\n }\n\n _createClass(TextArea, [{\n key: \"setValue\",\n value: function setValue(value, callback) {\n if (!('value' in this.props)) {\n this.setState({\n value: value\n }, callback);\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.resizableTextArea.textArea.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ResizableTextArea, _extends({}, this.props, {\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n ref: this.saveTextArea\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n if ('value' in nextProps) {\n return {\n value: nextProps.value\n };\n }\n\n return null;\n }\n }]);\n\n return TextArea;\n}(React.Component);\n\nexport { ResizableTextArea };\nexport default TextArea;","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Returns a single function which will call each of the given functions in the context of the\n * parent.\n */\nexport function appendFunction(parent: any, ...functions: any[]): () => void {\n if (functions.length < 2) {\n return functions[0] as () => void;\n }\n\n return (...args: any[]): void => {\n functions.forEach((f: () => void) => f && f.apply(parent, args));\n };\n}\n","import * as React from 'react';\nimport { appendFunction } from './appendFunction';\n\n/**\n * Extends a component's lifetime methods by appending new functions to the existing lifetime functions.\n */\nexport function extendComponent(parent: T, methods: { [key in keyof T]?: T[key] }): void {\n for (let name in methods) {\n if (methods.hasOwnProperty(name)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent[name] = appendFunction(parent, parent[name], methods[name]) as any;\n }\n }\n}\n","const REACT_LIFECYCLE_EXCLUSIONS = [\n 'setState',\n 'render',\n 'componentWillMount',\n 'UNSAFE_componentWillMount',\n 'componentDidMount',\n 'componentWillReceiveProps',\n 'UNSAFE_componentWillReceiveProps',\n 'shouldComponentUpdate',\n 'componentWillUpdate',\n 'getSnapshotBeforeUpdate',\n 'UNSAFE_componentWillUpdate',\n 'componentDidUpdate',\n 'componentWillUnmount',\n];\n\n/**\n * Allows you to hoist methods, except those in an exclusion set from a source object into a destination object.\n *\n * @public\n * @param destination - The instance of the object to hoist the methods onto.\n * @param source - The instance of the object where the methods are hoisted from.\n * @param exclusions - (Optional) What methods to exclude from being hoisted.\n * @returns An array of names of methods that were hoisted.\n */\nexport function hoistMethods(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n destination: any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n source: any,\n exclusions: string[] = REACT_LIFECYCLE_EXCLUSIONS,\n): string[] {\n let hoisted: string[] = [];\n for (let methodName in source) {\n if (\n typeof source[methodName] === 'function' &&\n destination[methodName] === undefined &&\n (!exclusions || exclusions.indexOf(methodName) === -1)\n ) {\n hoisted.push(methodName);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n destination[methodName] = function (...args: any[]): void {\n source[methodName](...args);\n };\n }\n }\n\n return hoisted;\n}\n\n/**\n * Provides a method for convenience to unhoist hoisted methods.\n *\n * @public\n * @param source - The source object upon which methods were hoisted.\n * @param methodNames - An array of method names to unhoist.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function unhoistMethods(source: any, methodNames: string[]): void {\n methodNames.forEach((methodName: string) => delete source[methodName]);\n}\n","import * as React from 'react';\nimport { hoistMethods, unhoistMethods } from '../../Utilities';\n\nexport class BaseDecorator extends React.Component {\n protected _composedComponentInstance: React.Component;\n\n private _hoisted: string[];\n\n constructor(props: TProps) {\n super(props);\n this._updateComposedComponentRef = this._updateComposedComponentRef.bind(this);\n }\n\n /**\n * Updates the ref to the component composed by the decorator, which will also take care of hoisting\n * (and unhoisting as appropriate) methods from said component.\n *\n * Pass this method as the argument to the 'ref' property of the composed component.\n */\n protected _updateComposedComponentRef(composedComponentInstance: React.Component): void {\n this._composedComponentInstance = composedComponentInstance;\n if (composedComponentInstance) {\n this._hoisted = hoistMethods(this, composedComponentInstance);\n } else if (this._hoisted) {\n unhoistMethods(this, this._hoisted);\n }\n }\n}\n","// This icon file is generated automatically.\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexport default InfoCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport InfoCircleFilledSvg from \"@ant-design/icons-svg/es/asn/InfoCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar InfoCircleFilled = function InfoCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: InfoCircleFilledSvg\n }));\n};\n\nInfoCircleFilled.displayName = 'InfoCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(InfoCircleFilled);","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport type { ISettings } from './Customizations';\n\n/**\n * Hook to get Customizations settings from Customizations singleton or CustomizerContext.\n * It will trigger component state update on settings change observed.\n */\nexport function useCustomizationSettings(properties: string[], scopeName?: string): ISettings {\n const forceUpdate = useForceUpdate();\n const { customizations } = React.useContext(CustomizerContext);\n const { inCustomizerContext } = customizations;\n React.useEffect(() => {\n if (!inCustomizerContext) {\n Customizations.observe(forceUpdate);\n }\n return () => {\n if (!inCustomizerContext) {\n Customizations.unobserve(forceUpdate);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- exclude forceUpdate\n }, [inCustomizerContext]);\n\n return Customizations.getSettings(properties, scopeName, customizations);\n}\n\nfunction useForceUpdate() {\n const [, setValue] = React.useState(0);\n return () => setValue(value => ++value);\n}\n","import { getWindow } from './dom/getWindow';\n\n/**\n * Storing global state in local module variables has issues when more than one copy\n * if the module gets loaded on the page (due to a bundling error or simply by consuming\n * a prebundled script.)\n *\n * This file contains helpers to deal with the getting and setting local state, and allows\n * callers to get called back when it mutates.\n */\n\nconst GLOBAL_SETTINGS_PROP_NAME = '__globalSettings__';\nconst CALLBACK_STATE_PROP_NAME = '__callbacks__';\n\nlet _counter = 0;\n\n/**\n * Change description used for change callbacks in GlobalSettings.\n *\n * @public\n * {@docCategory IChangeDescription}\n */\nexport interface IChangeDescription {\n key: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n oldValue: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n}\n\n/**\n * Change event callback.\n *\n * @public\n * {@docCategory IChangeEventCallback}\n */\nexport interface IChangeEventCallback {\n __id__?: string;\n (changeDescription?: IChangeDescription): void;\n}\n\n/**\n * Global settings helper, which stores settings in the global (window) namespace.\n * If window is not provided, it will store settings in module scope. Provides a\n * way to observe changes as well when their values change.\n *\n * @public\n * {@docCategory GlobalSettings}\n */\nexport class GlobalSettings {\n public static getValue(key: string, defaultValue?: T | (() => T)): T {\n const globalSettings = _getGlobalSettings();\n\n if (globalSettings[key] === undefined) {\n globalSettings[key] = typeof defaultValue === 'function' ? (defaultValue as Function)() : defaultValue;\n }\n\n return globalSettings[key];\n }\n\n public static setValue(key: string, value: T): T {\n const globalSettings = _getGlobalSettings();\n const callbacks = globalSettings[CALLBACK_STATE_PROP_NAME];\n let oldValue = globalSettings[key];\n\n if (value !== oldValue) {\n globalSettings[key] = value;\n\n let changeDescription = {\n oldValue,\n value,\n key,\n };\n\n for (let id in callbacks) {\n if (callbacks.hasOwnProperty(id)) {\n callbacks[id](changeDescription);\n }\n }\n }\n\n return value;\n }\n\n public static addChangeListener(cb: IChangeEventCallback): void {\n // Note: we use generated ids on the callbacks to create a map of the callbacks, which optimizes removal.\n // (It's faster to delete a key than it is to look up the index of an object and splice an array.)\n let id = cb.__id__;\n const callbacks = _getCallbacks();\n\n if (!id) {\n id = cb.__id__ = String(_counter++);\n }\n\n callbacks[id] = cb;\n }\n\n public static removeChangeListener(cb: IChangeEventCallback): void {\n const callbacks = _getCallbacks();\n delete callbacks[cb.__id__ as string];\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _getGlobalSettings(): { [key: string]: any } {\n const win = getWindow();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const globalObj: { [key: string]: any } = win || {};\n\n if (!globalObj[GLOBAL_SETTINGS_PROP_NAME]) {\n globalObj[GLOBAL_SETTINGS_PROP_NAME] = {\n [CALLBACK_STATE_PROP_NAME]: {},\n };\n }\n\n return globalObj[GLOBAL_SETTINGS_PROP_NAME];\n}\n\nfunction _getCallbacks(): { [key: string]: () => void } {\n const globalSettings = _getGlobalSettings();\n return globalSettings[CALLBACK_STATE_PROP_NAME];\n}\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","import identity from \"./identity.js\";\nimport uniqBy from \"./uniqBy.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\n\nvar uniq =\n/*#__PURE__*/\nuniqBy(identity);\nexport default uniq;","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}(g.braintree || (g.braintree = {})).dropin = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i -1;\n}\nfunction isAndroidWebview(ua) {\n var androidWebviewRegExp = /Version\\/[\\d.]+/;\n ua = ua || window.navigator.userAgent;\n if (isAndroid(ua)) {\n return (androidWebviewRegExp.test(ua) && !isOperaMini(ua) && !isDuckDuckGo(ua));\n }\n return false;\n}\nfunction isOldSamsungBrowserOrSamsungWebview(ua) {\n return !isChrome(ua) && !isSamsungBrowser(ua) && /samsung/i.test(ua);\n}\nmodule.exports = function supportsPopups(ua) {\n ua = ua || window.navigator.userAgent;\n return !(isIosWebview(ua) ||\n isIosFirefox(ua) ||\n isAndroidWebview(ua) ||\n isOperaMini(ua) ||\n isUnsupportedIosChrome(ua) ||\n isOldSamsungBrowserOrSamsungWebview(ua));\n};\n\n},{\"./is-android\":6,\"./is-chrome\":8,\"./is-duckduckgo\":9,\"./is-ios-firefox\":16,\"./is-ios-webview\":19,\"./is-samsung\":23}],26:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-android\");\n\n},{\"./dist/is-android\":6}],27:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-chrome-os\");\n\n},{\"./dist/is-chrome-os\":7}],28:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-chrome\");\n\n},{\"./dist/is-chrome\":8}],29:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-edge\");\n\n},{\"./dist/is-edge\":10}],30:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-firefox\");\n\n},{\"./dist/is-firefox\":11}],31:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ie\");\n\n},{\"./dist/is-ie\":12}],32:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ie10\");\n\n},{\"./dist/is-ie10\":13}],33:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ie9\");\n\n},{\"./dist/is-ie9\":15}],34:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ios-safari\");\n\n},{\"./dist/is-ios-safari\":18}],35:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ios-webview\");\n\n},{\"./dist/is-ios-webview\":19}],36:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ios-wkwebview\");\n\n},{\"./dist/is-ios-wkwebview\":20}],37:[function(require,module,exports){\nmodule.exports = require(\"./dist/is-ios\");\n\n},{\"./dist/is-ios\":21}],38:[function(require,module,exports){\nmodule.exports = require(\"./dist/supports-popups\");\n\n},{\"./dist/supports-popups\":25}],39:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toggle = exports.remove = exports.add = void 0;\nfunction _classesOf(element) {\n return element.className.trim().split(/\\s+/);\n}\nfunction add(element) {\n var toAdd = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAdd[_i - 1] = arguments[_i];\n }\n element.className = _classesOf(element)\n .filter(function (classname) { return toAdd.indexOf(classname) === -1; })\n .concat(toAdd)\n .join(\" \");\n}\nexports.add = add;\nfunction remove(element) {\n var toRemove = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toRemove[_i - 1] = arguments[_i];\n }\n element.className = _classesOf(element)\n .filter(function (classname) { return toRemove.indexOf(classname) === -1; })\n .join(\" \");\n}\nexports.remove = remove;\nfunction toggle(element, classname, adding) {\n if (adding) {\n add(element, classname);\n }\n else {\n remove(element, classname);\n }\n}\nexports.toggle = toggle;\n\n},{}],40:[function(require,module,exports){\n\"use strict\";\nvar EventEmitter = /** @class */ (function () {\n function EventEmitter() {\n this._events = {};\n }\n EventEmitter.prototype.on = function (event, callback) {\n if (this._events[event]) {\n this._events[event].push(callback);\n }\n else {\n this._events[event] = [callback];\n }\n };\n EventEmitter.prototype.off = function (event, callback) {\n var eventCallbacks = this._events[event];\n if (!eventCallbacks) {\n return;\n }\n var indexOfCallback = eventCallbacks.indexOf(callback);\n eventCallbacks.splice(indexOfCallback, 1);\n };\n EventEmitter.prototype._emit = function (event) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var eventCallbacks = this._events[event];\n if (!eventCallbacks) {\n return;\n }\n eventCallbacks.forEach(function (callback) {\n callback.apply(void 0, args);\n });\n };\n EventEmitter.prototype.hasListener = function (event) {\n var eventCallbacks = this._events[event];\n if (!eventCallbacks) {\n return false;\n }\n return eventCallbacks.length > 0;\n };\n EventEmitter.createChild = function (ChildObject) {\n ChildObject.prototype = Object.create(EventEmitter.prototype, {\n constructor: ChildObject,\n });\n };\n return EventEmitter;\n}());\nmodule.exports = EventEmitter;\n\n},{}],41:[function(require,module,exports){\n\"use strict\";\nvar GlobalPromise = (typeof Promise !== \"undefined\"\n ? Promise // eslint-disable-line no-undef\n : null);\nvar ExtendedPromise = /** @class */ (function () {\n function ExtendedPromise(options) {\n var _this = this;\n if (typeof options === \"function\") {\n this._promise = new ExtendedPromise.Promise(options);\n return;\n }\n this._promise = new ExtendedPromise.Promise(function (resolve, reject) {\n _this._resolveFunction = resolve;\n _this._rejectFunction = reject;\n });\n options = options || {};\n this._onResolve = options.onResolve || ExtendedPromise.defaultOnResolve;\n this._onReject = options.onReject || ExtendedPromise.defaultOnReject;\n if (ExtendedPromise.shouldCatchExceptions(options)) {\n this._promise.catch(function () {\n // prevents unhandled promise rejection warning\n // in the console for extended promises that\n // that catch the error in an asynchronous manner\n });\n }\n this._resetState();\n }\n ExtendedPromise.defaultOnResolve = function (result) {\n return ExtendedPromise.Promise.resolve(result);\n };\n ExtendedPromise.defaultOnReject = function (err) {\n return ExtendedPromise.Promise.reject(err);\n };\n ExtendedPromise.setPromise = function (PromiseClass) {\n ExtendedPromise.Promise = PromiseClass;\n };\n ExtendedPromise.shouldCatchExceptions = function (options) {\n if (options.hasOwnProperty(\"suppressUnhandledPromiseMessage\")) {\n return Boolean(options.suppressUnhandledPromiseMessage);\n }\n return Boolean(ExtendedPromise.suppressUnhandledPromiseMessage);\n };\n // start Promise methods documented in:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Methods\n ExtendedPromise.all = function (args) {\n return ExtendedPromise.Promise.all(args);\n };\n ExtendedPromise.allSettled = function (args) {\n return ExtendedPromise.Promise.allSettled(args);\n };\n ExtendedPromise.race = function (args) {\n return ExtendedPromise.Promise.race(args);\n };\n ExtendedPromise.reject = function (arg) {\n return ExtendedPromise.Promise.reject(arg);\n };\n ExtendedPromise.resolve = function (arg) {\n return ExtendedPromise.Promise.resolve(arg);\n };\n ExtendedPromise.prototype.then = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).then.apply(_a, args);\n };\n ExtendedPromise.prototype.catch = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return (_a = this._promise).catch.apply(_a, args);\n };\n ExtendedPromise.prototype.resolve = function (arg) {\n var _this = this;\n if (this.isFulfilled) {\n return this;\n }\n this._setResolved();\n ExtendedPromise.Promise.resolve()\n .then(function () {\n return _this._onResolve(arg);\n })\n .then(function (argForResolveFunction) {\n _this._resolveFunction(argForResolveFunction);\n })\n .catch(function (err) {\n _this._resetState();\n _this.reject(err);\n });\n return this;\n };\n ExtendedPromise.prototype.reject = function (arg) {\n var _this = this;\n if (this.isFulfilled) {\n return this;\n }\n this._setRejected();\n ExtendedPromise.Promise.resolve()\n .then(function () {\n return _this._onReject(arg);\n })\n .then(function (result) {\n _this._setResolved();\n _this._resolveFunction(result);\n })\n .catch(function (err) {\n return _this._rejectFunction(err);\n });\n return this;\n };\n ExtendedPromise.prototype._resetState = function () {\n this.isFulfilled = false;\n this.isResolved = false;\n this.isRejected = false;\n };\n ExtendedPromise.prototype._setResolved = function () {\n this.isFulfilled = true;\n this.isResolved = true;\n this.isRejected = false;\n };\n ExtendedPromise.prototype._setRejected = function () {\n this.isFulfilled = true;\n this.isResolved = false;\n this.isRejected = true;\n };\n ExtendedPromise.Promise = GlobalPromise;\n return ExtendedPromise;\n}());\nmodule.exports = ExtendedPromise;\n\n},{}],42:[function(require,module,exports){\n\"use strict\";\nvar set_attributes_1 = require(\"./lib/set-attributes\");\nvar default_attributes_1 = require(\"./lib/default-attributes\");\nvar assign_1 = require(\"./lib/assign\");\nmodule.exports = function createFrame(options) {\n if (options === void 0) { options = {}; }\n var iframe = document.createElement(\"iframe\");\n var config = assign_1.assign({}, default_attributes_1.defaultAttributes, options);\n if (config.style && typeof config.style !== \"string\") {\n assign_1.assign(iframe.style, config.style);\n delete config.style;\n }\n set_attributes_1.setAttributes(iframe, config);\n if (!iframe.getAttribute(\"id\")) {\n iframe.id = iframe.name;\n }\n return iframe;\n};\n\n},{\"./lib/assign\":43,\"./lib/default-attributes\":44,\"./lib/set-attributes\":45}],43:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assign = void 0;\nfunction assign(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntarget) {\n var objs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n objs[_i - 1] = arguments[_i];\n }\n objs.forEach(function (obj) {\n if (typeof obj !== \"object\") {\n return;\n }\n Object.keys(obj).forEach(function (key) {\n target[key] = obj[key];\n });\n });\n return target;\n}\nexports.assign = assign;\n\n},{}],44:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultAttributes = void 0;\nexports.defaultAttributes = {\n src: \"about:blank\",\n frameBorder: 0,\n allowtransparency: true,\n scrolling: \"no\",\n};\n\n},{}],45:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setAttributes = void 0;\nfunction setAttributes(element, \n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nattributes) {\n for (var key in attributes) {\n if (attributes.hasOwnProperty(key)) {\n var value = attributes[key];\n if (value == null) {\n element.removeAttribute(key);\n }\n else {\n element.setAttribute(key, value);\n }\n }\n }\n}\nexports.setAttributes = setAttributes;\n\n},{}],46:[function(require,module,exports){\n'use strict';\n\nfunction uuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0;\n var v = c === 'x' ? r : r & 0x3 | 0x8;\n\n return v.toString(16);\n });\n}\n\nmodule.exports = uuid;\n\n},{}],47:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction deferred(fn) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n setTimeout(function () {\n try {\n fn.apply(void 0, args);\n }\n catch (err) {\n /* eslint-disable no-console */\n console.log(\"Error in callback function\");\n console.log(err);\n /* eslint-enable no-console */\n }\n }, 1);\n };\n}\nexports.deferred = deferred;\n\n},{}],48:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction once(fn) {\n var called = false;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!called) {\n called = true;\n fn.apply(void 0, args);\n }\n };\n}\nexports.once = once;\n\n},{}],49:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable consistent-return */\nfunction promiseOrCallback(promise, callback) {\n if (!callback) {\n return promise;\n }\n promise.then(function (data) { return callback(null, data); }).catch(function (err) { return callback(err); });\n}\nexports.promiseOrCallback = promiseOrCallback;\n\n},{}],50:[function(require,module,exports){\n\"use strict\";\nvar deferred_1 = require(\"./lib/deferred\");\nvar once_1 = require(\"./lib/once\");\nvar promise_or_callback_1 = require(\"./lib/promise-or-callback\");\nfunction wrapPromise(fn) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var callback;\n var lastArg = args[args.length - 1];\n if (typeof lastArg === \"function\") {\n callback = args.pop();\n callback = once_1.once(deferred_1.deferred(callback));\n }\n // I know, I know, this looks bad. But it's a quirk of the library that\n // we need to allow passing the this context to the original function\n // eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n // @ts-ignore: this has an implicit any\n return promise_or_callback_1.promiseOrCallback(fn.apply(this, args), callback); // eslint-disable-line no-invalid-this\n };\n}\nwrapPromise.wrapPrototype = function (target, options) {\n if (options === void 0) { options = {}; }\n var ignoreMethods = options.ignoreMethods || [];\n var includePrivateMethods = options.transformPrivateMethods === true;\n var methods = Object.getOwnPropertyNames(target.prototype).filter(function (method) {\n var isNotPrivateMethod;\n var isNonConstructorFunction = method !== \"constructor\" &&\n typeof target.prototype[method] === \"function\";\n var isNotAnIgnoredMethod = ignoreMethods.indexOf(method) === -1;\n if (includePrivateMethods) {\n isNotPrivateMethod = true;\n }\n else {\n isNotPrivateMethod = method.charAt(0) !== \"_\";\n }\n return (isNonConstructorFunction && isNotPrivateMethod && isNotAnIgnoredMethod);\n });\n methods.forEach(function (method) {\n var original = target.prototype[method];\n target.prototype[method] = wrapPromise(original);\n });\n return target;\n};\nmodule.exports = wrapPromise;\n\n},{\"./lib/deferred\":47,\"./lib/once\":48,\"./lib/promise-or-callback\":49}],51:[function(require,module,exports){\n'use strict';\n\nvar BraintreeError = require('../lib/braintree-error');\nvar analytics = require('../lib/analytics');\nvar errors = require('./errors');\nvar Promise = require('../lib/promise');\nvar methods = require('../lib/methods');\nvar convertMethodsToError = require('../lib/convert-methods-to-error');\nvar wrapPromise = require('@braintree/wrap-promise');\n\n/**\n * @typedef {object} ApplePay~tokenizePayload\n * @property {string} nonce The payment method nonce.\n * @property {object} details Additional details.\n * @property {string} details.cardType Type of card, ex: Visa, MasterCard.\n * @property {string} details.cardHolderName The name of the card holder.\n * @property {string} details.dpanLastTwo Last two digits of card number.\n * @property {string} description A human-readable description.\n * @property {string} type The payment method type, always `ApplePayCard`.\n * @property {object} binData Information about the card based on the bin.\n * @property {string} binData.commercial Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.countryOfIssuance The country of issuance.\n * @property {string} binData.debit Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.durbinRegulated Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.healthcare Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.issuingBank The issuing bank.\n * @property {string} binData.payroll Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.prepaid Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.productId The product id.\n */\n\n/**\n * An Apple Pay Payment Authorization Event object.\n * @typedef {object} ApplePayPaymentAuthorizedEvent\n * @external ApplePayPaymentAuthorizedEvent\n * @see {@link https://developer.apple.com/reference/applepayjs/applepaypaymentauthorizedevent ApplePayPaymentAuthorizedEvent}\n */\n\n/**\n * An Apple Pay Payment Request object.\n * @typedef {object} ApplePayPaymentRequest\n * @external ApplePayPaymentRequest\n * @see {@link https://developer.apple.com/reference/applepayjs/1916082-applepay_js_data_types/paymentrequest PaymentRequest}\n */\n\n/**\n * @class\n * @param {object} options Options\n * @description You cannot use this constructor directly. Use {@link module:braintree-web/apple-pay.create|braintree.applePay.create} instead.\n * @classdesc This class represents an Apple Pay component. Instances of this class have methods for validating the merchant server and tokenizing payments.\n */\nfunction ApplePay(options) {\n this._instantiatedWithClient = Boolean(!options.useDeferredClient);\n this._client = options.client;\n this._createPromise = options.createPromise;\n\n if (this._client) {\n this._setMerchantIdentifier();\n }\n}\n\nApplePay.prototype._waitForClient = function () {\n if (this._client) {\n return Promise.resolve();\n }\n\n return this._createPromise.then(function (client) {\n this._client = client;\n\n this._setMerchantIdentifier();\n }.bind(this));\n};\n\nApplePay.prototype._setMerchantIdentifier = function () {\n var applePayConfig = this._client.getConfiguration().gatewayConfiguration.applePayWeb;\n\n if (!applePayConfig) {\n return;\n }\n /**\n * @name ApplePay#merchantIdentifier\n * @description A special merchant ID which represents the merchant association with Braintree. Required when using `ApplePaySession.canMakePaymentsWithActiveCard`.\n * @example\n * var promise = ApplePaySession.canMakePaymentsWithActiveCard(applePayInstance.merchantIdentifier);\n * promise.then(function (canMakePaymentsWithActiveCard) {\n * if (canMakePaymentsWithActiveCard) {\n * // Set up Apple Pay buttons\n * }\n * });\n */\n Object.defineProperty(this, 'merchantIdentifier', {\n value: applePayConfig.merchantIdentifier,\n configurable: false,\n writable: false\n });\n};\n\n/**\n * Merges a payment request with Braintree defaults to return an {external:ApplePayPaymentRequest}.\n *\n * The following properties are assigned to `paymentRequest` if not already defined. Their default values come from the Braintree gateway.\n * - `countryCode`\n * - `currencyCode`\n * - `merchantCapabilities`\n * - `supportedNetworks`\n * @public\n * @param {external:ApplePayPaymentRequest} paymentRequest The payment request details to apply on top of those from Braintree.\n * @returns {external:ApplePayPaymentRequest|Promise} The decorated `paymentRequest` object. If `useDeferredClient` is used along with an `authorization`, this method will return a promise that resolves with the `paymentRequest` object.\n * @example\n * var applePay = require('braintree-web/apple-pay');\n *\n * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) {\n * if (applePayErr) {\n * // Handle error here\n * return;\n * }\n *\n * var paymentRequest = applePayInstance.createPaymentRequest({\n * total: {\n * label: 'My Company',\n * amount: '19.99'\n * }\n * });\n *\n * var session = new ApplePaySession(3, paymentRequest);\n *\n * // ...\n * @example With deferred client\n * var applePay = require('braintree-web/apple-pay');\n *\n * applePay.create({\n * authorization: 'client-token-or-tokenization-key',\n * useDeferredClient: true\n * }, function (applePayErr, applePayInstance) {\n * if (applePayErr) {\n * // Handle error here\n * return;\n * }\n *\n * applePayInstance.createPaymentRequest({\n * total: {\n * label: 'My Company',\n * amount: '19.99'\n * }\n * }).then(function (paymentRequest) {\n * var session = new ApplePaySession(3, paymentRequest);\n *\n * // ...\n * });\n */\nApplePay.prototype.createPaymentRequest = function (paymentRequest) {\n if (this._instantiatedWithClient) {\n return this._createPaymentRequestSynchronously(paymentRequest);\n }\n\n return this._waitForClient().then(function () {\n return this._createPaymentRequestSynchronously(paymentRequest);\n }.bind(this));\n};\n\nApplePay.prototype._createPaymentRequestSynchronously = function (paymentRequest) {\n var applePay = this._client.getConfiguration().gatewayConfiguration.applePayWeb;\n var defaults = {\n countryCode: applePay.countryCode,\n currencyCode: applePay.currencyCode,\n merchantCapabilities: applePay.merchantCapabilities || ['supports3DS'],\n supportedNetworks: applePay.supportedNetworks.map(function (network) {\n return network === 'mastercard' ? 'masterCard' : network;\n })\n };\n\n return Object.assign({}, defaults, paymentRequest);\n};\n\n/**\n * Validates your merchant website, as required by `ApplePaySession` before payment can be authorized.\n * @public\n * @param {object} options Options\n * @param {string} options.validationURL The validationURL from an `ApplePayValidateMerchantEvent`.\n * @param {string} options.displayName The canonical name for your store. Use a non-localized name. This parameter should be a UTF-8 string that is a maximum of 128 characters. The system may display this name to the user.\n * @param {callback} [callback] The second argument, data, is the Apple Pay merchant session object. If no callback is provided, `performValidation` returns a promise.\n * Pass the merchant session to your Apple Pay session's `completeMerchantValidation` method.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var applePay = require('braintree-web/apple-pay');\n *\n * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) {\n * if (applePayErr) {\n * // Handle error here\n * return;\n * }\n *\n * var paymentRequest = applePayInstance.createPaymentRequest({\n * total: {\n * label: 'My Company',\n * amount: '19.99'\n * }\n * });\n * var session = new ApplePaySession(3, paymentRequest);\n *\n * session.onvalidatemerchant = function (event) {\n * applePayInstance.performValidation({\n * validationURL: event.validationURL,\n * displayName: 'My Great Store'\n * }, function (validationErr, validationData) {\n * if (validationErr) {\n * console.error(validationErr);\n * session.abort();\n * return;\n * }\n *\n * session.completeMerchantValidation(validationData);\n * });\n * };\n * });\n */\nApplePay.prototype.performValidation = function (options) {\n var self = this;\n\n if (!options || !options.validationURL) {\n return Promise.reject(new BraintreeError(errors.APPLE_PAY_VALIDATION_URL_REQUIRED));\n }\n\n return this._waitForClient().then(function () {\n var applePayWebSession = {\n validationUrl: options.validationURL,\n domainName: options.domainName || window.location.hostname,\n merchantIdentifier: options.merchantIdentifier || self.merchantIdentifier\n };\n\n if (options.displayName != null) {\n applePayWebSession.displayName = options.displayName;\n }\n\n return self._client.request({\n method: 'post',\n endpoint: 'apple_pay_web/sessions',\n data: {\n _meta: {source: 'apple-pay'},\n applePayWebSession: applePayWebSession\n }\n });\n }).then(function (response) {\n analytics.sendEvent(self._client, 'applepay.performValidation.succeeded');\n\n return Promise.resolve(response);\n }).catch(function (err) {\n analytics.sendEvent(self._client, 'applepay.performValidation.failed');\n\n if (err.code === 'CLIENT_REQUEST_ERROR') {\n return Promise.reject(new BraintreeError({\n type: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.type,\n code: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.code,\n message: errors.APPLE_PAY_MERCHANT_VALIDATION_FAILED.message,\n details: {\n originalError: err.details.originalError\n }\n }));\n }\n\n return Promise.reject(new BraintreeError({\n type: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.type,\n code: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.code,\n message: errors.APPLE_PAY_MERCHANT_VALIDATION_NETWORK.message,\n details: {\n originalError: err\n }\n }));\n });\n};\n\n/**\n * Tokenizes an Apple Pay payment. This will likely be called in your `ApplePaySession`'s `onpaymentauthorized` callback.\n * @public\n * @param {object} options Options\n * @param {object} options.token The `payment.token` property of an {@link external:ApplePayPaymentAuthorizedEvent}.\n * @param {callback} [callback] The second argument, data, is a {@link ApplePay~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a promise that resolves with a {@link ApplePay~tokenizePayload|tokenizePayload}.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var applePay = require('braintree-web/apple-pay');\n *\n * applePay.create({client: clientInstance}, function (applePayErr, applePayInstance) {\n * if (applePayErr) {\n * // Handle error here\n * return;\n * }\n *\n * var paymentRequest = applePayInstance.createPaymentRequest({\n * total: {\n * label: 'My Company',\n * amount: '19.99'\n * }\n * });\n * var session = new ApplePaySession(3, paymentRequest);\n *\n * session.onpaymentauthorized = function (event) {\n * applePayInstance.tokenize({\n * token: event.payment.token\n * }, function (tokenizeErr, tokenizedPayload) {\n * if (tokenizeErr) {\n * session.completePayment(ApplePaySession.STATUS_FAILURE);\n * return;\n * }\n * // Send the tokenizedPayload to your server here!\n *\n * // Once the transaction is complete, call completePayment\n * // to close the Apple Pay sheet\n * session.completePayment(ApplePaySession.STATUS_SUCCESS);\n * });\n * };\n *\n * // ...\n * });\n */\nApplePay.prototype.tokenize = function (options) {\n var self = this;\n\n if (!options.token) {\n return Promise.reject(new BraintreeError(errors.APPLE_PAY_PAYMENT_TOKEN_REQUIRED));\n }\n\n return this._waitForClient().then(function () {\n return self._client.request({\n method: 'post',\n endpoint: 'payment_methods/apple_payment_tokens',\n data: {\n _meta: {\n source: 'apple-pay'\n },\n applePaymentToken: Object.assign({}, options.token, {\n // The gateway requires this key to be base64-encoded.\n paymentData: btoa(JSON.stringify(options.token.paymentData))\n })\n }\n });\n }).then(function (response) {\n analytics.sendEvent(self._client, 'applepay.tokenize.succeeded');\n\n return Promise.resolve(response.applePayCards[0]);\n }).catch(function (err) {\n analytics.sendEvent(self._client, 'applepay.tokenize.failed');\n\n return Promise.reject(new BraintreeError({\n type: errors.APPLE_PAY_TOKENIZATION.type,\n code: errors.APPLE_PAY_TOKENIZATION.code,\n message: errors.APPLE_PAY_TOKENIZATION.message,\n details: {\n originalError: err\n }\n }));\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/apple-pay.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * applePayInstance.teardown();\n * @example With callback\n * applePayInstance.teardown(function () {\n * // teardown is complete\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nApplePay.prototype.teardown = function () {\n convertMethodsToError(this, methods(ApplePay.prototype));\n\n return Promise.resolve();\n};\n\nmodule.exports = wrapPromise.wrapPrototype(ApplePay);\n\n},{\"../lib/analytics\":93,\"../lib/braintree-error\":98,\"../lib/convert-methods-to-error\":100,\"../lib/methods\":128,\"../lib/promise\":130,\"./errors\":52,\"@braintree/wrap-promise\":50}],52:[function(require,module,exports){\n'use strict';\n\n/**\n * @name BraintreeError.Apple Pay - Creation Error Codes\n * @description Errors that occur when [creating the Apple Pay component](./module-braintree-web_apple-pay.html#.create).\n * @property {MERCHANT} APPLE_PAY_NOT_ENABLED Occurs when the authorization used is not authorized to process Apple Pay.\n */\n\n/**\n * @name BraintreeError.Apple Pay - performValidation Error Codes\n * @description Errors that occur when [validating](./ApplePay.html#performValidation).\n * @property {MERCHANT} APPLE_PAY_VALIDATION_URL_REQUIRED Occurs when the `validationURL` option is not passed in.\n * @property {MERCHANT} APPLE_PAY_MERCHANT_VALIDATION_FAILED Occurs when the website domain has not been registered in the Braintree control panel.\n * @property {NETWORK} APPLE_PAY_MERCHANT_VALIDATION_NETWORK Occurs when an unknown network error occurs.\n */\n\n/**\n * @name BraintreeError.Apple Pay - tokenize Error Codes\n * @description Errors that occur when [tokenizing](./ApplePay.html#tokenize).\n * @property {MERCHANT} APPLE_PAY_PAYMENT_TOKEN_REQUIRED Occurs when the `token` option is not passed in.\n * @property {NETWORK} APPLE_PAY_TOKENIZATION Occurs when an unknown network error occurs.\n */\n\nvar BraintreeError = require('../lib/braintree-error');\n\nmodule.exports = {\n APPLE_PAY_NOT_ENABLED: {\n type: BraintreeError.types.MERCHANT,\n code: 'APPLE_PAY_NOT_ENABLED',\n message: 'Apple Pay is not enabled for this merchant.'\n },\n APPLE_PAY_VALIDATION_URL_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: 'APPLE_PAY_VALIDATION_URL_REQUIRED',\n message: 'performValidation must be called with a validationURL.'\n },\n APPLE_PAY_MERCHANT_VALIDATION_NETWORK: {\n type: BraintreeError.types.NETWORK,\n code: 'APPLE_PAY_MERCHANT_VALIDATION_NETWORK',\n message: 'A network error occurred when validating the Apple Pay merchant.'\n },\n APPLE_PAY_MERCHANT_VALIDATION_FAILED: {\n type: BraintreeError.types.MERCHANT,\n code: 'APPLE_PAY_MERCHANT_VALIDATION_FAILED',\n message: 'Make sure you have registered your domain name in the Braintree Control Panel.'\n },\n APPLE_PAY_PAYMENT_TOKEN_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: 'APPLE_PAY_PAYMENT_TOKEN_REQUIRED',\n message: 'tokenize must be called with a payment token.'\n },\n APPLE_PAY_TOKENIZATION: {\n type: BraintreeError.types.NETWORK,\n code: 'APPLE_PAY_TOKENIZATION',\n message: 'A network error occurred when processing the Apple Pay payment.'\n }\n};\n\n},{\"../lib/braintree-error\":98}],53:[function(require,module,exports){\n'use strict';\n\n/**\n * @module braintree-web/apple-pay\n * @description Accept Apple Pay on the Web. *This component is currently in beta and is subject to change.*\n */\n\nvar ApplePay = require('./apple-pay');\nvar analytics = require('../lib/analytics');\nvar BraintreeError = require('../lib/braintree-error');\nvar basicComponentVerification = require('../lib/basic-component-verification');\nvar createAssetsUrl = require('../lib/create-assets-url');\nvar createDeferredClient = require('../lib/create-deferred-client');\nvar Promise = require('../lib/promise');\nvar errors = require('./errors');\nvar VERSION = \"3.80.0\";\nvar wrapPromise = require('@braintree/wrap-promise');\n\n/**\n * @static\n * @function create\n * @param {object} options Creation options:\n * @param {Client} [options.client] A {@link Client} instance.\n * @param {string} [options.authorization] A tokenizationKey or clientToken. Can be used in place of `options.client`.\n * @param {boolean} [options.useDeferredClient] Used in conjunction with `authorization`, allows the Apple Pay instance to be available right away by fetching the client configuration in the background. When this option is used, {@link ApplePay#createPaymentRequest} will return a promise that resolves with the configuration instead of returning synchronously.\n * @param {callback} [callback] The second argument, `data`, is the {@link ApplePay} instance. If no callback is provided, `create` returns a promise that resolves with the {@link ApplePay} instance.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nfunction create(options) {\n var name = 'Apple Pay';\n\n return basicComponentVerification.verify({\n name: name,\n client: options.client,\n authorization: options.authorization\n }).then(function () {\n var applePayInstance;\n var createPromise = createDeferredClient.create({\n authorization: options.authorization,\n client: options.client,\n debug: options.debug,\n assetsUrl: createAssetsUrl.create(options.authorization),\n name: name\n }).then(function (client) {\n if (!client.getConfiguration().gatewayConfiguration.applePayWeb) {\n return Promise.reject(new BraintreeError(errors.APPLE_PAY_NOT_ENABLED));\n }\n\n analytics.sendEvent(client, 'applepay.initialized');\n\n return client;\n });\n\n options.createPromise = createPromise;\n applePayInstance = new ApplePay(options);\n\n if (!options.useDeferredClient) {\n return createPromise.then(function (client) {\n applePayInstance._client = client;\n\n return applePayInstance;\n });\n }\n\n return applePayInstance;\n });\n}\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `1.31.2`.\n * @type {string}\n */\n VERSION: VERSION\n};\n\n},{\"../lib/analytics\":93,\"../lib/basic-component-verification\":96,\"../lib/braintree-error\":98,\"../lib/create-assets-url\":102,\"../lib/create-deferred-client\":104,\"../lib/promise\":130,\"./apple-pay\":51,\"./errors\":52,\"@braintree/wrap-promise\":50}],54:[function(require,module,exports){\n'use strict';\n\nvar isIe = require('@braintree/browser-detection/is-ie');\nvar isIe9 = require('@braintree/browser-detection/is-ie9');\n\nmodule.exports = {\n isIe: isIe,\n isIe9: isIe9\n};\n\n},{\"@braintree/browser-detection/is-ie\":31,\"@braintree/browser-detection/is-ie9\":33}],55:[function(require,module,exports){\n'use strict';\n\nvar BRAINTREE_VERSION = require('./constants').BRAINTREE_VERSION;\n\nvar GraphQL = require('./request/graphql');\nvar request = require('./request');\nvar isVerifiedDomain = require('../lib/is-verified-domain');\nvar BraintreeError = require('../lib/braintree-error');\nvar convertToBraintreeError = require('../lib/convert-to-braintree-error');\nvar getGatewayConfiguration = require('./get-configuration').getConfiguration;\nvar createAuthorizationData = require('../lib/create-authorization-data');\nvar addMetadata = require('../lib/add-metadata');\nvar Promise = require('../lib/promise');\nvar wrapPromise = require('@braintree/wrap-promise');\nvar once = require('../lib/once');\nvar deferred = require('../lib/deferred');\nvar assign = require('../lib/assign').assign;\nvar analytics = require('../lib/analytics');\nvar errors = require('./errors');\nvar VERSION = require('../lib/constants').VERSION;\nvar GRAPHQL_URLS = require('../lib/constants').GRAPHQL_URLS;\nvar methods = require('../lib/methods');\nvar convertMethodsToError = require('../lib/convert-methods-to-error');\nvar assets = require('../lib/assets');\nvar FRAUDNET_FNCLS = require('../lib/constants').FRAUDNET_FNCLS;\nvar FRAUDNET_SOURCE = require('../lib/constants').FRAUDNET_SOURCE;\nvar FRAUDNET_URL = require('../lib/constants').FRAUDNET_URL;\n\nvar cachedClients = {};\n\n/**\n * This object is returned by {@link Client#getConfiguration|getConfiguration}. This information is used extensively by other Braintree modules to properly configure themselves.\n * @typedef {object} Client~configuration\n * @property {object} client The braintree-web/client parameters.\n * @property {string} client.authorization A tokenizationKey or clientToken.\n * @property {object} gatewayConfiguration Gateway-supplied configuration.\n * @property {object} analyticsMetadata Analytics-specific data.\n * @property {string} analyticsMetadata.sessionId Uniquely identifies a browsing session.\n * @property {string} analyticsMetadata.sdkVersion The braintree.js version.\n * @property {string} analyticsMetadata.merchantAppId Identifies the merchant's web app.\n */\n\n/**\n * @class\n * @param {Client~configuration} configuration Options\n * @description Do not use this constructor directly. Use {@link module:braintree-web/client.create|braintree.client.create} instead.\n * @classdesc This class is required by many other Braintree components. It serves as the base API layer that communicates with our servers. It is also capable of being used to formulate direct calls to our servers, such as direct credit card tokenization. See {@link Client#request}.\n */\nfunction Client(configuration) {\n var configurationJSON, gatewayConfiguration;\n\n configuration = configuration || {};\n\n configurationJSON = JSON.stringify(configuration);\n gatewayConfiguration = configuration.gatewayConfiguration;\n\n if (!gatewayConfiguration) {\n throw new BraintreeError(errors.CLIENT_MISSING_GATEWAY_CONFIGURATION);\n }\n\n [\n 'assetsUrl',\n 'clientApiUrl',\n 'configUrl'\n ].forEach(function (property) {\n if (property in gatewayConfiguration && !isVerifiedDomain(gatewayConfiguration[property])) {\n throw new BraintreeError({\n type: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.type,\n code: errors.CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN.code,\n message: property + ' property is on an invalid domain.'\n });\n }\n });\n\n /**\n * Returns a copy of the configuration values.\n * @public\n * @returns {Client~configuration} configuration\n */\n this.getConfiguration = function () {\n return JSON.parse(configurationJSON);\n };\n\n this._request = request;\n this._configuration = this.getConfiguration();\n\n this._clientApiBaseUrl = gatewayConfiguration.clientApiUrl + '/v1/';\n\n if (gatewayConfiguration.graphQL) {\n this._graphQL = new GraphQL({\n graphQL: gatewayConfiguration.graphQL\n });\n }\n}\n\nClient.initialize = function (options) {\n var clientInstance, authData;\n var promise = cachedClients[options.authorization];\n\n if (promise) {\n analytics.sendEvent(promise, 'custom.client.load.cached');\n\n return promise;\n }\n\n try {\n authData = createAuthorizationData(options.authorization);\n } catch (err) {\n return Promise.reject(new BraintreeError(errors.CLIENT_INVALID_AUTHORIZATION));\n }\n\n promise = getGatewayConfiguration(authData).then(function (configuration) {\n if (options.debug) {\n configuration.isDebug = true;\n }\n\n configuration.authorization = options.authorization;\n\n clientInstance = new Client(configuration);\n\n return clientInstance;\n });\n\n cachedClients[options.authorization] = promise;\n\n analytics.sendEvent(promise, 'custom.client.load.initialized');\n\n return promise.then(function (client) {\n analytics.sendEvent(clientInstance, 'custom.client.load.succeeded');\n\n return client;\n }).catch(function (err) {\n delete cachedClients[options.authorization];\n\n return Promise.reject(err);\n });\n};\n\n// Primarily used for testing the client initalization call\nClient.clearCache = function () {\n cachedClients = {};\n};\n\nClient.prototype._findOrCreateFraudnetJSON = function (clientMetadataId) {\n var el = document.querySelector('script[fncls=\"' + FRAUDNET_FNCLS + '\"]');\n var config, additionalData, authorizationFingerprint, parameters;\n\n if (!el) {\n el = document.body.appendChild(document.createElement('script'));\n el.type = 'application/json';\n el.setAttribute('fncls', FRAUDNET_FNCLS);\n }\n\n config = this.getConfiguration();\n additionalData = {\n rda_tenant: 'bt_card', // eslint-disable-line camelcase\n mid: config.gatewayConfiguration.merchantId\n };\n authorizationFingerprint = config.authorizationFingerprint;\n\n if (authorizationFingerprint) {\n authorizationFingerprint.split('&').forEach(function (pieces) {\n var component = pieces.split('=');\n\n if (component[0] === 'customer_id' && component.length > 1) {\n additionalData.cid = component[1];\n }\n });\n }\n\n parameters = {\n f: clientMetadataId.substr(0, 32),\n fp: additionalData,\n bu: false,\n s: FRAUDNET_SOURCE\n };\n el.text = JSON.stringify(parameters);\n};\n\n/**\n * Used by other modules to formulate all network requests to the Braintree gateway. It is also capable of being used directly from your own form to tokenize credit card information. However, be sure to satisfy PCI compliance if you use direct card tokenization.\n * @public\n * @param {object} options Request options:\n * @param {string} options.method HTTP method, e.g. \"get\" or \"post\".\n * @param {string} options.endpoint Endpoint path, e.g. \"payment_methods\".\n * @param {object} options.data Data to send with the request.\n * @param {number} [options.timeout=60000] Set a timeout (in milliseconds) for the request.\n * @param {callback} [callback] The second argument, data, is the returned server data.\n * @example\n * Direct Credit Card Tokenization\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * var form = document.getElementById('my-form-id');\n * var data = {\n * creditCard: {\n * number: form['cc-number'].value,\n * cvv: form['cc-cvv'].value,\n * expirationDate: form['cc-expiration-date'].value,\n * billingAddress: {\n * postalCode: form['cc-postal-code'].value\n * },\n * options: {\n * validate: false\n * }\n * }\n * };\n *\n * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A),\n * // payment fields cannot be hosted on your checkout page.\n * // For an alternative to the following, use Hosted Fields.\n * clientInstance.request({\n * endpoint: 'payment_methods/credit_cards',\n * method: 'post',\n * data: data\n * }, function (requestErr, response) {\n * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM\n * if (requestErr) { throw new Error(requestErr); }\n *\n * console.log('Got nonce:', response.creditCards[0].nonce);\n * });\n * });\n * @example\n * Tokenizing Fields for AVS Checks\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * var form = document.getElementById('my-form-id');\n * var data = {\n * creditCard: {\n * number: form['cc-number'].value,\n * cvv: form['cc-cvv'].value,\n * expirationDate: form['cc-date'].value,\n * // The billing address can be checked with AVS rules.\n * // See: https://articles.braintreepayments.com/support/guides/fraud-tools/basic/avs-cvv-rules\n * billingAddress: {\n * postalCode: form['cc-postal-code'].value,\n * streetAddress: form['cc-street-address'].value,\n * countryName: form['cc-country-name'].value,\n * countryCodeAlpha2: form['cc-country-alpha2'].value,\n * countryCodeAlpha3: form['cc-country-alpha3'].value,\n * countryCodeNumeric: form['cc-country-numeric'].value\n * },\n * options: {\n * validate: false\n * }\n * }\n * };\n *\n * // Warning: For a merchant to be eligible for the easiest level of PCI compliance (SAQ A),\n * // payment fields cannot be hosted on your checkout page.\n * // For an alternative to the following, use Hosted Fields.\n * clientInstance.request({\n * endpoint: 'payment_methods/credit_cards',\n * method: 'post',\n * data: data\n * }, function (requestErr, response) {\n * // More detailed example of handling API errors: https://codepen.io/braintree/pen/MbwjdM\n * if (requestErr) { throw new Error(requestErr); }\n *\n * console.log('Got nonce:', response.creditCards[0].nonce);\n * });\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nClient.prototype.request = function (options, callback) {\n var self = this; // eslint-disable-line no-invalid-this\n var requestPromise = new Promise(function (resolve, reject) {\n var optionName, api, baseUrl, requestOptions;\n var shouldCollectData = Boolean(options.endpoint === 'payment_methods/credit_cards' && self.getConfiguration().gatewayConfiguration.creditCards.collectDeviceData);\n\n if (options.api !== 'graphQLApi') {\n if (!options.method) {\n optionName = 'options.method';\n } else if (!options.endpoint) {\n optionName = 'options.endpoint';\n }\n }\n\n if (optionName) {\n throw new BraintreeError({\n type: errors.CLIENT_OPTION_REQUIRED.type,\n code: errors.CLIENT_OPTION_REQUIRED.code,\n message: optionName + ' is required when making a request.'\n });\n }\n\n if ('api' in options) {\n api = options.api;\n } else {\n api = 'clientApi';\n }\n\n requestOptions = {\n method: options.method,\n graphQL: self._graphQL,\n timeout: options.timeout,\n metadata: self._configuration.analyticsMetadata\n };\n\n if (api === 'clientApi') {\n baseUrl = self._clientApiBaseUrl;\n\n requestOptions.data = addMetadata(self._configuration, options.data);\n } else if (api === 'graphQLApi') {\n baseUrl = GRAPHQL_URLS[self._configuration.gatewayConfiguration.environment];\n options.endpoint = '';\n requestOptions.method = 'post';\n requestOptions.data = assign({\n clientSdkMetadata: {\n platform: self._configuration.analyticsMetadata.platform,\n source: self._configuration.analyticsMetadata.source,\n integration: self._configuration.analyticsMetadata.integration,\n sessionId: self._configuration.analyticsMetadata.sessionId,\n version: VERSION\n }\n }, options.data);\n\n requestOptions.headers = getAuthorizationHeadersForGraphQL(self._configuration);\n } else {\n throw new BraintreeError({\n type: errors.CLIENT_OPTION_INVALID.type,\n code: errors.CLIENT_OPTION_INVALID.code,\n message: 'options.api is invalid.'\n });\n }\n\n requestOptions.url = baseUrl + options.endpoint;\n requestOptions.sendAnalyticsEvent = function (kind) {\n analytics.sendEvent(self, kind);\n };\n\n self._request(requestOptions, function (err, data, status) {\n var resolvedData, requestError;\n\n requestError = formatRequestError(status, err);\n\n if (requestError) {\n reject(requestError);\n\n return;\n }\n\n if (api === 'graphQLApi' && data.errors) {\n reject(convertToBraintreeError(data.errors, {\n type: errors.CLIENT_GRAPHQL_REQUEST_ERROR.type,\n code: errors.CLIENT_GRAPHQL_REQUEST_ERROR.code,\n message: errors.CLIENT_GRAPHQL_REQUEST_ERROR.message\n }));\n\n return;\n }\n\n resolvedData = assign({_httpStatus: status}, data);\n\n if (shouldCollectData && resolvedData.creditCards && resolvedData.creditCards.length > 0) {\n self._findOrCreateFraudnetJSON(resolvedData.creditCards[0].nonce);\n\n assets.loadScript({\n src: FRAUDNET_URL,\n forceScriptReload: true\n });\n }\n resolve(resolvedData);\n });\n });\n\n if (typeof callback === 'function') {\n callback = once(deferred(callback));\n\n requestPromise.then(function (response) {\n callback(null, response, response._httpStatus);\n }).catch(function (err) {\n var status = err && err.details && err.details.httpStatus;\n\n callback(err, null, status);\n });\n\n return;\n }\n\n return requestPromise; // eslint-disable-line consistent-return\n};\n\nfunction formatRequestError(status, err) { // eslint-disable-line consistent-return\n var requestError;\n\n if (status === -1) {\n requestError = new BraintreeError(errors.CLIENT_REQUEST_TIMEOUT);\n } else if (status === 401) {\n requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INVALID);\n } else if (status === 403) {\n requestError = new BraintreeError(errors.CLIENT_AUTHORIZATION_INSUFFICIENT);\n } else if (status === 429) {\n requestError = new BraintreeError(errors.CLIENT_RATE_LIMITED);\n } else if (status >= 500) {\n requestError = new BraintreeError(errors.CLIENT_GATEWAY_NETWORK);\n } else if (status < 200 || status >= 400) {\n requestError = convertToBraintreeError(err, {\n type: errors.CLIENT_REQUEST_ERROR.type,\n code: errors.CLIENT_REQUEST_ERROR.code,\n message: errors.CLIENT_REQUEST_ERROR.message\n });\n }\n\n if (requestError) {\n requestError.details = requestError.details || {};\n requestError.details.httpStatus = status;\n\n return requestError;\n }\n}\n\nClient.prototype.toJSON = function () {\n return this.getConfiguration();\n};\n\n/**\n * Returns the Client version.\n * @public\n * @returns {String} The created client's version.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * console.log(clientInstance.getVersion()); // Ex: 1.0.0\n * });\n * @returns {void}\n */\nClient.prototype.getVersion = function () {\n return VERSION;\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/client.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * clientInstance.teardown();\n * @example With callback\n * clientInstance.teardown(function () {\n * // teardown is complete\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nClient.prototype.teardown = wrapPromise(function () {\n var self = this; // eslint-disable-line no-invalid-this\n\n delete cachedClients[self.getConfiguration().authorization];\n convertMethodsToError(self, methods(Client.prototype));\n\n return Promise.resolve();\n});\n\nfunction getAuthorizationHeadersForGraphQL(configuration) {\n var token = configuration.authorizationFingerprint || configuration.authorization;\n\n return {\n Authorization: 'Bearer ' + token,\n 'Braintree-Version': BRAINTREE_VERSION\n };\n}\n\nmodule.exports = Client;\n\n},{\"../lib/add-metadata\":92,\"../lib/analytics\":93,\"../lib/assets\":94,\"../lib/assign\":95,\"../lib/braintree-error\":98,\"../lib/constants\":99,\"../lib/convert-methods-to-error\":100,\"../lib/convert-to-braintree-error\":101,\"../lib/create-authorization-data\":103,\"../lib/deferred\":105,\"../lib/is-verified-domain\":126,\"../lib/methods\":128,\"../lib/once\":129,\"../lib/promise\":130,\"./constants\":56,\"./errors\":57,\"./get-configuration\":58,\"./request\":70,\"./request/graphql\":68,\"@braintree/wrap-promise\":50}],56:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n BRAINTREE_VERSION: '2018-05-10'\n};\n\n},{}],57:[function(require,module,exports){\n'use strict';\n\n/**\n * @name BraintreeError.Client - Internal Error Codes\n * @ignore\n * @description These codes should never be experienced by the merchant directly.\n * @property {MERCHANT} CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN An error to prevent client creation for domains that are not allowed in the JS.\n * @property {INTERNAL} CLIENT_MISSING_GATEWAY_CONFIGURATION Occurs when the client is created without a gateway configuration. Should never happen.\n */\n\n/**\n * @name BraintreeError.Client - Create Error Codes\n * @description Errors that may occur when [creating the client](./module-braintree-web_client.html#.create)\n * @property {MERCHANT} CLIENT_INVALID_AUTHORIZATION Occurs when client token cannot be parsed.\n */\n\n/**\n * @name BraintreeError.Client - Request Error Codes\n * @description Errors that may occur when [using the request method](./Client.html#request)\n * @property {MERCHANT} CLIENT_OPTION_REQUIRED An option required in the request method was not provided. Usually `options.method` or `options.endpoint`\n * @property {MERCHANT} CLIENT_OPTION_INVALID The request option provided is invalid.\n * @property {MERCHANT} CLIENT_GATEWAY_NETWORK The Braintree gateway could not be contacted.\n * @property {NETWORK} CLIENT_REQUEST_TIMEOUT The request took too long to complete and timed out.\n * @property {NETWORK} CLIENT_REQUEST_ERROR The response from a request had status 400 or greater.\n * @property {NETWORK} CLIENT_GRAPHQL_REQUEST_ERROR The response from a request to GraphQL contained an error.\n * @property {MERCHANT} CLIENT_RATE_LIMITED The response from a request had a status of 429, indicating rate limiting.\n * @property {MERCHANT} CLIENT_AUTHORIZATION_INSUFFICIENT The user associated with the client token or tokenization key does not have permissions to make the request.\n * @property {MERCHANT} CLIENT_AUTHORIZATION_INVALID The provided authorization could not be found. Either the client token has expired and a new client token must be generated or the tokenization key used is set to be inactive or has been deleted.\n */\n\nvar BraintreeError = require('../lib/braintree-error');\n\nmodule.exports = {\n CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_GATEWAY_CONFIGURATION_INVALID_DOMAIN'\n },\n CLIENT_OPTION_REQUIRED: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_OPTION_REQUIRED'\n },\n CLIENT_OPTION_INVALID: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_OPTION_INVALID'\n },\n CLIENT_MISSING_GATEWAY_CONFIGURATION: {\n type: BraintreeError.types.INTERNAL,\n code: 'CLIENT_MISSING_GATEWAY_CONFIGURATION',\n message: 'Missing gatewayConfiguration.'\n },\n CLIENT_INVALID_AUTHORIZATION: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_INVALID_AUTHORIZATION',\n message: 'Authorization is invalid. Make sure your client token or tokenization key is valid.'\n },\n CLIENT_GATEWAY_NETWORK: {\n type: BraintreeError.types.NETWORK,\n code: 'CLIENT_GATEWAY_NETWORK',\n message: 'Cannot contact the gateway at this time.'\n },\n CLIENT_REQUEST_TIMEOUT: {\n type: BraintreeError.types.NETWORK,\n code: 'CLIENT_REQUEST_TIMEOUT',\n message: 'Request timed out waiting for a reply.'\n },\n CLIENT_REQUEST_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: 'CLIENT_REQUEST_ERROR',\n message: 'There was a problem with your request.'\n },\n CLIENT_GRAPHQL_REQUEST_ERROR: {\n type: BraintreeError.types.NETWORK,\n code: 'CLIENT_GRAPHQL_REQUEST_ERROR',\n message: 'There was a problem with your request.'\n },\n CLIENT_RATE_LIMITED: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_RATE_LIMITED',\n message: 'You are being rate-limited; please try again in a few minutes.'\n },\n CLIENT_AUTHORIZATION_INSUFFICIENT: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_AUTHORIZATION_INSUFFICIENT',\n message: 'The authorization used has insufficient privileges.'\n },\n CLIENT_AUTHORIZATION_INVALID: {\n type: BraintreeError.types.MERCHANT,\n code: 'CLIENT_AUTHORIZATION_INVALID',\n message: 'Either the client token has expired and a new one should be generated or the tokenization key has been deactivated or deleted.'\n }\n};\n\n},{\"../lib/braintree-error\":98}],58:[function(require,module,exports){\n'use strict';\n\nvar BraintreeError = require('../lib/braintree-error');\nvar Promise = require('../lib/promise');\nvar wrapPromise = require('@braintree/wrap-promise');\nvar request = require('./request');\nvar uuid = require('@braintree/uuid');\nvar constants = require('../lib/constants');\nvar errors = require('./errors');\nvar GraphQL = require('./request/graphql');\nvar GRAPHQL_URLS = require('../lib/constants').GRAPHQL_URLS;\nvar isDateStringBeforeOrOn = require('../lib/is-date-string-before-or-on');\n\nvar BRAINTREE_VERSION = require('./constants').BRAINTREE_VERSION;\n\nfunction getConfiguration(authData) {\n return new Promise(function (resolve, reject) {\n var configuration, attrs, configUrl, reqOptions;\n var sessionId = uuid();\n var analyticsMetadata = {\n merchantAppId: window.location.host,\n platform: constants.PLATFORM,\n sdkVersion: constants.VERSION,\n source: constants.SOURCE,\n integration: constants.INTEGRATION,\n integrationType: constants.INTEGRATION,\n sessionId: sessionId\n };\n\n attrs = authData.attrs;\n configUrl = authData.configUrl;\n\n attrs._meta = analyticsMetadata;\n attrs.braintreeLibraryVersion = constants.BRAINTREE_LIBRARY_VERSION;\n attrs.configVersion = '3';\n\n reqOptions = {\n url: configUrl,\n method: 'GET',\n data: attrs\n };\n\n if (attrs.authorizationFingerprint && authData.graphQL) {\n if (isDateStringBeforeOrOn(authData.graphQL.date, BRAINTREE_VERSION)) {\n reqOptions.graphQL = new GraphQL({\n graphQL: {\n url: authData.graphQL.url,\n features: ['configuration']\n }\n });\n }\n\n reqOptions.metadata = analyticsMetadata;\n } else if (attrs.tokenizationKey) {\n reqOptions.graphQL = new GraphQL({\n graphQL: {\n url: GRAPHQL_URLS[authData.environment],\n features: ['configuration']\n }\n });\n\n reqOptions.metadata = analyticsMetadata;\n }\n\n // NEXT_MAJOR_VERSION\n // there are various issues with the config endpoint where the values returned\n // do not match the values from the merchant account id passed into a client token\n // we need to update the configuration request endpoint to be able to pass the\n // correct values. The following ones are incorrect\n // * applePayWeb - definitely supportedNetworks, which compiles all the card\n // networks from all the merchant accounts instead of providing just the\n // ones from the specified one. The same is probably true for ios apple pay\n // Also the merchantidentifier\n // NEXT_MAJOR_VERSION Allow passing in merchant account id when creating the component\n // to fetch the config for that merchant account id (particularly helpful when using\n // a tokenization key for authorization)\n request(reqOptions, function (err, response, status) {\n var errorTemplate;\n\n if (err) {\n if (status === 403) {\n errorTemplate = errors.CLIENT_AUTHORIZATION_INSUFFICIENT;\n } else if (status === 401) {\n errorTemplate = errors.CLIENT_AUTHORIZATION_INVALID;\n } else {\n errorTemplate = errors.CLIENT_GATEWAY_NETWORK;\n }\n\n reject(new BraintreeError({\n type: errorTemplate.type,\n code: errorTemplate.code,\n message: errorTemplate.message,\n details: {\n originalError: err\n }\n }));\n\n return;\n }\n\n configuration = {\n authorizationType: attrs.tokenizationKey ? 'TOKENIZATION_KEY' : 'CLIENT_TOKEN',\n authorizationFingerprint: attrs.authorizationFingerprint,\n analyticsMetadata: analyticsMetadata,\n gatewayConfiguration: response\n };\n\n resolve(configuration);\n });\n });\n}\n\nmodule.exports = {\n getConfiguration: wrapPromise(getConfiguration)\n};\n\n},{\"../lib/braintree-error\":98,\"../lib/constants\":99,\"../lib/is-date-string-before-or-on\":124,\"../lib/promise\":130,\"./constants\":56,\"./errors\":57,\"./request\":70,\"./request/graphql\":68,\"@braintree/uuid\":46,\"@braintree/wrap-promise\":50}],59:[function(require,module,exports){\n'use strict';\n\nvar BraintreeError = require('../lib/braintree-error');\nvar Client = require('./client');\nvar VERSION = \"3.80.0\";\nvar Promise = require('../lib/promise');\nvar wrapPromise = require('@braintree/wrap-promise');\nvar sharedErrors = require('../lib/errors');\n\n/** @module braintree-web/client */\n\n/**\n * @function create\n * @description This function is the entry point for the braintree.client module. It is used for creating {@link Client} instances that service communication to Braintree servers.\n * @param {object} options Object containing all {@link Client} options:\n * @param {string} options.authorization A tokenizationKey or clientToken.\n * @param {callback} [callback] The second argument, data, is the {@link Client} instance.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * var createClient = require('braintree-web/client').create;\n *\n * createClient({\n * authorization: CLIENT_AUTHORIZATION\n * }, function (createErr, clientInstance) {\n * if (createErr) {\n * if (createErr.code === 'CLIENT_AUTHORIZATION_INVALID') {\n * // either the client token has expired, and a new one should be generated\n * // or the tokenization key was deactivated or deleted\n * } else {\n * console.log('something went wrong creating the client instance', createErr);\n * }\n * return;\n * }\n *\n * // set up other components\n * });\n * @static\n */\nfunction create(options) {\n if (!options.authorization) {\n return Promise.reject(new BraintreeError({\n type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type,\n code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code,\n message: 'options.authorization is required when instantiating a client.'\n }));\n }\n\n return Client.initialize(options);\n}\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `1.31.2`.\n * @type {string}\n */\n VERSION: VERSION\n};\n\n},{\"../lib/braintree-error\":98,\"../lib/errors\":108,\"../lib/promise\":130,\"./client\":55,\"@braintree/wrap-promise\":50}],60:[function(require,module,exports){\n'use strict';\n\nvar querystring = require('../../lib/querystring');\nvar assign = require('../../lib/assign').assign;\nvar prepBody = require('./prep-body');\nvar parseBody = require('./parse-body');\nvar xhr = require('./xhr');\nvar isXHRAvailable = xhr.isAvailable;\nvar GraphQLRequest = require('./graphql/request');\nvar DefaultRequest = require('./default-request');\n\nvar MAX_TCP_RETRYCOUNT = 1;\nvar TCP_PRECONNECT_BUG_STATUS_CODE = 408;\n\nfunction requestShouldRetry(status) {\n return !status || status === TCP_PRECONNECT_BUG_STATUS_CODE;\n}\n\nfunction graphQLRequestShouldRetryWithClientApi(body) {\n var errorClass = !body.data && body.errors &&\n body.errors[0] &&\n body.errors[0].extensions &&\n body.errors[0].extensions.errorClass;\n\n return errorClass === 'UNKNOWN' || errorClass === 'INTERNAL';\n}\n\nfunction _requestWithRetry(options, tcpRetryCount, cb) {\n var status, resBody, ajaxRequest, body, method, headers, parsedBody;\n var url = options.url;\n var graphQL = options.graphQL;\n var timeout = options.timeout;\n var req = xhr.getRequestObject();\n var callback = cb;\n var isGraphQLRequest = Boolean(graphQL && graphQL.isGraphQLRequest(url, options.data));\n\n options.headers = assign({'Content-Type': 'application/json'}, options.headers);\n\n if (isGraphQLRequest) {\n ajaxRequest = new GraphQLRequest(options);\n } else {\n ajaxRequest = new DefaultRequest(options);\n }\n\n url = ajaxRequest.getUrl();\n body = ajaxRequest.getBody();\n method = ajaxRequest.getMethod();\n headers = ajaxRequest.getHeaders();\n\n if (method === 'GET') {\n url = querystring.queryify(url, body);\n body = null;\n }\n\n if (isXHRAvailable) {\n req.onreadystatechange = function () {\n if (req.readyState !== 4) { return; }\n\n if (req.status === 0 && isGraphQLRequest) {\n // If a merchant experiences a connection\n // issue to the GraphQL endpoint (possibly\n // due to a Content Security Policy), retry\n // the request against the old client API.\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n parsedBody = parseBody(req.responseText);\n resBody = ajaxRequest.adaptResponseBody(parsedBody);\n status = ajaxRequest.determineStatus(req.status, parsedBody);\n\n if (status >= 400 || status < 200) {\n if (isGraphQLRequest && graphQLRequestShouldRetryWithClientApi(parsedBody)) {\n delete options.graphQL;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n if (tcpRetryCount < MAX_TCP_RETRYCOUNT && requestShouldRetry(status)) {\n tcpRetryCount++;\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n callback(resBody || 'error', null, status || 500);\n } else {\n callback(null, resBody, status);\n }\n };\n } else {\n if (options.headers) {\n url = querystring.queryify(url, headers);\n }\n\n req.onload = function () {\n callback(null, parseBody(req.responseText), req.status);\n };\n\n req.onerror = function () {\n // XDomainRequest does not report a body or status for errors, so\n // hardcode to 'error' and 500, respectively\n callback('error', null, 500);\n };\n\n // This must remain for IE9 to work\n req.onprogress = function () {};\n\n req.ontimeout = function () {\n callback('timeout', null, -1);\n };\n }\n\n try {\n req.open(method, url, true);\n } catch (requestOpenError) {\n // If a merchant has a Content Security Policy and they have\n // not allowed our endpoints, some browsers may\n // synchronously throw an error. If it is not a GraphQL\n // request, we throw the error. If it is a GraphQL request\n // we remove the GraphQL option and try the request against\n // the old client API.\n if (!isGraphQLRequest) {\n throw requestOpenError;\n }\n\n delete options.graphQL;\n\n _requestWithRetry(options, tcpRetryCount, cb);\n\n return;\n }\n\n req.timeout = timeout;\n\n if (isXHRAvailable) {\n Object.keys(headers).forEach(function (headerKey) {\n req.setRequestHeader(headerKey, headers[headerKey]);\n });\n }\n\n try {\n req.send(prepBody(method, body));\n } catch (e) { /* ignored */ }\n}\n\nfunction request(options, cb) {\n _requestWithRetry(options, 0, cb);\n}\n\nmodule.exports = {\n request: request\n};\n\n},{\"../../lib/assign\":95,\"../../lib/querystring\":131,\"./default-request\":61,\"./graphql/request\":69,\"./parse-body\":73,\"./prep-body\":74,\"./xhr\":75}],61:[function(require,module,exports){\n'use strict';\n\nfunction DefaultRequest(options) {\n this._url = options.url;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n}\n\nDefaultRequest.prototype.getUrl = function () {\n return this._url;\n};\n\nDefaultRequest.prototype.getBody = function () {\n return this._data;\n};\n\nDefaultRequest.prototype.getMethod = function () {\n return this._method;\n};\n\nDefaultRequest.prototype.getHeaders = function () {\n return this._headers;\n};\n\nDefaultRequest.prototype.adaptResponseBody = function (parsedBody) {\n return parsedBody;\n};\n\nDefaultRequest.prototype.determineStatus = function (status) {\n return status;\n};\n\nmodule.exports = DefaultRequest;\n\n},{}],62:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function getUserAgent() {\n return window.navigator.userAgent;\n};\n\n},{}],63:[function(require,module,exports){\n'use strict';\n\nvar errorResponseAdapter = require('./error');\nvar assign = require('../../../../lib/assign').assign;\n\n/* eslint-disable camelcase */\nvar cardTypeTransforms = {\n creditCard: {\n AMERICAN_EXPRESS: 'American Express',\n DISCOVER: 'Discover',\n INTERNATIONAL_MAESTRO: 'Maestro',\n JCB: 'JCB',\n MASTERCARD: 'MasterCard',\n SOLO: 'Solo',\n UK_MAESTRO: 'UK Maestro',\n UNION_PAY: 'UnionPay',\n VISA: 'Visa'\n },\n applePayWeb: {\n VISA: 'visa',\n MASTERCARD: 'mastercard',\n DISCOVER: 'discover',\n AMERICAN_EXPRESS: 'amex',\n INTERNATIONAL_MAESTRO: 'maestro',\n ELO: 'elo'\n },\n visaCheckout: {\n VISA: 'Visa',\n MASTERCARD: 'MasterCard',\n DISCOVER: 'Discover',\n AMERICAN_EXPRESS: 'American Express'\n },\n googlePay: {\n VISA: 'visa',\n MASTERCARD: 'mastercard',\n DISCOVER: 'discover',\n AMERICAN_EXPRESS: 'amex',\n INTERNATIONAL_MAESTRO: 'maestro',\n ELO: 'elo'\n },\n masterpass: {\n VISA: 'visa',\n MASTERCARD: 'master',\n DISCOVER: 'discover',\n AMERICAN_EXPRESS: 'amex',\n DINERS: 'diners',\n INTERNATIONAL_MAESTRO: 'maestro',\n JCB: 'jcb'\n }\n};\n/* eslint-enable camelcase */\n\nfunction configurationResponseAdapter(responseBody, ctx) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptConfigurationResponseBody(responseBody, ctx);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptConfigurationResponseBody(body, ctx) {\n var configuration = body.data.clientConfiguration;\n var response;\n\n response = {\n environment: configuration.environment.toLowerCase(),\n clientApiUrl: configuration.clientApiUrl,\n assetsUrl: configuration.assetsUrl,\n analytics: {\n url: configuration.analyticsUrl\n },\n merchantId: configuration.merchantId,\n venmo: 'off'\n };\n\n if (configuration.supportedFeatures) {\n response.graphQL = {\n url: ctx._graphQL._config.url,\n features: configuration.supportedFeatures.map(function (feature) {\n return feature.toLowerCase();\n })\n };\n }\n\n if (configuration.braintreeApi) {\n response.braintreeApi = configuration.braintreeApi;\n }\n\n if (configuration.applePayWeb) {\n response.applePayWeb = configuration.applePayWeb;\n response.applePayWeb.supportedNetworks = mapCardTypes(configuration.applePayWeb.supportedCardBrands, cardTypeTransforms.applePayWeb);\n\n delete response.applePayWeb.supportedCardBrands;\n }\n\n if (configuration.ideal) {\n response.ideal = configuration.ideal;\n }\n\n if (configuration.kount) {\n response.kount = {\n kountMerchantId: configuration.kount.merchantId\n };\n }\n\n if (configuration.creditCard) {\n response.challenges = configuration.creditCard.challenges.map(function (challenge) {\n return challenge.toLowerCase();\n });\n\n response.creditCards = {\n supportedCardTypes: mapCardTypes(configuration.creditCard.supportedCardBrands, cardTypeTransforms.creditCard)\n };\n response.threeDSecureEnabled = configuration.creditCard.threeDSecureEnabled;\n response.threeDSecure = configuration.creditCard.threeDSecure;\n } else {\n response.challenges = [];\n response.creditCards = {\n supportedCardTypes: []\n };\n response.threeDSecureEnabled = false;\n }\n\n if (configuration.googlePay) {\n response.androidPay = {\n displayName: configuration.googlePay.displayName,\n enabled: true,\n environment: configuration.googlePay.environment.toLowerCase(),\n googleAuthorizationFingerprint: configuration.googlePay.googleAuthorization,\n paypalClientId: configuration.googlePay.paypalClientId,\n supportedNetworks: mapCardTypes(configuration.googlePay.supportedCardBrands, cardTypeTransforms.googlePay)\n };\n }\n\n if (configuration.venmo) {\n response.payWithVenmo = {\n merchantId: configuration.venmo.merchantId,\n accessToken: configuration.venmo.accessToken,\n environment: configuration.venmo.environment.toLowerCase()\n };\n }\n\n if (configuration.paypal) {\n response.paypalEnabled = true;\n response.paypal = assign({}, configuration.paypal);\n response.paypal.currencyIsoCode = response.paypal.currencyCode;\n response.paypal.environment = response.paypal.environment.toLowerCase();\n\n delete response.paypal.currencyCode;\n } else {\n response.paypalEnabled = false;\n }\n\n if (configuration.unionPay) {\n response.unionPay = {\n enabled: true,\n merchantAccountId: configuration.unionPay.merchantAccountId\n };\n }\n\n if (configuration.visaCheckout) {\n response.visaCheckout = {\n apikey: configuration.visaCheckout.apiKey,\n externalClientId: configuration.visaCheckout.externalClientId,\n supportedCardTypes: mapCardTypes(configuration.visaCheckout.supportedCardBrands, cardTypeTransforms.visaCheckout)\n };\n }\n\n if (configuration.masterpass) {\n response.masterpass = {\n merchantCheckoutId: configuration.masterpass.merchantCheckoutId,\n supportedNetworks: mapCardTypes(configuration.masterpass.supportedCardBrands, cardTypeTransforms.masterpass)\n };\n }\n\n if (configuration.usBankAccount) {\n response.usBankAccount = {\n routeId: configuration.usBankAccount.routeId,\n plaid: {\n publicKey: configuration.usBankAccount.plaidPublicKey\n }\n };\n }\n\n return response;\n}\n\nfunction mapCardTypes(cardTypes, cardTypeTransformMap) {\n return cardTypes.reduce(function (acc, type) {\n if (cardTypeTransformMap.hasOwnProperty(type)) {\n return acc.concat(cardTypeTransformMap[type]);\n }\n\n return acc;\n }, []);\n}\n\nmodule.exports = configurationResponseAdapter;\n\n},{\"../../../../lib/assign\":95,\"./error\":65}],64:[function(require,module,exports){\n'use strict';\n\nvar errorResponseAdapter = require('./error');\n\nvar CARD_BRAND_MAP = {\n /* eslint-disable camelcase */\n AMERICAN_EXPRESS: 'American Express',\n DINERS: 'Discover',\n DISCOVER: 'Discover',\n INTERNATIONAL_MAESTRO: 'Maestro',\n JCB: 'JCB',\n MASTERCARD: 'MasterCard',\n UK_MAESTRO: 'Maestro',\n UNION_PAY: 'Union Pay',\n VISA: 'Visa'\n /* eslint-enable camelcase */\n};\n\nvar BIN_DATA_MAP = {\n YES: 'Yes',\n NO: 'No',\n UNKNOWN: 'Unknown'\n};\n\nvar AUTHENTICATION_INSIGHT_MAP = {\n PSDTWO: 'psd2'\n};\n\nfunction creditCardTokenizationResponseAdapter(responseBody) {\n var adaptedResponse;\n\n if (responseBody.data && !responseBody.errors) {\n adaptedResponse = adaptTokenizeCreditCardResponseBody(responseBody);\n } else {\n adaptedResponse = errorResponseAdapter(responseBody);\n }\n\n return adaptedResponse;\n}\n\nfunction adaptTokenizeCreditCardResponseBody(body) {\n var data = body.data.tokenizeCreditCard;\n var creditCard = data.creditCard;\n var lastTwo = creditCard.last4 ? creditCard.last4.substr(2, 4) : '';\n var binData = creditCard.binData;\n var response, regulationEnvironment;\n\n if (binData) {\n ['commercial', 'debit', 'durbinRegulated', 'healthcare', 'payroll', 'prepaid'].forEach(function (key) {\n if (binData[key]) {\n binData[key] = BIN_DATA_MAP[binData[key]];\n } else {\n binData[key] = 'Unknown';\n }\n });\n\n ['issuingBank', 'countryOfIssuance', 'productId'].forEach(function (key) {\n if (!binData[key]) { binData[key] = 'Unknown'; }\n });\n }\n\n response = {\n creditCards: [\n {\n binData: binData,\n consumed: false,\n description: lastTwo ? 'ending in ' + lastTwo : '',\n nonce: data.token,\n details: {\n cardholderName: creditCard.cardholderName,\n expirationMonth: creditCard.expirationMonth,\n expirationYear: creditCard.expirationYear,\n bin: creditCard.bin || '',\n cardType: CARD_BRAND_MAP[creditCard.brandCode] || 'Unknown',\n lastFour: creditCard.last4 || '',\n lastTwo: lastTwo\n },\n type: 'CreditCard',\n threeDSecureInfo: null\n }\n ]\n };\n\n if (data.authenticationInsight) {\n regulationEnvironment = data.authenticationInsight.customerAuthenticationRegulationEnvironment;\n response.creditCards[0].authenticationInsight = {\n regulationEnvironment: AUTHENTICATION_INSIGHT_MAP[regulationEnvironment] || regulationEnvironment.toLowerCase()\n };\n }\n\n return response;\n}\n\nmodule.exports = creditCardTokenizationResponseAdapter;\n\n},{\"./error\":65}],65:[function(require,module,exports){\n'use strict';\n\nfunction errorResponseAdapter(responseBody) {\n var response;\n var errorClass = responseBody.errors &&\n responseBody.errors[0] &&\n responseBody.errors[0].extensions &&\n responseBody.errors[0].extensions.errorClass;\n\n if (errorClass === 'VALIDATION') {\n response = userErrorResponseAdapter(responseBody);\n } else if (errorClass) {\n response = errorWithClassResponseAdapter(responseBody);\n } else {\n response = {error: {message: 'There was a problem serving your request'}, fieldErrors: []};\n }\n\n return response;\n}\n\nfunction errorWithClassResponseAdapter(responseBody) {\n return {error: {message: responseBody.errors[0].message}, fieldErrors: []};\n}\n\nfunction userErrorResponseAdapter(responseBody) {\n var fieldErrors = buildFieldErrors(responseBody.errors);\n\n if (fieldErrors.length === 0) {\n return {error: {message: responseBody.errors[0].message}};\n }\n\n return {error: {message: getLegacyMessage(fieldErrors)}, fieldErrors: fieldErrors};\n}\n\nfunction buildFieldErrors(errors) {\n var fieldErrors = [];\n\n errors.forEach(function (error) {\n if (!(error.extensions && error.extensions.inputPath)) {\n return;\n }\n addFieldError(error.extensions.inputPath.slice(1), error, fieldErrors);\n });\n\n return fieldErrors;\n}\n\nfunction addFieldError(inputPath, errorDetail, fieldErrors) {\n var fieldError;\n var legacyCode = errorDetail.extensions.legacyCode;\n var inputField = inputPath[0];\n\n if (inputPath.length === 1) {\n fieldErrors.push({\n code: legacyCode,\n field: inputField,\n message: errorDetail.message\n });\n\n return;\n }\n\n fieldErrors.forEach(function (candidate) {\n if (candidate.field === inputField) {\n fieldError = candidate;\n }\n });\n\n if (!fieldError) {\n fieldError = {field: inputField, fieldErrors: []};\n fieldErrors.push(fieldError);\n }\n\n addFieldError(inputPath.slice(1), errorDetail, fieldError.fieldErrors);\n}\n\nfunction getLegacyMessage(errors) {\n var legacyMessages = {\n creditCard: 'Credit card is invalid'\n };\n\n var field = errors[0].field;\n\n return legacyMessages[field];\n}\n\nmodule.exports = errorResponseAdapter;\n\n},{}],66:[function(require,module,exports){\n'use strict';\n\nvar CONFIGURATION_QUERY = 'query ClientConfiguration { ' +\n' clientConfiguration { ' +\n' analyticsUrl ' +\n' environment ' +\n' merchantId ' +\n' assetsUrl ' +\n' clientApiUrl ' +\n' creditCard { ' +\n' supportedCardBrands ' +\n' challenges ' +\n' threeDSecureEnabled ' +\n' threeDSecure { ' +\n' cardinalAuthenticationJWT ' +\n' } ' +\n' } ' +\n' applePayWeb { ' +\n' countryCode ' +\n' currencyCode ' +\n' merchantIdentifier ' +\n' supportedCardBrands ' +\n' } ' +\n' googlePay { ' +\n' displayName ' +\n' supportedCardBrands ' +\n' environment ' +\n' googleAuthorization ' +\n' paypalClientId ' +\n' } ' +\n' ideal { ' +\n' routeId ' +\n' assetsUrl ' +\n' } ' +\n' kount { ' +\n' merchantId ' +\n' } ' +\n' masterpass { ' +\n' merchantCheckoutId ' +\n' supportedCardBrands ' +\n' } ' +\n' paypal { ' +\n' displayName ' +\n' clientId ' +\n' privacyUrl ' +\n' userAgreementUrl ' +\n' assetsUrl ' +\n' environment ' +\n' environmentNoNetwork ' +\n' unvettedMerchant ' +\n' braintreeClientId ' +\n' billingAgreementsEnabled ' +\n' merchantAccountId ' +\n' currencyCode ' +\n' payeeEmail ' +\n' } ' +\n' unionPay { ' +\n' merchantAccountId ' +\n' } ' +\n' usBankAccount { ' +\n' routeId ' +\n' plaidPublicKey ' +\n' } ' +\n' venmo { ' +\n' merchantId ' +\n' accessToken ' +\n' environment ' +\n' } ' +\n' visaCheckout { ' +\n' apiKey ' +\n' externalClientId ' +\n' supportedCardBrands ' +\n' } ' +\n' braintreeApi { ' +\n' accessToken ' +\n' url ' +\n' } ' +\n' supportedFeatures ' +\n' } ' +\n'}';\n\nfunction configuration() {\n return {\n query: CONFIGURATION_QUERY,\n operationName: 'ClientConfiguration'\n };\n}\n\nmodule.exports = configuration;\n\n},{}],67:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../../../../lib/assign').assign;\n\nfunction createMutation(config) {\n var hasAuthenticationInsight = config.hasAuthenticationInsight;\n var mutation = 'mutation TokenizeCreditCard($input: TokenizeCreditCardInput!';\n\n if (hasAuthenticationInsight) {\n mutation += ', $authenticationInsightInput: AuthenticationInsightInput!';\n }\n\n mutation += ') { ' +\n ' tokenizeCreditCard(input: $input) { ' +\n ' token ' +\n ' creditCard { ' +\n ' bin ' +\n ' brandCode ' +\n ' last4 ' +\n ' cardholderName ' +\n ' expirationMonth' +\n ' expirationYear' +\n ' binData { ' +\n ' prepaid ' +\n ' healthcare ' +\n ' debit ' +\n ' durbinRegulated ' +\n ' commercial ' +\n ' payroll ' +\n ' issuingBank ' +\n ' countryOfIssuance ' +\n ' productId ' +\n ' } ' +\n ' } ';\n\n if (hasAuthenticationInsight) {\n mutation += ' authenticationInsight(input: $authenticationInsightInput) {' +\n ' customerAuthenticationRegulationEnvironment' +\n ' }';\n }\n\n mutation += ' } ' +\n '}';\n\n return mutation;\n}\n\nfunction createCreditCardTokenizationBody(body, options) {\n var cc = body.creditCard;\n var billingAddress = cc && cc.billingAddress;\n var expDate = cc && cc.expirationDate;\n var expirationMonth = cc && (cc.expirationMonth || (expDate && expDate.split('/')[0].trim()));\n var expirationYear = cc && (cc.expirationYear || (expDate && expDate.split('/')[1].trim()));\n var variables = {\n input: {\n creditCard: {\n number: cc && cc.number,\n expirationMonth: expirationMonth,\n expirationYear: expirationYear,\n cvv: cc && cc.cvv,\n cardholderName: cc && cc.cardholderName\n },\n options: {}\n }\n };\n\n if (options.hasAuthenticationInsight) {\n variables.authenticationInsightInput = {\n merchantAccountId: body.merchantAccountId\n };\n }\n\n if (billingAddress) {\n variables.input.creditCard.billingAddress = billingAddress;\n }\n\n variables.input = addValidationRule(body, variables.input);\n\n return variables;\n}\n\nfunction addValidationRule(body, input) {\n var validate;\n\n if (body.creditCard && body.creditCard.options && typeof body.creditCard.options.validate === 'boolean') {\n validate = body.creditCard.options.validate;\n } else if ((body.authorizationFingerprint && body.tokenizationKey) || body.authorizationFingerprint) {\n validate = true;\n } else if (body.tokenizationKey) {\n validate = false;\n }\n\n if (typeof validate === 'boolean') {\n input.options = assign({\n validate: validate\n }, input.options);\n }\n\n return input;\n}\n\nfunction creditCardTokenization(body) {\n var options = {\n hasAuthenticationInsight: Boolean(body.authenticationInsight && body.merchantAccountId)\n };\n\n return {\n query: createMutation(options),\n variables: createCreditCardTokenizationBody(body, options),\n operationName: 'TokenizeCreditCard'\n };\n}\n\nmodule.exports = creditCardTokenization;\n\n},{\"../../../../lib/assign\":95}],68:[function(require,module,exports){\n'use strict';\n\nvar browserDetection = require('../../browser-detection');\n\nvar features = {\n tokenize_credit_cards: 'payment_methods/credit_cards', // eslint-disable-line camelcase\n configuration: 'configuration'\n};\n\nvar disallowedInputPaths = [\n 'creditCard.options.unionPayEnrollment'\n];\n\nfunction GraphQL(config) {\n this._config = config.graphQL;\n}\n\nGraphQL.prototype.getGraphQLEndpoint = function () {\n return this._config.url;\n};\n\nGraphQL.prototype.isGraphQLRequest = function (url, body) {\n var featureEnabled;\n var path = this.getClientApiPath(url);\n\n if (!this._isGraphQLEnabled() || !path || browserDetection.isIe9()) {\n return false;\n }\n\n featureEnabled = this._config.features.some(function (feature) {\n return features[feature] === path;\n });\n\n if (containsDisallowedlistedKeys(body)) {\n return false;\n }\n\n return featureEnabled;\n};\n\nGraphQL.prototype.getClientApiPath = function (url) {\n var path;\n var clientApiPrefix = '/client_api/v1/';\n var pathParts = url.split(clientApiPrefix);\n\n if (pathParts.length > 1) {\n path = pathParts[1].split('?')[0];\n }\n\n return path;\n};\n\nGraphQL.prototype._isGraphQLEnabled = function () {\n return Boolean(this._config);\n};\n\nfunction containsDisallowedlistedKeys(body) {\n return disallowedInputPaths.some(function (keys) {\n var value = keys.split('.').reduce(function (accumulator, key) {\n return accumulator && accumulator[key];\n }, body);\n\n return value !== undefined; // eslint-disable-line no-undefined\n });\n}\n\nmodule.exports = GraphQL;\n\n},{\"../../browser-detection\":54}],69:[function(require,module,exports){\n'use strict';\n\nvar BRAINTREE_VERSION = require('../../constants').BRAINTREE_VERSION;\n\nvar assign = require('../../../lib/assign').assign;\n\nvar creditCardTokenizationBodyGenerator = require('./generators/credit-card-tokenization');\nvar creditCardTokenizationResponseAdapter = require('./adapters/credit-card-tokenization');\n\nvar configurationBodyGenerator = require('./generators/configuration');\nvar configurationResponseAdapter = require('./adapters/configuration');\n\nvar generators = {\n 'payment_methods/credit_cards': creditCardTokenizationBodyGenerator,\n configuration: configurationBodyGenerator\n};\nvar adapters = {\n 'payment_methods/credit_cards': creditCardTokenizationResponseAdapter,\n configuration: configurationResponseAdapter\n};\n\nfunction GraphQLRequest(options) {\n var clientApiPath = options.graphQL.getClientApiPath(options.url);\n\n this._graphQL = options.graphQL;\n this._data = options.data;\n this._method = options.method;\n this._headers = options.headers;\n this._clientSdkMetadata = {\n source: options.metadata.source,\n integration: options.metadata.integration,\n sessionId: options.metadata.sessionId\n };\n this._sendAnalyticsEvent = options.sendAnalyticsEvent || Function.prototype;\n\n this._generator = generators[clientApiPath];\n this._adapter = adapters[clientApiPath];\n\n this._sendAnalyticsEvent('graphql.init');\n}\n\nGraphQLRequest.prototype.getUrl = function () {\n return this._graphQL.getGraphQLEndpoint();\n};\n\nGraphQLRequest.prototype.getBody = function () {\n var formattedBody = formatBodyKeys(this._data);\n var generatedBody = this._generator(formattedBody);\n var body = assign({clientSdkMetadata: this._clientSdkMetadata}, generatedBody);\n\n return JSON.stringify(body);\n};\n\nGraphQLRequest.prototype.getMethod = function () {\n return 'POST';\n};\n\nGraphQLRequest.prototype.getHeaders = function () {\n var authorization, headers;\n\n if (this._data.authorizationFingerprint) {\n this._sendAnalyticsEvent('graphql.authorization-fingerprint');\n authorization = this._data.authorizationFingerprint;\n } else {\n this._sendAnalyticsEvent('graphql.tokenization-key');\n authorization = this._data.tokenizationKey;\n }\n\n headers = {\n Authorization: 'Bearer ' + authorization,\n 'Braintree-Version': BRAINTREE_VERSION\n };\n\n return assign({}, this._headers, headers);\n};\n\nGraphQLRequest.prototype.adaptResponseBody = function (parsedBody) {\n return this._adapter(parsedBody, this);\n};\n\nGraphQLRequest.prototype.determineStatus = function (httpStatus, parsedResponse) {\n var status, errorClass;\n\n if (httpStatus === 200) {\n errorClass = parsedResponse.errors &&\n parsedResponse.errors[0] &&\n parsedResponse.errors[0].extensions &&\n parsedResponse.errors[0].extensions.errorClass;\n\n if (parsedResponse.data && !parsedResponse.errors) {\n status = 200;\n } else if (errorClass === 'VALIDATION') {\n status = 422;\n } else if (errorClass === 'AUTHORIZATION') {\n status = 403;\n } else if (errorClass === 'AUTHENTICATION') {\n status = 401;\n } else if (isGraphQLError(errorClass, parsedResponse)) {\n status = 403;\n } else {\n status = 500;\n }\n } else if (!httpStatus) {\n status = 500;\n } else {\n status = httpStatus;\n }\n\n this._sendAnalyticsEvent('graphql.status.' + httpStatus);\n this._sendAnalyticsEvent('graphql.determinedStatus.' + status);\n\n return status;\n};\n\nfunction isGraphQLError(errorClass, parsedResponse) {\n return !errorClass && parsedResponse.errors[0].message;\n}\n\nfunction snakeCaseToCamelCase(snakeString) {\n if (snakeString.indexOf('_') === -1) {\n return snakeString;\n }\n\n return snakeString.toLowerCase().replace(/(\\_\\w)/g, function (match) {\n return match[1].toUpperCase();\n });\n}\n\nfunction formatBodyKeys(originalBody) {\n var body = {};\n\n Object.keys(originalBody).forEach(function (key) {\n var camelCaseKey = snakeCaseToCamelCase(key);\n\n if (typeof originalBody[key] === 'object') {\n body[camelCaseKey] = formatBodyKeys(originalBody[key]);\n } else if (typeof originalBody[key] === 'number') {\n body[camelCaseKey] = String(originalBody[key]);\n } else {\n body[camelCaseKey] = originalBody[key];\n }\n });\n\n return body;\n}\n\nmodule.exports = GraphQLRequest;\n\n},{\"../../../lib/assign\":95,\"../../constants\":56,\"./adapters/configuration\":63,\"./adapters/credit-card-tokenization\":64,\"./generators/configuration\":66,\"./generators/credit-card-tokenization\":67}],70:[function(require,module,exports){\n'use strict';\n\nvar ajaxIsAvaliable;\nvar once = require('../../lib/once');\nvar JSONPDriver = require('./jsonp-driver');\nvar AJAXDriver = require('./ajax-driver');\nvar getUserAgent = require('./get-user-agent');\nvar isHTTP = require('./is-http');\n\nfunction isAjaxAvailable() {\n if (ajaxIsAvaliable == null) {\n ajaxIsAvaliable = !(isHTTP() && /MSIE\\s(8|9)/.test(getUserAgent()));\n }\n\n return ajaxIsAvaliable;\n}\n\nmodule.exports = function (options, cb) {\n cb = once(cb || Function.prototype);\n options.method = (options.method || 'GET').toUpperCase();\n options.timeout = options.timeout == null ? 60000 : options.timeout;\n options.data = options.data || {};\n\n if (isAjaxAvailable()) {\n AJAXDriver.request(options, cb);\n } else {\n JSONPDriver.request(options, cb);\n }\n};\n\n},{\"../../lib/once\":129,\"./ajax-driver\":60,\"./get-user-agent\":62,\"./is-http\":71,\"./jsonp-driver\":72}],71:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function () {\n return window.location.protocol === 'http:';\n};\n\n},{}],72:[function(require,module,exports){\n'use strict';\n\nvar head;\nvar uuid = require('@braintree/uuid');\nvar querystring = require('../../lib/querystring');\nvar timeouts = {};\n\nfunction _removeScript(script) {\n if (script && script.parentNode) {\n script.parentNode.removeChild(script);\n }\n}\n\nfunction _createScriptTag(url, callbackName) {\n var script = document.createElement('script');\n var done = false;\n\n script.src = url;\n script.async = true;\n script.onerror = function () {\n window[callbackName]({message: 'error', status: 500});\n };\n\n script.onload = script.onreadystatechange = function () {\n if (done) { return; }\n\n if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {\n done = true;\n script.onload = script.onreadystatechange = null;\n }\n };\n\n return script;\n}\n\nfunction _cleanupGlobal(callbackName) {\n try {\n delete window[callbackName];\n } catch (_) {\n window[callbackName] = null;\n }\n}\n\nfunction _setupTimeout(timeout, callbackName) {\n timeouts[callbackName] = setTimeout(function () {\n timeouts[callbackName] = null;\n\n window[callbackName]({\n error: 'timeout',\n status: -1\n });\n\n window[callbackName] = function () {\n _cleanupGlobal(callbackName);\n };\n }, timeout);\n}\n\nfunction _setupGlobalCallback(script, callback, callbackName) {\n window[callbackName] = function (response) {\n var status = response.status || 500;\n var err = null;\n var data = null;\n\n delete response.status;\n\n if (status >= 400 || status < 200) {\n err = response;\n } else {\n data = response;\n }\n\n _cleanupGlobal(callbackName);\n _removeScript(script);\n\n clearTimeout(timeouts[callbackName]);\n callback(err, data, status);\n };\n}\n\nfunction request(options, callback) {\n var script;\n var callbackName = 'callback_json_' + uuid().replace(/-/g, '');\n var url = options.url;\n var attrs = options.data;\n var method = options.method;\n var timeout = options.timeout;\n\n url = querystring.queryify(url, attrs);\n url = querystring.queryify(url, {\n _method: method,\n callback: callbackName\n });\n\n script = _createScriptTag(url, callbackName);\n _setupGlobalCallback(script, callback, callbackName);\n _setupTimeout(timeout, callbackName);\n\n if (!head) {\n head = document.getElementsByTagName('head')[0];\n }\n\n head.appendChild(script);\n}\n\nmodule.exports = {\n request: request\n};\n\n},{\"../../lib/querystring\":131,\"@braintree/uuid\":46}],73:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function (body) {\n try {\n body = JSON.parse(body);\n } catch (e) { /* ignored */ }\n\n return body;\n};\n\n},{}],74:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function (method, body) {\n if (typeof method !== 'string') {\n throw new Error('Method must be a string');\n }\n\n if (method.toLowerCase() !== 'get' && body != null) {\n body = typeof body === 'string' ? body : JSON.stringify(body);\n }\n\n return body;\n};\n\n},{}],75:[function(require,module,exports){\n'use strict';\n\nvar isXHRAvailable = typeof window !== 'undefined' && window.XMLHttpRequest && 'withCredentials' in new window.XMLHttpRequest();\n\nfunction getRequestObject() {\n return isXHRAvailable ? new window.XMLHttpRequest() : new window.XDomainRequest();\n}\n\nmodule.exports = {\n isAvailable: isXHRAvailable,\n getRequestObject: getRequestObject\n};\n\n},{}],76:[function(require,module,exports){\n'use strict';\n\n/**\n * @name BraintreeError.Google Payment - Creation Error Codes\n * @description Errors that occur when [creating the Google Payment component](./module-braintree-web_google-payment.html#.create).\n * @property {MERCHANT} GOOGLE_PAYMENT_NOT_ENABLED Occurs when Google Pay is not enabled on the Braintree control panel.\n * @property {MERCHANT} GOOGLE_PAYMENT_UNSUPPORTED_VERSION Occurs when a Google Pay version is used that is not supported by the Braintree SDK.\n */\n\n/**\n * @name BraintreeError.Google Payment - parseResponse Error Codes\n * @description Errors that occur when [parsing the response from Google](./GooglePayment.html#parseResponse).\n * @property {UNKNOWN} GOOGLE_PAYMENT_GATEWAY_ERROR Occurs when Google Pay could not be tokenized.\n */\n\nvar BraintreeError = require('../lib/braintree-error');\n\nmodule.exports = {\n GOOGLE_PAYMENT_NOT_ENABLED: {\n type: BraintreeError.types.MERCHANT,\n code: 'GOOGLE_PAYMENT_NOT_ENABLED',\n message: 'Google Pay is not enabled for this merchant.'\n },\n GOOGLE_PAYMENT_GATEWAY_ERROR: {\n code: 'GOOGLE_PAYMENT_GATEWAY_ERROR',\n message: 'There was an error when tokenizing the Google Pay payment method.',\n type: BraintreeError.types.UNKNOWN\n },\n GOOGLE_PAYMENT_UNSUPPORTED_VERSION: {\n code: 'GOOGLE_PAYMENT_UNSUPPORTED_VERSION',\n type: BraintreeError.types.MERCHANT\n }\n};\n\n},{\"../lib/braintree-error\":98}],77:[function(require,module,exports){\n'use strict';\n\nvar analytics = require('../lib/analytics');\nvar assign = require('../lib/assign').assign;\nvar convertMethodsToError = require('../lib/convert-methods-to-error');\nvar find = require('../lib/find');\nvar generateGooglePayConfiguration = require('../lib/generate-google-pay-configuration');\nvar BraintreeError = require('../lib/braintree-error');\nvar errors = require('./errors');\nvar methods = require('../lib/methods');\nvar Promise = require('../lib/promise');\nvar wrapPromise = require('@braintree/wrap-promise');\n\nvar CREATE_PAYMENT_DATA_REQUEST_METHODS = {\n 1: '_createV1PaymentDataRequest',\n 2: '_createV2PaymentDataRequest'\n};\n\n/**\n * @typedef {object} GooglePayment~tokenizePayload\n * @property {string} nonce The payment method nonce.\n * @property {object} details Additional account details.\n * @property {string} details.cardType Type of card, ex: Visa, MasterCard.\n * @property {string} details.lastFour Last four digits of card number.\n * @property {string} details.lastTwo Last two digits of card number.\n * @property {boolean} details.isNetworkTokenized True if the card is network tokenized.\n * @property {string} details.bin First six digits of card number.\n * @property {string} description A human-readable description.\n * @property {string} type The payment method type, `CreditCard` or `AndroidPayCard`.\n * @property {object} binData Information about the card based on the bin.\n * @property {string} binData.commercial Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.countryOfIssuance The country of issuance.\n * @property {string} binData.debit Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.durbinRegulated Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.healthcare Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.issuingBank The issuing bank.\n * @property {string} binData.payroll Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.prepaid Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.productId The product id.\n */\n\n/**\n * @class GooglePayment\n * @param {object} options Google Payment {@link module:braintree-web/google-payment.create create} options.\n * @description Do not use this constructor directly. Use {@link module:braintree-web/google-payment.create|braintree-web.google-payment.create} instead.\n * @classdesc This class represents a Google Payment component produced by {@link module:braintree-web/google-payment.create|braintree-web/google-payment.create}. Instances of this class have methods for initializing the Google Pay flow.\n */\nfunction GooglePayment(options) {\n this._createPromise = options.createPromise;\n this._client = options.client;\n this._useDeferredClient = options.useDeferredClient;\n // NEXT_MAJOR_VERSION this should be updated to 2 (or whatever the current latest version is)\n this._googlePayVersion = options.googlePayVersion || 1;\n this._googleMerchantId = options.googleMerchantId;\n\n if (this._isUnsupportedGooglePayAPIVersion()) {\n throw new BraintreeError({\n code: errors.GOOGLE_PAYMENT_UNSUPPORTED_VERSION.code,\n message: 'The Braintree SDK does not support Google Pay version ' + this._googlePayVersion + '. Please upgrade the version of your Braintree SDK and contact support if this error persists.',\n type: errors.GOOGLE_PAYMENT_UNSUPPORTED_VERSION.type\n });\n }\n}\n\nGooglePayment.prototype._waitForClient = function () {\n if (this._client) {\n return Promise.resolve();\n }\n\n return this._createPromise.then(function (client) {\n this._client = client;\n }.bind(this));\n};\n\nGooglePayment.prototype._isUnsupportedGooglePayAPIVersion = function () {\n // if we don't have createPaymentDatqRequest method for the specific\n // API version, then the version is not supported\n return !(this._googlePayVersion in CREATE_PAYMENT_DATA_REQUEST_METHODS);\n};\n\nGooglePayment.prototype._getDefaultConfig = function () {\n if (!this._defaultConfig) {\n this._defaultConfig = generateGooglePayConfiguration(this._client.getConfiguration(), this._googlePayVersion, this._googleMerchantId);\n }\n\n return this._defaultConfig;\n};\n\nGooglePayment.prototype._createV1PaymentDataRequest = function (paymentDataRequest) {\n var defaultConfig = this._getDefaultConfig();\n var overrideCardNetworks = paymentDataRequest.cardRequirements && paymentDataRequest.cardRequirements.allowedCardNetworks;\n var defaultConfigCardNetworks = defaultConfig.cardRequirements.allowedCardNetworks;\n var allowedCardNetworks = overrideCardNetworks || defaultConfigCardNetworks;\n\n paymentDataRequest = assign({}, defaultConfig, paymentDataRequest);\n\n // this way we can preserve allowedCardNetworks from default integration\n // if merchant did not pass any in `cardRequirements`\n paymentDataRequest.cardRequirements.allowedCardNetworks = allowedCardNetworks;\n\n return paymentDataRequest;\n};\n\nGooglePayment.prototype._createV2PaymentDataRequest = function (paymentDataRequest) {\n var defaultConfig = this._getDefaultConfig();\n\n if (paymentDataRequest.allowedPaymentMethods) {\n paymentDataRequest.allowedPaymentMethods.forEach(function (paymentMethod) {\n var defaultPaymentMethod = find(defaultConfig.allowedPaymentMethods, 'type', paymentMethod.type);\n\n if (defaultPaymentMethod) {\n applyDefaultsToPaymentMethodConfiguration(paymentMethod, defaultPaymentMethod);\n }\n });\n }\n\n paymentDataRequest = assign({}, defaultConfig, paymentDataRequest);\n\n return paymentDataRequest;\n};\n\n/**\n * Create a configuration object for use in the `loadPaymentData` method.\n *\n * **Note**: Version 1 of the Google Pay Api is deprecated and will become unsupported in a future version. Until then, version 1 will continue to be used by default, and version 1 schema parameters and overrides will remain functional on existing integrations. However, new integrations and all following examples will be presented in the GooglePay version 2 schema. See [Google Pay's upgrade guide](https://developers.google.com/pay/api/web/guides/resources/update-to-latest-version) to see how to update your integration.\n *\n * If `options.googlePayVersion === 2` was set during the initial {@link module:braintree-web/google-payment.create|create} call, overrides must match the Google Pay v2 schema to be valid.\n *\n * @public\n * @param {object} overrides The supplied parameters for creating the PaymentDataRequest object. Required parameters are:\n * @param {object} overrides.transactionInfo Object according to the [Google Pay Transaction Info](https://developers.google.com/pay/api/web/reference/object#TransactionInfo) spec.\n * Optionally, any of the parameters in the [PaymentDataRequest](https://developers.google.com/pay/api/web/reference/object#PaymentDataRequest) parameters can be overridden, but note that it is recommended only to override top level parameters to avoid squashing deeply nested configuration objects. An example can be found below showing how to safely edit these deeply nested objects.\n * @example\n * var paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({\n * merchantInfo: {\n * merchantId: 'my-merchant-id-from-google'\n * },\n * transactionInfo: {\n * currencyCode: 'USD',\n * totalPriceStatus: 'FINAL',\n * totalPrice: '100.00'\n * }\n * });\n *\n * // Update card payment methods to require billing address\n * var cardPaymentMethod = paymentDataRequest.allowedPaymentMethods;\n * cardPaymentMethod.parameters.billingAddressRequired = true;\n * cardPaymentMethod.parameters.billingAddressParameters = {\n * format: 'FULL',\n * phoneNumberRequired: true\n * };\n *\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * paymentsClient.loadPaymentData(paymentDataRequest).then(function (response) {\n * // handle response with googlePaymentInstance.parseResponse\n * // (see below)\n * });\n * @example With deferred client\n * googlePaymentInstance.createPaymentDataRequest({\n * merchantInfo: {\n * merchantId: 'my-merchant-id-from-google'\n * },\n * transactionInfo: {\n * currencyCode: 'USD',\n * totalPriceStatus: 'FINAL',\n * totalPrice: '100.00'\n * }\n * }).then(function (paymentDataRequest) {\n * // Update card payment methods to require billing address\n * var cardPaymentMethod = paymentDataRequest.allowedPaymentMethods;\n * cardPaymentMethod.parameters.billingAddressRequired = true;\n * cardPaymentMethod.parameters.billingAddressParameters = {\n * format: 'FULL',\n * phoneNumberRequired: true\n * };\n *\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * return paymentsClient.loadPaymentData(paymentDataRequest);\n * }).then(function (response) {\n * // handle response with googlePaymentInstance.parseResponse\n * // (see below)\n * });\n * @returns {object|Promise} Returns a configuration object for Google PaymentDataRequest. If instantiated with `useDeferredClient` and an `authorization` it will return a promise that resolves with the configuration.\n */\nGooglePayment.prototype.createPaymentDataRequest = function (overrides) {\n if (!this._useDeferredClient) {\n return this._createPaymentDataRequestSyncronously(overrides);\n }\n\n return this._waitForClient().then(function () {\n return this._createPaymentDataRequestSyncronously(overrides);\n }.bind(this));\n};\n\nGooglePayment.prototype._createPaymentDataRequestSyncronously = function (overrides) {\n var paymentDataRequest = assign({}, overrides);\n var version = this._googlePayVersion;\n var createPaymentDataRequestMethod = CREATE_PAYMENT_DATA_REQUEST_METHODS[version];\n\n analytics.sendEvent(this._createPromise, 'google-payment.v' + version + '.createPaymentDataRequest');\n\n return this[createPaymentDataRequestMethod](paymentDataRequest);\n};\n\n/**\n * Parse the response from the tokenization.\n * @public\n * @param {object} response The response back from the Google Pay tokenization.\n * @param {callback} [callback] The second argument, data, is a {@link GooglePay~tokenizePayload|tokenizePayload}. If no callback is provided, `parseResponse` returns a promise that resolves with a {@link GooglePayment~tokenizePayload|tokenizePayload}.\n * @example with callback\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * paymentsClient.loadPaymentData(paymentDataRequestFromCreatePaymentDataRequest).then(function (response) {\n * googlePaymentInstance.parseResponse(response, function (err, data) {\n * if (err) {\n * // handle errors\n * }\n * // send parsedResponse.nonce to your server\n * });\n * });\n * @example with promise\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * })\n *\n * paymentsClient.loadPaymentData(paymentDataRequestFromCreatePaymentDataRequest).then(function (response) {\n * return googlePaymentInstance.parseResponse(response);\n * }).then(function (parsedResponse) {\n * // send parsedResponse.nonce to your server\n * }).catch(function (err) {\n * // handle errors\n * });\n * @returns {(Promise|void)} Returns a promise that resolves the parsed response if no callback is provided.\n */\nGooglePayment.prototype.parseResponse = function (response) {\n var self = this;\n\n return Promise.resolve().then(function () {\n var payload;\n var rawResponse = response.apiVersion === 2 ?\n response.paymentMethodData.tokenizationData.token :\n response.paymentMethodToken.token;\n var parsedResponse = JSON.parse(rawResponse);\n var error = parsedResponse.error;\n\n if (error) {\n return Promise.reject(error);\n }\n\n analytics.sendEvent(self._createPromise, 'google-payment.parseResponse.succeeded');\n\n if (parsedResponse.paypalAccounts) {\n payload = parsedResponse.paypalAccounts[0];\n analytics.sendEvent(self._createPromise, 'google-payment.parseResponse.succeeded.paypal');\n\n return Promise.resolve({\n nonce: payload.nonce,\n type: payload.type,\n description: payload.description\n });\n }\n payload = parsedResponse.androidPayCards[0];\n analytics.sendEvent(self._createPromise, 'google-payment.parseResponse.succeeded.google-payment');\n\n return Promise.resolve({\n nonce: payload.nonce,\n type: payload.type,\n description: payload.description,\n details: {\n cardType: payload.details.cardType,\n lastFour: payload.details.lastFour,\n lastTwo: payload.details.lastTwo,\n isNetworkTokenized: payload.details.isNetworkTokenized,\n bin: payload.details.bin\n },\n binData: payload.binData\n });\n }).catch(function (error) {\n analytics.sendEvent(self._createPromise, 'google-payment.parseResponse.failed');\n\n return Promise.reject(new BraintreeError({\n code: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.code,\n message: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.message,\n type: errors.GOOGLE_PAYMENT_GATEWAY_ERROR.type,\n details: {\n originalError: error\n }\n }));\n });\n};\n\n/**\n * Cleanly tear down anything set up by {@link module:braintree-web/google-payment.create|create}.\n * @public\n * @param {callback} [callback] Called once teardown is complete. No data is returned if teardown completes successfully.\n * @example\n * googlePaymentInstance.teardown();\n * @example With callback\n * googlePaymentInstance.teardown(function () {\n * // teardown is complete\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nGooglePayment.prototype.teardown = function () {\n convertMethodsToError(this, methods(GooglePayment.prototype));\n\n return Promise.resolve();\n};\n\nfunction applyDefaultsToPaymentMethodConfiguration(merchantSubmittedPaymentMethod, defaultPaymentMethod) {\n Object.keys(defaultPaymentMethod).forEach(function (parameter) {\n if (typeof defaultPaymentMethod[parameter] === 'object') {\n merchantSubmittedPaymentMethod[parameter] = assign(\n {},\n defaultPaymentMethod[parameter],\n merchantSubmittedPaymentMethod[parameter]\n );\n } else {\n merchantSubmittedPaymentMethod[parameter] = merchantSubmittedPaymentMethod[parameter] || defaultPaymentMethod[parameter];\n }\n });\n}\n\nmodule.exports = wrapPromise.wrapPrototype(GooglePayment);\n\n},{\"../lib/analytics\":93,\"../lib/assign\":95,\"../lib/braintree-error\":98,\"../lib/convert-methods-to-error\":100,\"../lib/find\":110,\"../lib/generate-google-pay-configuration\":122,\"../lib/methods\":128,\"../lib/promise\":130,\"./errors\":76,\"@braintree/wrap-promise\":50}],78:[function(require,module,exports){\n'use strict';\n/**\n * @module braintree-web/google-payment\n * @description A component to integrate with Google Pay. The majority of the integration uses [Google's pay.js JavaScript file](https://pay.google.com/gp/p/js/pay.js). The Braintree component generates the configuration object necessary for Google Pay to initiate the Payment Request and parse the returned data to retrieve the payment method nonce which is used to process the transaction on the server.\n */\n\nvar GooglePayment = require('./google-payment');\nvar BraintreeError = require('../lib/braintree-error');\nvar Promise = require('../lib/promise');\nvar createAssetsUrl = require('../lib/create-assets-url');\nvar createDeferredClient = require('../lib/create-deferred-client');\nvar basicComponentVerification = require('../lib/basic-component-verification');\nvar wrapPromise = require('@braintree/wrap-promise');\nvar VERSION = \"3.80.0\";\nvar errors = require('./errors');\n\n/**\n * @static\n * @function create\n * @param {object} options Creation options:\n * @param {Client} [options.client] A {@link Client} instance.\n * @param {string} [options.authorization] A tokenizationKey or clientToken. Can be used in place of `options.client`.\n * @param {boolean} [options.useDeferredClient] Used in conjunction with `authorization`, allows the Google Payment instance to be available right away by fetching the client configuration in the background. When this option is used, {@link GooglePayment#createPaymentDataRequest} will return a promise that resolves with the configuration instead of returning synchronously.\n * @param {number} [options.googlePayVersion] The version of the Google Pay API to use. Value of 2 is required to accept parameters documented [by Google](https://developers.google.com/pay/api/web/reference/object). Omit this parameter to use the deprecated Google Pay Version 1.\n * @param {string} [options.googleMerchantId] A Google merchant identifier issued after your website is approved by Google. Required when PaymentsClient is initialized with an environment property of PRODUCTION, but may be omitted in TEST environment.\n * @param {callback} [callback] The second argument, `data`, is the {@link GooglePayment} instance. If no callback is provided, `create` returns a promise that resolves with the {@link GooglePayment} instance.\n * @example Simple Example\n * // include https://pay.google.com/gp/p/js/pay.js in a script tag\n * // on your page to load the `google.payments.api.PaymentsClient` global object.\n *\n * var paymentButton = document.querySelector('#google-pay-button');\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * });\n *\n * braintree.client.create({\n * authorization: 'tokenization-key-or-client-token'\n * }).then(function (clientInstance) {\n * return braintree.googlePayment.create({\n * client: clientInstance,\n* googlePayVersion: 2,\n* googleMerchantId: 'your-merchant-id-from-google'\n * });\n * }).then(function (googlePaymentInstance) {\n * paymentButton.addEventListener('click', function (event) {\n * var paymentDataRequest;\n *\n * event.preventDefault();\n *\n * paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({\n * transactionInfo: {\n * currencyCode: 'USD',\n * totalPriceStatus: 'FINAL',\n * totalPrice: '100.00'\n * }\n * });\n *\n * paymentsClient.loadPaymentData(paymentDataRequest).then(function (paymentData) {\n * return googlePaymentInstance.parseResponse(paymentData);\n * }).then(function (result) {\n * // send result.nonce to your server\n * }).catch(function (err) {\n * // handle err\n * });\n * });\n * });\n * @example Check Browser and Customer Compatibility\n * var paymentsClient = new google.payments.api.PaymentsClient({\n * environment: 'TEST' // or 'PRODUCTION'\n * });\n *\n * function setupGooglePayButton(googlePaymentInstance) {\n * var button = document.createElement('button');\n *\n * button.id = 'google-pay';\n * button.appendChild(document.createTextNode('Google Pay'));\n * button.addEventListener('click', function (event) {\n * var paymentRequestData;\n *\n * event.preventDefault();\n *\n * paymentDataRequest = googlePaymentInstance.createPaymentDataRequest({\n * transactionInfo: {\n * currencyCode: 'USD',\n * totalPriceStatus: 'FINAL',\n * totalPrice: '100.00' // your amount\n * }\n * });\n *\n * paymentsClient.loadPaymentData(paymentDataRequest).then(function (paymentData) {\n * return googlePaymentInstance.parseResponse(paymentData);\n* }).then(function (result) {\n * // send result.nonce to your server\n * }).catch(function (err) {\n * // handle errors\n * });\n * });\n *\n * document.getElementById('container').appendChild(button);\n * }\n *\n * braintree.client.create({\n * authorization: 'tokenization-key-or-client-token'\n * }).then(function (clientInstance) {\n * return braintree.googlePayment.create({\n * client: clientInstance,\n * googlePayVersion: 2,\n * googleMerchantId: 'your-merchant-id-from-google'\n * });\n * }).then(function (googlePaymentInstance) {\n *\n * return paymentsClient.isReadyToPay({\n * // see https://developers.google.com/pay/api/web/reference/object#IsReadyToPayRequest for all options\n * apiVersion: 2,\n * apiVersionMinor: 0,\n * allowedPaymentMethods: googlePaymentInstance.createPaymentDataRequest().allowedPaymentMethods,\n * existingPaymentMethodRequired: true\n * });\n * }).then(function (response) {\n * if (response.result) {\n * setupGooglePayButton(googlePaymentInstance);\n * }\n * }).catch(function (err) {\n * // handle setup errors\n * });\n *\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nfunction create(options) {\n var name = 'Google Pay';\n\n return basicComponentVerification.verify({\n name: name,\n client: options.client,\n authorization: options.authorization\n }).then(function () {\n var createPromise, instance;\n\n createPromise = createDeferredClient.create({\n authorization: options.authorization,\n client: options.client,\n debug: options.debug,\n assetsUrl: createAssetsUrl.create(options.authorization),\n name: name\n }).then(function (client) {\n var configuration = client.getConfiguration();\n\n options.client = client;\n if (!configuration.gatewayConfiguration.androidPay) {\n return Promise.reject(new BraintreeError(errors.GOOGLE_PAYMENT_NOT_ENABLED));\n }\n\n return client;\n });\n\n options.createPromise = createPromise;\n instance = new GooglePayment(options);\n\n if (!options.useDeferredClient) {\n return createPromise.then(function (client) {\n instance._client = client;\n\n return instance;\n });\n }\n\n return instance;\n });\n}\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of the SDK, i.e. `1.31.2`.\n * @type {string}\n */\n VERSION: VERSION\n};\n\n},{\"../lib/basic-component-verification\":96,\"../lib/braintree-error\":98,\"../lib/create-assets-url\":102,\"../lib/create-deferred-client\":104,\"../lib/promise\":130,\"./errors\":76,\"./google-payment\":77,\"@braintree/wrap-promise\":50}],79:[function(require,module,exports){\n'use strict';\n\nvar BraintreeError = require('../../lib/braintree-error');\nvar errors = require('../shared/errors');\nvar allowedAttributes = require('../shared/constants').allowedAttributes;\n\nfunction attributeValidationError(attribute, value) {\n var err;\n\n if (!allowedAttributes.hasOwnProperty(attribute)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED.type,\n code: errors.HOSTED_FIELDS_ATTRIBUTE_NOT_SUPPORTED.code,\n message: 'The \"' + attribute + '\" attribute is not supported in Hosted Fields.'\n });\n } else if (value != null && !_isValid(attribute, value)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED.type,\n code: errors.HOSTED_FIELDS_ATTRIBUTE_VALUE_NOT_ALLOWED.code,\n message: 'Value \"' + value + '\" is not allowed for \"' + attribute + '\" attribute.'\n });\n }\n\n return err;\n}\n\nfunction _isValid(attribute, value) {\n if (allowedAttributes[attribute] === 'string') {\n return typeof value === 'string' || typeof value === 'number';\n } else if (allowedAttributes[attribute] === 'boolean') {\n return String(value) === 'true' || String(value) === 'false';\n }\n\n return false;\n}\n\nmodule.exports = attributeValidationError;\n\n},{\"../../lib/braintree-error\":98,\"../shared/constants\":87,\"../shared/errors\":88}],80:[function(require,module,exports){\n'use strict';\n\nvar constants = require('../shared/constants');\nvar useMin = require('../../lib/use-min');\n\nmodule.exports = function composeUrl(assetsUrl, componentId, isDebug) {\n return assetsUrl +\n '/web/' +\n constants.VERSION +\n '/html/hosted-fields-frame' + useMin(isDebug) + '.html#' +\n componentId;\n};\n\n},{\"../../lib/use-min\":133,\"../shared/constants\":87}],81:[function(require,module,exports){\n'use strict';\n\nvar directions = require('../shared/constants').navigationDirections;\nvar browserDetection = require('../shared/browser-detection');\nvar focusIntercept = require('../shared/focus-intercept');\nvar findParentTags = require('../shared/find-parent-tags');\nvar userFocusableTagNames = [\n 'INPUT', 'SELECT', 'TEXTAREA'\n];\n// Devices with software keyboards do not or cannot focus on input types\n// that do not require keyboard-based interaction.\nvar unfocusedInputTypes = [\n 'hidden', 'button', 'reset', 'submit', 'checkbox', 'radio', 'file'\n];\n\nfunction _isUserFocusableElement(element) {\n if (!browserDetection.hasSoftwareKeyboard()) {\n // on desktop browsers, the only input type that isn't focusable\n // is the hidden input\n return element.type !== 'hidden';\n }\n\n return userFocusableTagNames.indexOf(element.tagName) > -1 &&\n unfocusedInputTypes.indexOf(element.type) < 0;\n}\n\nfunction _createNavigationHelper(direction, numberOfElementsInForm) {\n switch (direction) {\n case directions.BACK:\n return {\n checkIndexBounds: function (index) {\n return index < 0;\n },\n indexChange: -1\n };\n case directions.FORWARD:\n return {\n checkIndexBounds: function (index) {\n return index > numberOfElementsInForm - 1;\n },\n indexChange: 1\n };\n default:\n }\n\n return {};\n}\n\nfunction _findFirstFocusableElement(elementsInForm) {\n var elementsIndex, element;\n\n for (elementsIndex = 0; elementsIndex < elementsInForm.length; elementsIndex++) {\n element = elementsInForm[elementsIndex];\n\n if (_isUserFocusableElement(element)) {\n return element;\n }\n }\n\n return null;\n}\n\nmodule.exports = {\n removeExtraFocusElements: function (checkoutForm, onRemoveFocusIntercepts) {\n var elements = Array.prototype.slice.call(checkoutForm.elements);\n var firstFocusableInput = _findFirstFocusableElement(elements);\n var lastFocusableInput = _findFirstFocusableElement(elements.reverse());\n\n // these should never be identical, because there will at least be the\n // before and the after input\n [\n firstFocusableInput,\n lastFocusableInput\n ].forEach(function (input) {\n if (!input) {\n return;\n }\n\n if (focusIntercept.matchFocusElement(input.getAttribute('id'))) {\n onRemoveFocusIntercepts(input.getAttribute('id'));\n }\n });\n },\n\n createFocusChangeHandler: function (hostedFieldsId, callbacks) {\n return function (data) {\n var currentIndex, targetElement, checkoutForm, navHelper;\n var sourceElement = document.getElementById('bt-' + data.field + '-' + data.direction + '-' + hostedFieldsId);\n\n if (!sourceElement) {\n return;\n }\n\n checkoutForm = findParentTags(sourceElement, 'form')[0];\n\n if (document.forms.length < 1 || !checkoutForm) {\n callbacks.onRemoveFocusIntercepts();\n\n return;\n }\n\n checkoutForm = [].slice.call(checkoutForm.elements);\n currentIndex = checkoutForm.indexOf(sourceElement);\n navHelper = _createNavigationHelper(data.direction, checkoutForm.length);\n\n do {\n currentIndex += navHelper.indexChange;\n if (navHelper.checkIndexBounds(currentIndex)) {\n return;\n }\n targetElement = checkoutForm[currentIndex];\n } while (!_isUserFocusableElement(targetElement));\n\n if (focusIntercept.matchFocusElement(targetElement.getAttribute('id'))) {\n callbacks.onTriggerInputFocus(targetElement.getAttribute('data-braintree-type'));\n } else {\n targetElement.focus();\n }\n };\n }\n};\n\n},{\"../shared/browser-detection\":86,\"../shared/constants\":87,\"../shared/find-parent-tags\":89,\"../shared/focus-intercept\":90}],82:[function(require,module,exports){\n'use strict';\n\nvar allowedStyles = require('../shared/constants').allowedStyles;\n\nmodule.exports = function getStylesFromClass(cssClass) {\n var element = document.createElement('input');\n var styles = {};\n var computedStyles;\n\n if (cssClass[0] === '.') {\n cssClass = cssClass.substring(1);\n }\n\n element.className = cssClass;\n element.style.display = 'none !important';\n element.style.position = 'fixed !important';\n element.style.left = '-99999px !important';\n element.style.top = '-99999px !important';\n document.body.appendChild(element);\n\n computedStyles = window.getComputedStyle(element);\n\n allowedStyles.forEach(function (style) {\n var value = computedStyles[style];\n\n if (value) {\n styles[style] = value;\n }\n });\n\n document.body.removeChild(element);\n\n return styles;\n};\n\n},{\"../shared/constants\":87}],83:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\nvar createAssetsUrl = require('../../lib/create-assets-url');\nvar isVerifiedDomain = require('../../lib/is-verified-domain');\nvar Destructor = require('../../lib/destructor');\nvar classList = require('@braintree/class-list');\nvar iFramer = require('@braintree/iframer');\nvar Bus = require('framebus');\nvar createDeferredClient = require('../../lib/create-deferred-client');\nvar BraintreeError = require('../../lib/braintree-error');\nvar composeUrl = require('./compose-url');\nvar getStylesFromClass = require('./get-styles-from-class');\nvar constants = require('../shared/constants');\nvar errors = require('../shared/errors');\nvar INTEGRATION_TIMEOUT_MS = require('../../lib/constants').INTEGRATION_TIMEOUT_MS;\nvar uuid = require('@braintree/uuid');\nvar findParentTags = require('../shared/find-parent-tags');\nvar browserDetection = require('../shared/browser-detection');\nvar events = constants.events;\nvar EventEmitter = require('@braintree/event-emitter');\nvar injectFrame = require('./inject-frame');\nvar analytics = require('../../lib/analytics');\nvar allowedFields = constants.allowedFields;\nvar methods = require('../../lib/methods');\nvar shadow = require('../../lib/shadow');\nvar findRootNode = require('../../lib/find-root-node');\nvar convertMethodsToError = require('../../lib/convert-methods-to-error');\nvar sharedErrors = require('../../lib/errors');\nvar getCardTypes = require('../shared/get-card-types');\nvar attributeValidationError = require('./attribute-validation-error');\nvar Promise = require('../../lib/promise');\nvar wrapPromise = require('@braintree/wrap-promise');\nvar focusChange = require('./focus-change');\nvar destroyFocusIntercept = require('../shared/focus-intercept').destroy;\n\nvar SAFARI_FOCUS_TIMEOUT = 5;\n\n/**\n * @typedef {object} HostedFields~tokenizePayload\n * @property {string} nonce The payment method nonce.\n * @property {object} authenticationInsight Info about the [regulatory environment](https://developers.braintreepayments.com/guides/3d-secure/advanced-options/javascript/v3#authentication-insight) of the tokenized card. Only available if `authenticationInsight.merchantAccountId` is passed in the `tokenize` method options.\n * @property {string} authenticationInsight.regulationEnvironment The [regulation environment](https://developers.braintreepayments.com/guides/3d-secure/advanced-options/javascript/v3#authentication-insight) for the tokenized card.\n * @property {object} details Additional account details.\n * @property {string} details.bin The BIN number of the card.\n * @property {string} details.cardType Type of card, ex: Visa, MasterCard.\n * @property {string} details.expirationMonth The expiration month of the card.\n * @property {string} details.expirationYear The expiration year of the card.\n * @property {string} details.cardholderName The cardholder name tokenized with the card.\n * @property {string} details.lastFour Last four digits of card number.\n * @property {string} details.lastTwo Last two digits of card number.\n * @property {string} description A human-readable description.\n * @property {string} type The payment method type, always `CreditCard`.\n * @property {object} binData Information about the card based on the bin.\n * @property {string} binData.commercial Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.countryOfIssuance The country of issuance.\n * @property {string} binData.debit Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.durbinRegulated Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.healthcare Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.issuingBank The issuing bank.\n * @property {string} binData.payroll Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.prepaid Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} binData.productId The product id.\n */\n\n/**\n * @typedef {object} HostedFields~stateObject\n * @description The event payload sent from {@link HostedFields#on|on} or {@link HostedFields#getState|getState}.\n * @property {HostedFields~hostedFieldsCard[]} cards\n * This will return an array of potential {@link HostedFields~hostedFieldsCard|cards}. If the card type has been determined, the array will contain only one card.\n * Internally, Hosted Fields uses credit-card-type,\n * an open-source card detection library.\n * @property {string} emittedBy\n * The name of the field associated with an event. This will not be included if returned by {@link HostedFields#getState|getState}. It will be one of the following strings:
\n * - `\"number\"`\n * - `\"cvv\"`\n * - `\"expirationDate\"`\n * - `\"expirationMonth\"`\n * - `\"expirationYear\"`\n * - `\"postalCode\"`\n * - `\"cardholderName\"`\n * @property {object} fields\n * @property {?HostedFields~hostedFieldsFieldData} fields.number {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the number field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.cvv {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the CVV field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.expirationDate {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration date field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.expirationMonth {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration month field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.expirationYear {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the expiration year field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.postalCode {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the postal code field, if it is present.\n * @property {?HostedFields~hostedFieldsFieldData} fields.cardholderName {@link HostedFields~hostedFieldsFieldData|hostedFieldsFieldData} for the cardholder name field, if it is present.\n */\n\n/**\n * @typedef {object} HostedFields~binPayload\n * @description The event payload sent from {@link HostedFields#on|on} when the {@link HostedFields#event:binAvailable|binAvailable} event is emitted.\n * @property {string} bin The first 6 digits of the card number.\n */\n\n/**\n * @typedef {object} HostedFields~hostedFieldsFieldData\n * @description Data about Hosted Fields fields, sent in {@link HostedFields~stateObject|stateObjects}.\n * @property {HTMLElement} container Reference to the container DOM element on your page associated with the current event.\n * @property {boolean} isFocused Whether or not the input is currently focused.\n * @property {boolean} isEmpty Whether or not the user has entered a value in the input.\n * @property {boolean} isPotentiallyValid\n * A determination based on the future validity of the input value.\n * This is helpful when a user is entering a card number and types \"41\".\n * While that value is not valid for submission, it is still possible for\n * it to become a fully qualified entry. However, if the user enters \"4x\"\n * it is clear that the card number can never become valid and isPotentiallyValid will\n * return false.\n * @property {boolean} isValid Whether or not the value of the associated input is fully qualified for submission.\n */\n\n/**\n * @typedef {object} HostedFields~hostedFieldsCard\n * @description Information about the card type, sent in {@link HostedFields~stateObject|stateObjects}.\n * @property {string} type The code-friendly representation of the card type. It will be one of the following strings:\n * - `american-express`\n * - `diners-club`\n * - `discover`\n * - `jcb`\n * - `maestro`\n * - `master-card`\n * - `unionpay`\n * - `visa`\n * @property {string} niceType The pretty-printed card type. It will be one of the following strings:\n * - `American Express`\n * - `Diners Club`\n * - `Discover`\n * - `JCB`\n * - `Maestro`\n * - `MasterCard`\n * - `UnionPay`\n * - `Visa`\n * @property {object} code\n * This object contains data relevant to the security code requirements of the card brand.\n * For example, on a Visa card there will be a CVV of 3 digits, whereas an\n * American Express card requires a 4-digit CID.\n * @property {string} code.name \"CVV\" \"CID\" \"CVC\"\n * @property {number} code.size The expected length of the security code. Typically, this is 3 or 4.\n */\n\n/**\n * @name HostedFields#on\n * @function\n * @param {string} event The name of the event to which you are subscribing.\n * @param {function} handler A callback to handle the event.\n * @description Subscribes a handler function to a named event.\n *\n * **Events that emit a {@link HostedFields~stateObject|stateObject}.**\n * * {@link HostedFields#event:blur|blur}\n * * {@link HostedFields#event:focus|focus}\n * * {@link HostedFields#event:empty|empty}\n * * {@link HostedFields#event:notEmpty|notEmpty}\n * * {@link HostedFields#event:cardTypeChange|cardTypeChange}\n * * {@link HostedFields#event:validityChange|validityChange}\n * * {@link HostedFields#event:inputSubmitRequest|inputSubmitRequest}\n *\n * **Other Events**\n * * {@link HostedFields#event:binAvailable|binAvailable} - emits a {@link HostedFields~binPayload|bin payload}\n * @example\n * Listening to a Hosted Field event, in this case 'focus'\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('focus', function (event) {\n * console.log(event.emittedBy, 'has been focused');\n * });\n * });\n * @returns {void}\n */\n\n/**\n * @name HostedFields#off\n * @function\n * @param {string} event The name of the event to which you are unsubscribing.\n * @param {function} handler The callback for the event you are unsubscribing from.\n * @description Unsubscribes the handler function to a named event.\n * @example\n * Subscribing and then unsubscribing from a Hosted Field event, in this case 'focus'\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * var callback = function (event) {\n * console.log(event.emittedBy, 'has been focused');\n * };\n * hostedFieldsInstance.on('focus', callback);\n *\n * // later on\n * hostedFieldsInstance.off('focus', callback);\n * });\n * @returns {void}\n */\n\n/**\n * This event is emitted when the user requests submission of an input field, such as by pressing the Enter or Return key on their keyboard, or mobile equivalent.\n * @event HostedFields#inputSubmitRequest\n * @type {HostedFields~stateObject}\n * @example\n * Clicking a submit button upon hitting Enter (or equivalent) within a Hosted Field\n * var hostedFields = require('braintree-web/hosted-fields');\n * var submitButton = document.querySelector('input[type=\"submit\"]');\n *\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('inputSubmitRequest', function () {\n * // User requested submission, e.g. by pressing Enter or equivalent\n * submitButton.click();\n * });\n * });\n */\n\n/**\n * This event is emitted when a field transitions from having data to being empty.\n * @event HostedFields#empty\n * @type {HostedFields~stateObject}\n * @example\n * Listening to an empty event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('empty', function (event) {\n * console.log(event.emittedBy, 'is now empty');\n * });\n * });\n */\n\n/**\n * This event is emitted when a field transitions from being empty to having data.\n * @event HostedFields#notEmpty\n * @type {HostedFields~stateObject}\n * @example\n * Listening to an notEmpty event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('notEmpty', function (event) {\n * console.log(event.emittedBy, 'is now not empty');\n * });\n * });\n */\n\n/**\n * This event is emitted when a field loses focus.\n * @event HostedFields#blur\n * @type {HostedFields~stateObject}\n * @example\n * Listening to a blur event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('blur', function (event) {\n * console.log(event.emittedBy, 'lost focus');\n * });\n * });\n */\n\n/**\n * This event is emitted when a field gains focus.\n * @event HostedFields#focus\n * @type {HostedFields~stateObject}\n * @example\n * Listening to a focus event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('focus', function (event) {\n * console.log(event.emittedBy, 'gained focus');\n * });\n * });\n */\n\n/**\n * This event is emitted when activity within the number field has changed such that the possible card type has changed.\n * @event HostedFields#cardTypeChange\n * @type {HostedFields~stateObject}\n * @example\n * Listening to a cardTypeChange event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('cardTypeChange', function (event) {\n * if (event.cards.length === 1) {\n * console.log(event.cards[0].type);\n * } else {\n * console.log('Type of card not yet known');\n * }\n * });\n * });\n */\n\n/**\n * This event is emitted when the validity of a field has changed. Validity is represented in the {@link HostedFields~stateObject|stateObject} as two booleans: `isValid` and `isPotentiallyValid`.\n * @event HostedFields#validityChange\n * @type {HostedFields~stateObject}\n * @example\n * Listening to a validityChange event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('validityChange', function (event) {\n * var field = event.fields[event.emittedBy];\n *\n * if (field.isValid) {\n * console.log(event.emittedBy, 'is fully valid');\n * } else if (field.isPotentiallyValid) {\n * console.log(event.emittedBy, 'is potentially valid');\n * } else {\n * console.log(event.emittedBy, 'is not valid');\n * }\n * });\n * });\n */\n\n/**\n * This event is emitted when the first 6 digits of the card number have been entered by the customer.\n * @event HostedFields#binAvailable\n * @type {string}\n * @example\n * Listening to a `binAvailable` event\n * hostedFields.create({ ... }, function (createErr, hostedFieldsInstance) {\n * hostedFieldsInstance.on('binAvailable', function (event) {\n * event.bin // send bin to 3rd party bin service\n * });\n * });\n */\n\nfunction createInputEventHandler(fields) {\n return function (eventData) {\n var field;\n var merchantPayload = eventData.merchantPayload;\n var emittedBy = merchantPayload.emittedBy;\n var container = fields[emittedBy].containerElement;\n\n Object.keys(merchantPayload.fields).forEach(function (key) {\n merchantPayload.fields[key].container = fields[key].containerElement;\n });\n\n field = merchantPayload.fields[emittedBy];\n\n if (eventData.type === 'blur') {\n performBlurFixForIos(container);\n }\n\n classList.toggle(container, constants.externalClasses.FOCUSED, field.isFocused);\n classList.toggle(container, constants.externalClasses.VALID, field.isValid);\n classList.toggle(container, constants.externalClasses.INVALID, !field.isPotentiallyValid);\n\n this._state = {// eslint-disable-line no-invalid-this\n cards: merchantPayload.cards,\n fields: merchantPayload.fields\n };\n\n this._emit(eventData.type, merchantPayload); // eslint-disable-line no-invalid-this\n };\n}\n\n// iOS Safari has a bug where inputs in iframes\n// will not dismiss the keyboard when they lose\n// focus. We create a hidden button input that we\n// can focus on and blur to force the keyboard to\n// dismiss. See #229\nfunction performBlurFixForIos(container) {\n var hiddenInput;\n\n if (!browserDetection.isIos()) {\n return;\n }\n\n if (document.activeElement === document.body) {\n hiddenInput = container.querySelector('input');\n\n if (!hiddenInput) {\n hiddenInput = document.createElement('input');\n\n hiddenInput.type = 'button';\n hiddenInput.style.height = '0px';\n hiddenInput.style.width = '0px';\n hiddenInput.style.opacity = '0';\n hiddenInput.style.padding = '0';\n hiddenInput.style.position = 'absolute';\n hiddenInput.style.left = '-200%';\n hiddenInput.style.top = '0px';\n\n container.insertBefore(hiddenInput, container.firstChild);\n }\n\n hiddenInput.focus();\n hiddenInput.blur();\n }\n}\n\nfunction isVisibleEnough(node) {\n var boundingBox = node.getBoundingClientRect();\n var verticalMidpoint = Math.floor(boundingBox.height / 2);\n var horizontalMidpoint = Math.floor(boundingBox.width / 2);\n\n return (\n boundingBox.top < (window.innerHeight - verticalMidpoint || document.documentElement.clientHeight - verticalMidpoint) &&\n boundingBox.right > horizontalMidpoint &&\n boundingBox.bottom > verticalMidpoint &&\n boundingBox.left < (window.innerWidth - horizontalMidpoint || document.documentElement.clientWidth - horizontalMidpoint)\n );\n}\n\n/**\n * @class HostedFields\n * @param {object} options The Hosted Fields {@link module:braintree-web/hosted-fields.create create} options.\n * @description Do not use this constructor directly. Use {@link module:braintree-web/hosted-fields.create|braintree-web.hosted-fields.create} instead.\n * @classdesc This class represents a Hosted Fields component produced by {@link module:braintree-web/hosted-fields.create|braintree-web/hosted-fields.create}. Instances of this class have methods for interacting with the input fields within Hosted Fields' iframes.\n */\nfunction HostedFields(options) {\n var failureTimeout, clientConfig, assetsUrl, isDebug, hostedFieldsUrl;\n var self = this;\n var fields = {};\n var frameReadyPromiseResolveFunctions = {};\n var frameReadyPromises = [];\n var componentId = uuid();\n\n this._merchantConfigurationOptions = assign({}, options);\n\n if (options.client) {\n clientConfig = options.client.getConfiguration();\n assetsUrl = clientConfig.gatewayConfiguration.assetsUrl;\n isDebug = clientConfig.isDebug;\n } else {\n assetsUrl = createAssetsUrl.create(options.authorization);\n isDebug = Boolean(options.isDebug);\n }\n\n this._clientPromise = createDeferredClient.create({\n client: options.client,\n authorization: options.authorization,\n debug: isDebug,\n assetsUrl: assetsUrl,\n name: 'Hosted Fields'\n });\n\n hostedFieldsUrl = composeUrl(assetsUrl, componentId, isDebug);\n\n if (!options.fields || Object.keys(options.fields).length === 0) {\n throw new BraintreeError({\n type: sharedErrors.INSTANTIATION_OPTION_REQUIRED.type,\n code: sharedErrors.INSTANTIATION_OPTION_REQUIRED.code,\n message: 'options.fields is required when instantiating Hosted Fields.'\n });\n }\n\n EventEmitter.call(this);\n\n this._injectedNodes = [];\n this._destructor = new Destructor();\n this._fields = fields;\n this._state = {\n fields: {},\n cards: getCardTypes('')\n };\n\n this._bus = new Bus({\n channel: componentId,\n verifyDomain: isVerifiedDomain\n });\n\n this._destructor.registerFunctionForTeardown(function () {\n self._bus.teardown();\n });\n\n // NEXT_MAJOR_VERSION analytics events should have present tense verbs\n if (!options.client) {\n analytics.sendEvent(this._clientPromise, 'custom.hosted-fields.initialized.deferred-client');\n } else {\n analytics.sendEvent(this._clientPromise, 'custom.hosted-fields.initialized');\n }\n\n Object.keys(options.fields).forEach(function (key) {\n var field, externalContainer, internalContainer, frame, frameReadyPromise;\n\n if (!constants.allowedFields.hasOwnProperty(key)) {\n throw new BraintreeError({\n type: errors.HOSTED_FIELDS_INVALID_FIELD_KEY.type,\n code: errors.HOSTED_FIELDS_INVALID_FIELD_KEY.code,\n message: '\"' + key + '\" is not a valid field.'\n });\n }\n\n field = options.fields[key];\n // NEXT_MAJOR_VERSION remove selector as an option\n // and simply make the API take a container\n externalContainer = field.container || field.selector;\n\n if (typeof externalContainer === 'string') {\n externalContainer = document.querySelector(externalContainer);\n }\n\n if (!externalContainer || externalContainer.nodeType !== 1) {\n throw new BraintreeError({\n type: errors.HOSTED_FIELDS_INVALID_FIELD_SELECTOR.type,\n code: errors.HOSTED_FIELDS_INVALID_FIELD_SELECTOR.code,\n message: errors.HOSTED_FIELDS_INVALID_FIELD_SELECTOR.message,\n details: {\n fieldSelector: field.selector,\n fieldContainer: field.container,\n fieldKey: key\n }\n });\n } else if (externalContainer.querySelector('iframe[name^=\"braintree-\"]')) {\n throw new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME.type,\n code: errors.HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME.code,\n message: errors.HOSTED_FIELDS_FIELD_DUPLICATE_IFRAME.message,\n details: {\n fieldSelector: field.selector,\n fieldContainer: field.container,\n fieldKey: key\n }\n });\n }\n\n internalContainer = externalContainer;\n\n if (shadow.isShadowElement(internalContainer)) {\n internalContainer = shadow.transformToSlot(internalContainer, 'height: 100%');\n }\n\n if (field.maxlength && typeof field.maxlength !== 'number') {\n throw new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.code,\n message: 'The value for maxlength must be a number.',\n details: {\n fieldKey: key\n }\n });\n }\n\n if (field.minlength && typeof field.minlength !== 'number') {\n throw new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.code,\n message: 'The value for minlength must be a number.',\n details: {\n fieldKey: key\n }\n });\n }\n\n frame = iFramer({\n type: key,\n name: 'braintree-hosted-field-' + key,\n style: constants.defaultIFrameStyle,\n title: 'Secure Credit Card Frame - ' + constants.allowedFields[key].label\n });\n\n this._injectedNodes.push.apply(this._injectedNodes, injectFrame(componentId, frame, internalContainer, function () {\n self.focus(key);\n }));\n\n this._setupLabelFocus(key, externalContainer);\n fields[key] = {\n frameElement: frame,\n containerElement: externalContainer\n };\n frameReadyPromise = new Promise(function (resolve) {\n frameReadyPromiseResolveFunctions[key] = resolve;\n });\n frameReadyPromises.push(frameReadyPromise);\n\n this._state.fields[key] = {\n isEmpty: true,\n isValid: false,\n isPotentiallyValid: true,\n isFocused: false,\n container: externalContainer\n };\n\n setTimeout(function () {\n // Edge has an intermittent issue where\n // the iframes load, but the JavaScript\n // can't message out to the parent page.\n // We can fix this by setting the src\n // to about:blank first followed by\n // the actual source. Both instances\n // of setting the src need to be in a\n // setTimeout to work.\n if (browserDetection.isIE() || browserDetection.isEdge()) {\n frame.src = 'about:blank';\n setTimeout(function () {\n frame.src = hostedFieldsUrl;\n }, 0);\n } else {\n frame.src = hostedFieldsUrl;\n }\n }, 0);\n }.bind(this));\n\n if (this._merchantConfigurationOptions.styles) {\n Object.keys(this._merchantConfigurationOptions.styles).forEach(function (selector) {\n var className = self._merchantConfigurationOptions.styles[selector];\n\n if (typeof className === 'string') {\n self._merchantConfigurationOptions.styles[selector] = getStylesFromClass(className);\n }\n });\n }\n\n this._bus.on(events.REMOVE_FOCUS_INTERCEPTS, function (data) {\n destroyFocusIntercept(data && data.id);\n });\n\n this._bus.on(events.TRIGGER_FOCUS_CHANGE, focusChange.createFocusChangeHandler(componentId, {\n onRemoveFocusIntercepts: function (element) {\n self._bus.emit(events.REMOVE_FOCUS_INTERCEPTS, {\n id: element\n });\n },\n onTriggerInputFocus: function (targetType) {\n self.focus(targetType);\n }\n }));\n\n this._bus.on(events.READY_FOR_CLIENT, function (reply) {\n self._clientPromise.then(function (client) {\n reply(client);\n });\n });\n\n this._bus.on(events.CARD_FORM_ENTRY_HAS_BEGUN, function () {\n analytics.sendEvent(self._clientPromise, 'hosted-fields.input.started');\n });\n\n this._bus.on(events.BIN_AVAILABLE, function (bin) {\n self._emit('binAvailable', {\n bin: bin\n });\n });\n\n failureTimeout = setTimeout(function () {\n analytics.sendEvent(self._clientPromise, 'custom.hosted-fields.load.timed-out');\n self._emit('timeout');\n }, INTEGRATION_TIMEOUT_MS);\n\n Promise.all(frameReadyPromises).then(function (results) {\n var reply = results[0];\n\n clearTimeout(failureTimeout);\n reply(formatMerchantConfigurationForIframes(self._merchantConfigurationOptions));\n\n self._cleanUpFocusIntercepts();\n\n self._emit('ready');\n });\n\n this._bus.on(events.FRAME_READY, function (data, reply) {\n frameReadyPromiseResolveFunctions[data.field](reply);\n });\n\n this._bus.on(\n events.INPUT_EVENT,\n createInputEventHandler(fields).bind(this)\n );\n\n this._destructor.registerFunctionForTeardown(function () {\n var j, node, parent;\n\n for (j = 0; j < self._injectedNodes.length; j++) {\n node = self._injectedNodes[j];\n parent = node.parentNode;\n\n parent.removeChild(node);\n\n classList.remove(\n parent,\n constants.externalClasses.FOCUSED,\n constants.externalClasses.INVALID,\n constants.externalClasses.VALID\n );\n }\n });\n\n this._destructor.registerFunctionForTeardown(function () {\n destroyFocusIntercept();\n });\n\n this._destructor.registerFunctionForTeardown(function () {\n var methodNames = methods(HostedFields.prototype).concat(methods(EventEmitter.prototype));\n\n convertMethodsToError(self, methodNames);\n });\n}\n\nEventEmitter.createChild(HostedFields);\n\nHostedFields.prototype._setupLabelFocus = function (type, container) {\n var labels, i;\n var self = this;\n var rootNode = findRootNode(container);\n\n if (container.id == null) { return; }\n\n function triggerFocus() {\n self.focus(type);\n }\n\n // find any labels in the normal DOM\n labels = Array.prototype.slice.call(document.querySelectorAll('label[for=\"' + container.id + '\"]'));\n if (rootNode !== document) {\n // find any labels within the shadow dom\n labels = labels.concat(Array.prototype.slice.call(rootNode.querySelectorAll('label[for=\"' + container.id + '\"]')));\n }\n // find any labels surrounding the container that don't also have the `for` attribute\n labels = labels.concat(findParentTags(container, 'label'));\n // filter out any accidental duplicates\n labels = labels.filter(function (label, index, arr) {\n return arr.indexOf(label) === index;\n });\n\n for (i = 0; i < labels.length; i++) {\n labels[i].addEventListener('click', triggerFocus, false);\n }\n\n this._destructor.registerFunctionForTeardown(function () {\n for (i = 0; i < labels.length; i++) {\n labels[i].removeEventListener('click', triggerFocus, false);\n }\n });\n};\n\nHostedFields.prototype._getAnyFieldContainer = function () {\n var self = this;\n\n return Object.keys(this._fields).reduce(function (found, field) {\n return found || self._fields[field].containerElement;\n }, null);\n};\n\nHostedFields.prototype._cleanUpFocusIntercepts = function () {\n var iframeContainer, checkoutForm;\n\n if (document.forms.length < 1) {\n this._bus.emit(events.REMOVE_FOCUS_INTERCEPTS);\n } else {\n iframeContainer = this._getAnyFieldContainer();\n checkoutForm = findParentTags(iframeContainer, 'form')[0];\n\n if (checkoutForm) {\n focusChange.removeExtraFocusElements(checkoutForm, function (id) {\n this._bus.emit(events.REMOVE_FOCUS_INTERCEPTS, {\n id: id\n });\n }.bind(this));\n } else {\n this._bus.emit(events.REMOVE_FOCUS_INTERCEPTS);\n }\n }\n};\n\nHostedFields.prototype._attachInvalidFieldContainersToError = function (err) {\n if (!(err.details && err.details.invalidFieldKeys && err.details.invalidFieldKeys.length > 0)) {\n return;\n }\n err.details.invalidFields = {};\n err.details.invalidFieldKeys.forEach(function (field) {\n err.details.invalidFields[field] = this._fields[field].containerElement;\n }.bind(this));\n};\n\n/**\n * Get card verification challenges, such as requirements for cvv and postal code.\n * @public\n * @param {callback} [callback] Called on completion, containing an error if one occurred. If no callback is provided, `getChallenges` returns a promise.\n * @example\n * hostedFieldsInstance.getChallenges().then(function (challenges) {\n * challenges // ['cvv', 'postal_code']\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.getChallenges = function () {\n return this._clientPromise.then(function (client) {\n return client.getConfiguration().gatewayConfiguration.challenges;\n });\n};\n\n/**\n * Get supported card types configured in the Braintree Control Panel\n * @public\n * @param {callback} [callback] Called on completion, containing an error if one occurred. If no callback is provided, `getSupportedCardTypes` returns a promise.\n * @example\n * hostedFieldsInstance.getSupportedCardTypes().then(function (cardTypes) {\n * cardTypes // ['Visa', 'American Express', 'Mastercard']\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.getSupportedCardTypes = function () {\n return this._clientPromise.then(function (client) {\n var cards = client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes.map(function (cardType) {\n if (cardType === 'MasterCard') {\n // Mastercard changed their branding. We can't update our\n // config without creating a breaking change, so we just\n // hard code the change here\n return 'Mastercard';\n }\n\n return cardType;\n });\n\n return cards;\n });\n};\n\n/**\n * Cleanly remove anything set up by {@link module:braintree-web/hosted-fields.create|create}.\n * @public\n * @param {callback} [callback] Called on completion, containing an error if one occurred. No data is returned if teardown completes successfully. If no callback is provided, `teardown` returns a promise.\n * @example\n * hostedFieldsInstance.teardown(function (teardownErr) {\n * if (teardownErr) {\n * console.error('Could not tear down Hosted Fields!');\n * } else {\n * console.info('Hosted Fields has been torn down!');\n * }\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.teardown = function () {\n var self = this;\n\n return new Promise(function (resolve, reject) {\n self._destructor.teardown(function (err) {\n analytics.sendEvent(self._clientPromise, 'custom.hosted-fields.teardown-completed');\n\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n });\n });\n};\n\n/**\n * Tokenizes fields and returns a nonce payload.\n * @public\n * @param {object} [options] All tokenization options for the Hosted Fields component.\n * @param {boolean} [options.vault=false] When true, will vault the tokenized card. Cards will only be vaulted when using a client created with a client token that includes a customer ID. Note: merchants using Advanced Fraud Tools should not use this option, as device data will not be included.\n * @param {object} [options.authenticationInsight] Options for checking authentication insight - the [regulatory environment](https://developers.braintreepayments.com/guides/3d-secure/advanced-options/javascript/v3#authentication-insight) of the tokenized card.\n * @param {string} options.authenticationInsight.merchantAccountId The Braintree merchant account id to use to look up the authentication insight information.\n * @param {array} [options.fieldsToTokenize] By default, all fields will be tokenized. You may specify which fields specifically you wish to tokenize with this property. Valid options are `'number'`, `'cvv'`, `'expirationDate'`, `'expirationMonth'`, `'expirationYear'`, `'postalCode'`, `'cardholderName'`.\n * @param {string} [options.cardholderName] When supplied, the cardholder name to be tokenized with the contents of the fields.\n * @param {string} [options.billingAddress.postalCode] When supplied, this postal code will be tokenized along with the contents of the fields. If a postal code is provided as part of the Hosted Fields configuration, the value of the field will be tokenized and this value will be ignored.\n * @param {string} [options.billingAddress.firstName] When supplied, this customer first name will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.lastName] When supplied, this customer last name will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.company] When supplied, this company name will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.streetAddress] When supplied, this street address will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.extendedAddress] When supplied, this extended address will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.locality] When supplied, this locality (the city) will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.region] When supplied, this region (the state) will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.countryCodeNumeric] When supplied, this numeric country code will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.countryCodeAlpha2] When supplied, this alpha 2 representation of a country will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.countryCodeAlpha3] When supplied, this alpha 3 representation of a country will be tokenized along with the contents of the fields.\n * @param {string} [options.billingAddress.countryName] When supplied, this country name will be tokenized along with the contents of the fields.\n *\n * @param {callback} [callback] May be used as the only parameter of the function if no options are passed in. The second argument, data, is a {@link HostedFields~tokenizePayload|tokenizePayload}. If no callback is provided, `tokenize` returns a function that resolves with a {@link HostedFields~tokenizePayload|tokenizePayload}.\n * @example Tokenize a card\n * hostedFieldsInstance.tokenize(function (tokenizeErr, payload) {\n * if (tokenizeErr) {\n * switch (tokenizeErr.code) {\n * case 'HOSTED_FIELDS_FIELDS_EMPTY':\n * // occurs when none of the fields are filled in\n * console.error('All fields are empty! Please fill out the form.');\n * break;\n * case 'HOSTED_FIELDS_FIELDS_INVALID':\n * // occurs when certain fields do not pass client side validation\n * console.error('Some fields are invalid:', tokenizeErr.details.invalidFieldKeys);\n *\n * // you can also programmatically access the field containers for the invalid fields\n * tokenizeErr.details.invalidFields.forEach(function (fieldContainer) {\n * fieldContainer.className = 'invalid';\n * });\n * break;\n * case 'HOSTED_FIELDS_TOKENIZATION_FAIL_ON_DUPLICATE':\n * // occurs when:\n * // * the client token used for client authorization was generated\n * // with a customer ID and the fail on duplicate payment method\n * // option is set to true\n * // * the card being tokenized has previously been vaulted (with any customer)\n * // See: https://developers.braintreepayments.com/reference/request/client-token/generate/#options.fail_on_duplicate_payment_method\n * console.error('This payment method already exists in your vault.');\n * break;\n * case 'HOSTED_FIELDS_TOKENIZATION_CVV_VERIFICATION_FAILED':\n * // occurs when:\n * // * the client token used for client authorization was generated\n * // with a customer ID and the verify card option is set to true\n * // and you have credit card verification turned on in the Braintree\n * // control panel\n * // * the cvv does not pass verification (https://developers.braintreepayments.com/reference/general/testing/#avs-and-cvv/cid-responses)\n * // See: https://developers.braintreepayments.com/reference/request/client-token/generate/#options.verify_card\n * console.error('CVV did not pass verification');\n * break;\n * case 'HOSTED_FIELDS_FAILED_TOKENIZATION':\n * // occurs for any other tokenization error on the server\n * console.error('Tokenization failed server side. Is the card valid?');\n * break;\n * case 'HOSTED_FIELDS_TOKENIZATION_NETWORK_ERROR':\n * // occurs when the Braintree gateway cannot be contacted\n * console.error('Network error occurred when tokenizing.');\n * break;\n * default:\n * console.error('Something bad happened!', tokenizeErr);\n * }\n * } else {\n * console.log('Got nonce:', payload.nonce);\n * }\n * });\n * @example Tokenize and vault a card\n * hostedFieldsInstance.tokenize({\n * vault: true\n * }, function (tokenizeErr, payload) {\n * if (tokenizeErr) {\n * console.error(tokenizeErr);\n * } else {\n * console.log('Got nonce:', payload.nonce);\n * }\n * });\n * @example Tokenize a card with non-Hosted Fields cardholder name\n * hostedFieldsInstance.tokenize({\n * cardholderName: 'First Last'\n * }, function (tokenizeErr, payload) {\n * if (tokenizeErr) {\n * console.error(tokenizeErr);\n * } else {\n * console.log('Got nonce:', payload.nonce);\n * }\n * });\n * @example Tokenize a card with non-Hosted Fields postal code option\n * hostedFieldsInstance.tokenize({\n * billingAddress: {\n * postalCode: '11111'\n * }\n * }, function (tokenizeErr, payload) {\n * if (tokenizeErr) {\n * console.error(tokenizeErr);\n * } else {\n * console.log('Got nonce:', payload.nonce);\n * }\n * });\n * @example Tokenize a card with additional billing address options\n * hostedFieldsInstance.tokenize({\n * billingAddress: {\n * firstName: 'First',\n * lastName: 'Last',\n * company: 'Company',\n * streetAddress: '123 Street',\n * extendedAddress: 'Unit 1',\n * // passing just one of the country options is sufficient to\n * // associate the card details with a particular country\n * // valid country names and codes can be found here:\n * // https://developers.braintreepayments.com/reference/general/countries/ruby#list-of-countries\n * countryName: 'United States',\n * countryCodeAlpha2: 'US',\n * countryCodeAlpha3: 'USA',\n * countryCodeNumeric: '840'\n * }\n * }, function (tokenizeErr, payload) {\n * if (tokenizeErr) {\n * console.error(tokenizeErr);\n * } else {\n * console.log('Got nonce:', payload.nonce);\n * }\n * });\n * @example Allow tokenization with empty cardholder name field\n * var state = hostedFieldsInstance.getState();\n * var fields = Object.keys(state.fields);\n *\n * // normally, if you tried to tokenize an empty cardholder name field\n * // you would get an error, to allow making this field optional,\n * // tokenize all the fields except for the cardholder name field\n * // when the cardholder name field is empty. Otherwise, tokenize\n * // all the fields\n * if (state.fields.cardholderName.isEmpty) {\n * fields = fields.filter(function (field) {\n * return field !== 'cardholderName';\n * });\n * }\n *\n * hostedFieldsInstance.tokenize({\n * fieldsToTokenize: fields\n * }, function (tokenizeErr, payload) {\n * if (tokenizeErr) {\n * console.error(tokenizeErr);\n * } else {\n * console.log('Got nonce:', payload.nonce);\n * }\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.tokenize = function (options) {\n var self = this;\n\n if (!options) {\n options = {};\n }\n\n return new Promise(function (resolve, reject) {\n self._bus.emit(events.TOKENIZATION_REQUEST, options, function (response) {\n var err = response[0];\n var payload = response[1];\n\n if (err) {\n self._attachInvalidFieldContainersToError(err);\n reject(new BraintreeError(err));\n } else {\n resolve(payload);\n }\n });\n });\n};\n\n/**\n * Add a class to a {@link module:braintree-web/hosted-fields~field field}. Useful for updating field styles when events occur elsewhere in your checkout.\n * @public\n * @param {string} field The field you wish to add a class to. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {string} classname The class to be added.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the class is added successfully.\n *\n * @example\n * hostedFieldsInstance.addClass('number', 'custom-class', function (addClassErr) {\n * if (addClassErr) {\n * console.error(addClassErr);\n * }\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.addClass = function (field, classname) {\n var err;\n\n if (!allowedFields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_INVALID.code,\n message: '\"' + field + '\" is not a valid field. You must use a valid field option when adding a class.'\n });\n } else if (!this._fields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type,\n code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code,\n message: 'Cannot add class to \"' + field + '\" field because it is not part of the current Hosted Fields options.'\n });\n } else {\n this._bus.emit(events.ADD_CLASS, {\n field: field,\n classname: classname\n });\n }\n\n if (err) {\n return Promise.reject(err);\n }\n\n return Promise.resolve();\n};\n\n/**\n * Removes a class to a {@link module:braintree-web/hosted-fields~field field}. Useful for updating field styles when events occur elsewhere in your checkout.\n * @public\n * @param {string} field The field you wish to remove a class from. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {string} classname The class to be removed.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the class is removed successfully.\n *\n * @example\n * hostedFieldsInstance.addClass('number', 'custom-class', function (addClassErr) {\n * if (addClassErr) {\n * console.error(addClassErr);\n * return;\n * }\n *\n * // some time later...\n * hostedFieldsInstance.removeClass('number', 'custom-class');\n * });\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.removeClass = function (field, classname) {\n var err;\n\n if (!allowedFields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_INVALID.code,\n message: '\"' + field + '\" is not a valid field. You must use a valid field option when removing a class.'\n });\n } else if (!this._fields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type,\n code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code,\n message: 'Cannot remove class from \"' + field + '\" field because it is not part of the current Hosted Fields options.'\n });\n } else {\n this._bus.emit(events.REMOVE_CLASS, {\n field: field,\n classname: classname\n });\n }\n\n if (err) {\n return Promise.reject(err);\n }\n\n return Promise.resolve();\n};\n\n/**\n * Sets an attribute of a {@link module:braintree-web/hosted-fields~field field}.\n * Supported attributes are `aria-invalid`, `aria-required`, `disabled`, and `placeholder`.\n *\n * @public\n * @param {object} options The options for the attribute you wish to set.\n * @param {string} options.field The field to which you wish to add an attribute. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {string} options.attribute The name of the attribute you wish to add to the field.\n * @param {string} options.value The value for the attribute.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the attribute is set successfully.\n *\n * @example Set the placeholder attribute of a field\n * hostedFieldsInstance.setAttribute({\n * field: 'number',\n * attribute: 'placeholder',\n * value: '1111 1111 1111 1111'\n * }, function (attributeErr) {\n * if (attributeErr) {\n * console.error(attributeErr);\n * }\n * });\n *\n * @example Set the aria-required attribute of a field\n * hostedFieldsInstance.setAttribute({\n * field: 'number',\n * attribute: 'aria-required',\n * value: true\n * }, function (attributeErr) {\n * if (attributeErr) {\n * console.error(attributeErr);\n * }\n * });\n *\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.setAttribute = function (options) {\n var attributeErr, err;\n\n if (!allowedFields.hasOwnProperty(options.field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_INVALID.code,\n message: '\"' + options.field + '\" is not a valid field. You must use a valid field option when setting an attribute.'\n });\n } else if (!this._fields.hasOwnProperty(options.field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type,\n code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code,\n message: 'Cannot set attribute for \"' + options.field + '\" field because it is not part of the current Hosted Fields options.'\n });\n } else {\n attributeErr = attributeValidationError(options.attribute, options.value);\n\n if (attributeErr) {\n err = attributeErr;\n } else {\n this._bus.emit(events.SET_ATTRIBUTE, {\n field: options.field,\n attribute: options.attribute,\n value: options.value\n });\n }\n }\n\n if (err) {\n return Promise.reject(err);\n }\n\n return Promise.resolve();\n};\n\n/**\n * Sets the month options for the expiration month field when presented as a select element.\n *\n * @public\n * @param {array} options An array of 12 entries corresponding to the 12 months.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the options are updated successfully. Errors if expirationMonth is not configured on the Hosted Fields instance or if the expirationMonth field is not configured to be a select input.\n *\n * @example Update the month options to spanish\n * hostedFieldsInstance.setMonthOptions([\n * '01 - enero',\n * '02 - febrero',\n * '03 - marzo',\n * '04 - abril',\n * '05 - mayo',\n * '06 - junio',\n * '07 - julio',\n * '08 - agosto',\n * '09 - septiembre',\n * '10 - octubre',\n * '11 - noviembre',\n * '12 - diciembre'\n * ]);\n *\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.setMonthOptions = function (options) {\n var self = this;\n var merchantOptions = this._merchantConfigurationOptions.fields;\n var errorMessage;\n\n if (!merchantOptions.expirationMonth) {\n errorMessage = 'Expiration month field must exist to use setMonthOptions.';\n } else if (!merchantOptions.expirationMonth.select) {\n errorMessage = 'Expiration month field must be a select element.';\n }\n\n if (errorMessage) {\n return Promise.reject(new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_PROPERTY_INVALID.code,\n message: errorMessage\n }));\n }\n\n return new Promise(function (resolve) {\n self._bus.emit(events.SET_MONTH_OPTIONS, options, resolve);\n });\n};\n\n/**\n * Sets a visually hidden message (for screen readers) on a {@link module:braintree-web/hosted-fields~field field}.\n *\n * @public\n * @param {object} options The options for the attribute you wish to set.\n * @param {string} options.field The field to which you wish to add an attribute. Must be a valid {@link module:braintree-web/hosted-fields~field field}.\n * @param {string} options.message The message to set.\n *\n * @example Set an error message on a field\n * hostedFieldsInstance.setMessage({\n * field: 'number',\n * message: 'Invalid card number'\n * });\n *\n * @example Remove the message on a field\n * hostedFieldsInstance.setMessage({\n * field: 'number',\n * message: ''\n * });\n *\n * @returns {void}\n */\nHostedFields.prototype.setMessage = function (options) {\n this._bus.emit(events.SET_MESSAGE, {\n field: options.field,\n message: options.message\n });\n};\n\n/**\n * Removes a supported attribute from a {@link module:braintree-web/hosted-fields~field field}.\n *\n * @public\n * @param {object} options The options for the attribute you wish to remove.\n * @param {string} options.field The field from which you wish to remove an attribute. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {string} options.attribute The name of the attribute you wish to remove from the field.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the attribute is removed successfully.\n *\n * @example Remove the placeholder attribute of a field\n * hostedFieldsInstance.removeAttribute({\n * field: 'number',\n * attribute: 'placeholder'\n * }, function (attributeErr) {\n * if (attributeErr) {\n * console.error(attributeErr);\n * }\n * });\n *\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.removeAttribute = function (options) {\n var attributeErr, err;\n\n if (!allowedFields.hasOwnProperty(options.field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_INVALID.code,\n message: '\"' + options.field + '\" is not a valid field. You must use a valid field option when removing an attribute.'\n });\n } else if (!this._fields.hasOwnProperty(options.field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type,\n code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code,\n message: 'Cannot remove attribute for \"' + options.field + '\" field because it is not part of the current Hosted Fields options.'\n });\n } else {\n attributeErr = attributeValidationError(options.attribute);\n\n if (attributeErr) {\n err = attributeErr;\n } else {\n this._bus.emit(events.REMOVE_ATTRIBUTE, {\n field: options.field,\n attribute: options.attribute\n });\n }\n }\n\n if (err) {\n return Promise.reject(err);\n }\n\n return Promise.resolve();\n};\n\n/**\n * @deprecated since version 3.8.0. Use {@link HostedFields#setAttribute|setAttribute} instead.\n *\n * @public\n * @param {string} field The field whose placeholder you wish to change. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {string} placeholder Will be used as the `placeholder` attribute of the input.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the placeholder updated successfully.\n *\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n */\nHostedFields.prototype.setPlaceholder = function (field, placeholder) {\n return this.setAttribute({\n field: field,\n attribute: 'placeholder',\n value: placeholder\n });\n};\n\n/**\n * Clear the value of a {@link module:braintree-web/hosted-fields~field field}.\n * @public\n * @param {string} field The field you wish to clear. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the field cleared successfully.\n * @returns {(Promise|void)} Returns a promise if no callback is provided.\n * @example\n * hostedFieldsInstance.clear('number', function (clearErr) {\n * if (clearErr) {\n * console.error(clearErr);\n * }\n * });\n *\n * @example Clear several fields\n * hostedFieldsInstance.clear('number');\n * hostedFieldsInstance.clear('cvv');\n * hostedFieldsInstance.clear('expirationDate');\n */\nHostedFields.prototype.clear = function (field) {\n var err;\n\n if (!allowedFields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_INVALID.code,\n message: '\"' + field + '\" is not a valid field. You must use a valid field option when clearing a field.'\n });\n } else if (!this._fields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type,\n code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code,\n message: 'Cannot clear \"' + field + '\" field because it is not part of the current Hosted Fields options.'\n });\n } else {\n this._bus.emit(events.CLEAR_FIELD, {\n field: field\n });\n }\n\n if (err) {\n return Promise.reject(err);\n }\n\n return Promise.resolve();\n};\n\n/**\n * Programmatically focus a {@link module:braintree-web/hosted-fields~field field}.\n * @public\n * @param {string} field The field you want to focus. Must be a valid {@link module:braintree-web/hosted-fields~fieldOptions fieldOption}.\n * @param {callback} [callback] Callback executed on completion, containing an error if one occurred. No data is returned if the field focused successfully.\n * @returns {void}\n * @example\n * hostedFieldsInstance.focus('number', function (focusErr) {\n * if (focusErr) {\n * console.error(focusErr);\n * }\n * });\n * @example Using an event listener\n * myElement.addEventListener('click', function (e) {\n * // In Firefox, the focus method can be suppressed\n * // if the element has a tabindex property or the element\n * // is an anchor link with an href property.\n * e.preventDefault();\n * hostedFieldsInstance.focus('number');\n * });\n */\nHostedFields.prototype.focus = function (field) {\n var err;\n var fieldConfig = this._fields[field];\n\n if (!allowedFields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_INVALID.type,\n code: errors.HOSTED_FIELDS_FIELD_INVALID.code,\n message: '\"' + field + '\" is not a valid field. You must use a valid field option when focusing a field.'\n });\n } else if (!this._fields.hasOwnProperty(field)) {\n err = new BraintreeError({\n type: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.type,\n code: errors.HOSTED_FIELDS_FIELD_NOT_PRESENT.code,\n message: 'Cannot focus \"' + field + '\" field because it is not part of the current Hosted Fields options.'\n });\n } else {\n fieldConfig.frameElement.focus();\n\n this._bus.emit(events.TRIGGER_INPUT_FOCUS, {\n field: field\n });\n\n if (browserDetection.isIos()) {\n // Inputs outside of the viewport don't always scroll into view on\n // focus in iOS Safari. 5ms timeout gives the browser a chance to\n // do the right thing and prevents stuttering.\n setTimeout(function () {\n if (!isVisibleEnough(fieldConfig.containerElement)) {\n fieldConfig.containerElement.scrollIntoView();\n }\n }, SAFARI_FOCUS_TIMEOUT);\n }\n }\n\n if (err) {\n return Promise.reject(err);\n }\n\n return Promise.resolve();\n};\n\n/**\n * Returns an {@link HostedFields~stateObject|object} that includes the state of all fields and possible card types.\n * @public\n * @returns {object} {@link HostedFields~stateObject|stateObject}\n * @example Check if all fields are valid\n * var state = hostedFieldsInstance.getState();\n *\n * var formValid = Object.keys(state.fields).every(function (key) {\n * return state.fields[key].isValid;\n * });\n */\nHostedFields.prototype.getState = function () {\n return this._state;\n};\n\n// React adds decorations to DOM nodes that cause\n// circular dependencies, so we remove them from the\n// config before sending it to the iframes. However,\n// we don't want to mutate the original object that\n// was passed in, so we create fresh objects via assign\nfunction formatMerchantConfigurationForIframes(config) {\n var formattedConfig = assign({}, config);\n\n formattedConfig.fields = assign({}, formattedConfig.fields);\n Object.keys(formattedConfig.fields).forEach(function (field) {\n formattedConfig.fields[field] = assign({}, formattedConfig.fields[field]);\n delete formattedConfig.fields[field].container;\n });\n\n return formattedConfig;\n}\n\nmodule.exports = wrapPromise.wrapPrototype(HostedFields);\n\n},{\"../../lib/analytics\":93,\"../../lib/assign\":95,\"../../lib/braintree-error\":98,\"../../lib/constants\":99,\"../../lib/convert-methods-to-error\":100,\"../../lib/create-assets-url\":102,\"../../lib/create-deferred-client\":104,\"../../lib/destructor\":106,\"../../lib/errors\":108,\"../../lib/find-root-node\":109,\"../../lib/is-verified-domain\":126,\"../../lib/methods\":128,\"../../lib/promise\":130,\"../../lib/shadow\":132,\"../shared/browser-detection\":86,\"../shared/constants\":87,\"../shared/errors\":88,\"../shared/find-parent-tags\":89,\"../shared/focus-intercept\":90,\"../shared/get-card-types\":91,\"./attribute-validation-error\":79,\"./compose-url\":80,\"./focus-change\":81,\"./get-styles-from-class\":82,\"./inject-frame\":84,\"@braintree/class-list\":39,\"@braintree/event-emitter\":40,\"@braintree/iframer\":42,\"@braintree/uuid\":46,\"@braintree/wrap-promise\":50,\"framebus\":172}],84:[function(require,module,exports){\n'use strict';\n\nvar focusIntercept = require('../shared/focus-intercept');\nvar directions = require('../shared/constants').navigationDirections;\n\nmodule.exports = function injectFrame(id, frame, container, focusHandler) {\n var frameType = frame.getAttribute('type');\n var clearboth = document.createElement('div');\n var fragment = document.createDocumentFragment();\n var focusInterceptBefore = focusIntercept.generate(id, frameType, directions.BACK, focusHandler);\n var focusInterceptAfter = focusIntercept.generate(id, frameType, directions.FORWARD, focusHandler);\n\n clearboth.style.clear = 'both';\n\n fragment.appendChild(focusInterceptBefore);\n fragment.appendChild(frame);\n fragment.appendChild(focusInterceptAfter);\n fragment.appendChild(clearboth);\n\n container.appendChild(fragment);\n\n return [frame, clearboth];\n};\n\n},{\"../shared/constants\":87,\"../shared/focus-intercept\":90}],85:[function(require,module,exports){\n'use strict';\n/** @module braintree-web/hosted-fields */\n\nvar HostedFields = require('./external/hosted-fields');\nvar basicComponentVerification = require('../lib/basic-component-verification');\nvar errors = require('./shared/errors');\nvar supportsInputFormatting = require('restricted-input/supports-input-formatting');\nvar wrapPromise = require('@braintree/wrap-promise');\nvar BraintreeError = require('../lib/braintree-error');\nvar Promise = require('../lib/promise');\nvar VERSION = \"3.80.0\";\n\n/**\n * Fields used in {@link module:braintree-web/hosted-fields~fieldOptions fields options}\n * @typedef {object} field\n * @property {string} selector Deprecated: Now an alias for `options.container`.\n * @property {(string|HTMLElement)} container A DOM node or CSS selector to find the container where the hosted field will be inserted.\n * @property {string} [placeholder] Will be used as the `placeholder` attribute of the input. If `placeholder` is not natively supported by the browser, it will be polyfilled.\n * @property {string} [type] Will be used as the `type` attribute of the input. To mask `cvv` input, for instance, `type: \"password\"` can be used.\n * @property {string} [internalLabel] Each Hosted Field iframe has a hidden label that is used by screen readers to identify the input. The `internalLabel` property can be used to customize the field for localization purposes. The default values are:\n * * number: Credit Card Number\n * * cvv: CVV\n * * expirationDate: Expiration Date\n * * expirationMonth: Expiration Month\n * * expirationYear: Expiration Year\n * * postalCode: Postal Code\n * * cardholderName: Cardholder Name\n * @property {boolean} [formatInput=true] Enable or disable automatic formatting on this field.\n * @property {(object|boolean)} [maskInput=false] Enable or disable input masking when input is not focused. If set to `true` instead of an object, the defaults for the `maskInput` parameters will be used.\n * @property {string} [maskInput.character=•] The character to use when masking the input. The default character ('•') uses a unicode symbol, so the webpage must support UTF-8 characters when using the default.\n * @property {Boolean} [maskInput.showLastFour=false] Only applicable for the credit card field. Whether or not to show the last 4 digits of the card when masking.\n * @property {(object|boolean)} [select] If truthy, this field becomes a `\\n
\\n
{{saveCardLabel}}
\\n \\n
\\n \\n \\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n \\n \\n\\n
\\n
{{otherWaysToPay}}
\\n
\\n\\n
\\n {{chooseAnotherWayToPay}}\\n
\\n\\n
\\n\";\nvar svgHTML = \"\\n \\n \\n Visa\\n \\n \\n \\n \\n\\n \\n MasterCard\\n \\n \\n \\n \\n \\n \\n\\n \\n Union Pay\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n American Express\\n \\n \\n \\n \\n\\n \\n JCB\\n \\n \\n \\n \\n \\n\\n \\n Discover\\n \\n \\n \\n \\n \\n\\n \\n Diners Club\\n \\n \\n \\n \\n \\n\\n \\n Maestro\\n \\n \\n \\n \\n \\n \\n\\n \\n PayPal Logo\\n \\n \\n \\n \\n \\n \\n\\n \\n PayPal Credit Logo\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n Generic Card\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n CVV Back\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n CVV Front\\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n Check\\n \\n \\n\\n \\n X\\n \\n \\n\\n \\n Lock Loader\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n Apple Pay Logo\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n Google Pay Mark\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n Venmo\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n\";\n\nvar PASS_THROUGH_EVENTS = [\n 'changeActiveView',\n 'paymentMethodRequestable',\n 'noPaymentMethodRequestable',\n 'paymentOptionSelected',\n\n // Card View Events\n 'card:binAvailable',\n 'card:blur',\n 'card:cardTypeChange',\n 'card:empty',\n 'card:focus',\n 'card:inputSubmitRequest',\n 'card:notEmpty',\n 'card:validityChange',\n\n // 3DS Events\n '3ds:customer-canceled',\n '3ds:authentication-modal-render',\n '3ds:authentication-modal-close'\n];\nvar UPDATABLE_CONFIGURATION_OPTIONS = [\n paymentOptionIDs.paypal,\n paymentOptionIDs.paypalCredit,\n paymentOptionIDs.applePay,\n paymentOptionIDs.googlePay,\n 'threeDSecure'\n];\nvar UPDATABLE_CONFIGURATION_OPTIONS_THAT_REQUIRE_UNVAULTED_PAYMENT_METHODS_TO_BE_REMOVED = [\n paymentOptionIDs.paypal,\n paymentOptionIDs.paypalCredit,\n paymentOptionIDs.applePay,\n paymentOptionIDs.googlePay\n];\nvar HAS_RAW_PAYMENT_DATA = {};\nvar VERSION = '1.31.2';\n\nHAS_RAW_PAYMENT_DATA[constants.paymentMethodTypes.googlePay] = true;\nHAS_RAW_PAYMENT_DATA[constants.paymentMethodTypes.applePay] = true;\n\n/**\n * @typedef {object} Dropin~cardPaymentMethodPayload\n * @property {string} nonce The payment method nonce, used by your server to charge the card.\n * @property {object} details Additional account details. See a full list of details in the [Hosted Fields client reference](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#~tokenizePayload).\n * @property {string} description A human-readable description.\n * @property {string} type The payment method type, always `CreditCard` when the method requested is a card.\n * @property {object} binData Information about the card based on the bin. Documented {@link Dropin~binData|here}.\n * @property {?boolean} vaulted If present and true, indicates that the payment method refers to a vaulted payment method.\n * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction.\n * @property {?boolean} liabilityShifted If 3D Secure is configured, whether or not liability did shift.\n * @property {?boolean} liabilityShiftPossible If 3D Secure is configured, whether or not liability shift is possible.\n * @property {?object} threeDSecureInfo If 3D Secure is configured, the `threeDSecureInfo` documented in the [Three D Secure client reference](http://braintree.github.io/braintree-web/3.80.0/ThreeDSecure.html#~verifyPayload)\n */\n\n/**\n * @typedef {object} Dropin~paypalPaymentMethodPayload\n * @property {string} nonce The payment method nonce, used by your server to charge the PayPal account.\n * @property {?boolean} vaulted If present and true, indicates that the payment method refers to a vaulted payment method.\n * @property {object} details Additional PayPal account details. See a full list of details in the [PayPal client reference](http://braintree.github.io/braintree-web/3.80.0/PayPalCheckout.html#~tokenizePayload).\n * @property {string} type The payment method type, always `PayPalAccount` when the method requested is a PayPal account.\n * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction.\n */\n\n/**\n * @typedef {object} Dropin~applePayPaymentMethodPayload\n * @property {string} nonce The payment method nonce, used by your server to charge the Apple Pay provided card.\n * @property {?boolean} vaulted If present and true, indicates that the payment method refers to a vaulted payment method.\n * @property {string} details.cardType Type of card, ex: Visa, Mastercard.\n * @property {string} details.cardHolderName The name of the card holder.\n * @property {string} details.dpanLastTwo Last two digits of card number.\n * @property {external:ApplePayPayment} details.rawPaymentData The raw response back from the Apple Pay flow, which includes billing/shipping address, phone and email if passed in as required parameters.\n * @property {string} description A human-readable description.\n * @property {string} type The payment method type, always `ApplePayCard` when the method requested is an Apple Pay provided card.\n * @property {object} binData Information about the card based on the bin. Documented {@link Dropin~binData|here}.\n * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction.\n */\n\n/**\n * @typedef {object} ApplePayPayment An [Apple Pay Payment object](https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment).\n * @external ApplePayPayment\n * @see {@link https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment ApplePayPayment}\n */\n\n/**\n * @typedef {object} Dropin~venmoPaymentMethodPayload\n * @property {string} nonce The payment method nonce, used by your server to charge the Venmo account.\n * @property {?boolean} vaulted If present and true, indicates that the payment method refers to a vaulted payment method.\n * @property {string} details.username The Venmo username.\n * @property {string} type The payment method type, always `VenmoAccount` when the method requested is a Venmo account.\n * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction.\n */\n\n/**\n * @typedef {object} Dropin~googlePayPaymentMethodPayload\n * @property {string} nonce The payment method nonce, used by your server to charge the Google Pay card.\n * @property {?boolean} vaulted If present and true, indicates that the payment method refers to a vaulted payment method.\n * @property {string} details.cardType Type of card, ex: Visa, Mastercard.\n * @property {string} details.lastFour The last 4 digits of the card.\n * @property {string} details.lastTwo The last 2 digits of the card.\n * @property {boolean} details.isNetworkTokenized True if the card is network tokenized. A network tokenized card is a generated virtual card with a device-specific account number (DPAN) that is used in place of the underlying source card.\n * @property {string} details.bin First six digits of card number.\n * @property {external:GooglePayPaymentData} details.rawPaymentData The raw response back from the Google Pay flow, which includes shipping address, phone and email if passed in as required parameters.\n * @property {string} type The payment method type, always `AndroidPayCard` when the method requested is a Google Pay Card.\n * @property {object} binData Information about the card based on the bin. Documented {@link Dropin~binData|here}.\n * @property {?string} deviceData If data collector is configured, the device data property to be used when making a transaction.\n */\n\n/**\n * @typedef {object} GooglePayPaymentData A [Google Pay Payment Data object](https://developers.google.com/pay/api/web/object-reference#PaymentData).\n * @external GooglePayPaymentData\n * @see {@link https://developers.google.com/pay/api/web/object-reference#PaymentData PaymentData}\n */\n\n/**\n * @typedef {object} Dropin~binData Information about the card based on the bin.\n * @property {string} commercial Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} countryOfIssuance The country of issuance.\n * @property {string} debit Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} durbinRegulated Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} healthcare Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} issuingBank The issuing bank.\n * @property {string} payroll Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} prepaid Possible values: 'Yes', 'No', 'Unknown'.\n * @property {string} productId The product id.\n */\n\n/**\n * @name Dropin#on\n * @function\n * @param {string} event The name of the event to which you are subscribing.\n * @param {function} handler A callback to handle the event.\n * @description Subscribes a handler function to a named event. `event` should be one of the following:\n *\n * * [`changeActiveView`](#event:changeActiveView)\n * * [`paymentMethodRequestable`](#event:paymentMethodRequestable)\n * * [`noPaymentMethodRequestable`](#event:noPaymentMethodRequestable)\n * * [`paymentOptionSelected`](#event:paymentOptionSelected)\n *\n * _Card View Specific Events_\n * * [`card:binAvailable`](#event:card:binAvailable)\n * * [`card:blur`](#event:card:blur)\n * * [`card:cardTypeChange`](#event:card:cardTypeChange)\n * * [`card:empty`](#event:card:empty)\n * * [`card:focus`](#event:card:focus)\n * * [`card:inputSubmitRequest`](#event:card:inputSubmitRequest)\n * * [`card:notEmpty`](#event:card:notEmpty)\n * * [`card:validityChange`](#event:card:validityChange)\n *\n * _3DS Specific Events_\n * * [`3ds:customer-canceled`](#event:3ds:customer-canceled)\n * * [`3ds:authentication-modal-render`](#event:3ds:authentication-modal-render)\n * * [`3ds:authentication-modal-close`](#event:3ds:authentication-modal-close)\n * @returns {void}\n * @example\n * Dynamically enable or disable your submit button based on whether or not the payment method is requestable\n * var submitButton = document.querySelector('#submit-button');\n *\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container'\n * }, function (err, dropinInstance) {\n * submitButton.addEventListener('click', function () {\n * dropinInstance.requestPaymentMethod(function (err, payload) {\n * // Send payload.nonce to your server.\n * });\n * });\n *\n * if (dropinInstance.isPaymentMethodRequestable()) {\n * // This will be true if you generated the client token\n * // with a customer ID and there is a saved payment method\n * // available to tokenize with that customer.\n * submitButton.removeAttribute('disabled');\n * }\n *\n * dropinInstance.on('paymentMethodRequestable', function (event) {\n * console.log(event.type); // The type of Payment Method, e.g 'CreditCard', 'PayPalAccount'.\n * console.log(event.paymentMethodIsSelected); // true if a customer has selected a payment method when paymentMethodRequestable fires\n *\n * submitButton.removeAttribute('disabled');\n * });\n *\n * dropinInstance.on('noPaymentMethodRequestable', function () {\n * submitButton.setAttribute('disabled', true);\n * });\n * });\n *\n * @example\n * Automatically submit nonce to server as soon as it becomes available\n * var submitButton = document.querySelector('#submit-button');\n *\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container'\n * }, function (err, dropinInstance) {\n * function sendNonceToServer() {\n * dropinInstance.requestPaymentMethod(function (err, payload) {\n * if (err) {\n * // handle errors\n * }\n *\n * // send payload.nonce to your server\n * });\n * }\n *\n * // allows us to still request the payment method manually, such as\n * // when filling out a credit card form\n * submitButton.addEventListener('click', sendNonceToServer);\n *\n * dropinInstance.on('paymentMethodRequestable', function (event) {\n * // if the nonce is already available (via PayPal authentication\n * // or by using a stored payment method), we can request the\n * // nonce right away. Otherwise, we wait for the customer to\n * // request the nonce by pressing the submit button once they\n * // are finished entering their credit card details. This is\n * // particularly important if your credit card form includes a\n * // postal code input. The `paymentMethodRequestable` event\n * // could fire before the customer has finished entering their\n * // postal code. (International postal codes can be as few as 3\n * // characters in length)\n * if (event.paymentMethodIsSelected) {\n * sendNonceToServer();\n * }\n * });\n * });\n * @example\n * Listen for when the customer navigates to different views in Drop-in\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container'\n * }, function (err, dropinInstance) {\n * dropinInstance.on('changeActiveView', function (event) {\n * // fires when the view changes, such as going from the\n * // credit card view to the saved payment methods view\n * event.oldActivePaymentViewId; // card\n * event.newActivePaymentViewId; // methods\n * });\n * });\n * @example\n * Listen on various events from the card view\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container'\n * }, function (err, dropinInstance) {\n * dropinInstance.on('card:focus', function (event) {\n * // a card field was focussed\n * });\n * dropinInstance.on('card:blur', function (event) {\n * // a card field was blurred\n * });\n * dropinInstance.on('card:validityChange', function (event) {\n * // the card form went from invalid to valid or valid to invalid\n * });\n * });\n */\n\n/**\n * @name Dropin#off\n * @function\n * @param {string} event The name of the event to which you are unsubscribing.\n * @param {function} handler A callback to unsubscribe from the event.\n * @description Unsubscribes a handler function to a named event.\n * @returns {void}\n * @example\n * Subscribe and then unsubscribe from event\n * var callback = function (event) {\n * // do something\n * };\n * dropinInstance.on('paymentMethodRequestable', callback);\n *\n * // later on\n * dropinInstance.off('paymentMethodRequestable', callback);\n */\n\n/**\n * This event is emitted when the payment method available in Drop-in changes. This includes when the state of Drop-in transitions from having no payment method available to having a payment method available and when the kind of payment method available changes. This event is not fired if there is no payment method available on initialization. To check if there is a payment method requestable on initialization, use {@link Dropin#isPaymentMethodRequestable|`isPaymentMethodRequestable`}.\n * @event Dropin#paymentMethodRequestable\n * @type {Dropin~paymentMethodRequestablePayload}\n */\n\n/**\n * @typedef {object} Dropin~paymentMethodRequestablePayload\n * @description The event payload sent from {@link Dropin#on|`on`} with the {@link Dropin#event:paymentMethodRequestable|`paymentMethodRequestable`} event.\n * @property {string} type The type of payment method that is requestable. Either `CreditCard` or `PayPalAccount`.\n * @property {boolean} paymentMethodIsSelected A property to determine if a payment method is currently selected when the payment method becomes requestable.\n *\n * This will be `true` any time a payment method is visibly selected in the Drop-in UI, such as when PayPal authentication completes or a stored payment method is selected.\n *\n * This will be `false` when {@link Dropin#requestPaymentMethod|`requestPaymentMethod`} can be called, but a payment method is not currently selected. For instance, when a card form has been filled in with valid values, but has not been submitted to be converted into a payment method nonce.\n */\n\n/**\n * This event is emitted when there is no payment method available in Drop-in. This event is not fired if there is no payment method available on initialization. To check if there is a payment method requestable on initialization, use {@link Dropin#isPaymentMethodRequestable|`isPaymentMethodRequestable`}. No payload is available in the callback for this event.\n * @event Dropin#noPaymentMethodRequestable\n */\n\n/**\n * This event is emitted when the customer selects a new payment option type (e.g. PayPal, PayPal Credit, credit card). This event is not emitted when the user changes between existing saved payment methods. Only relevant when accepting multiple payment options.\n * @event Dropin#paymentOptionSelected\n * @type {Dropin~paymentOptionSelectedPayload}\n */\n\n/**\n * This event is emitted when the Drop-in view changes what is presented as the active view.\n * @event Dropin#changeActiveView\n * @type {Dropin~changeActiveView}\n */\n\n/**\n * @typedef {object} Dropin~changeActiveView\n * @description The event payload sent from {@link Dropin#on|`on`} with the {@link Dropin#event:changeActiveView|`changeActiveView`} event.\n * @property {string} previousViewId The id for the previously active view. Possible values are:\n * * `card` - The credit card form view\n * * `paypal` - The PayPal view\n * * `payapCredit` - The PayPal Credit view\n * * `venmo` - The Venmo View\n * * `googlePay` - The Google Pay view\n * * `applePay` - The Apple Pay view\n * * `methods` - The view presenting the available payment methods (already vaulted or tokenized payment methods)\n * * `options` - The view presenting the available payment options (where the customer chooses what payment method option to use). Note, if both the methods view and the options view are presented at the same time, `methods` will be shown as the view id.\n * * `delete-confirmation` - The view where the customer confirms they would like to delete their saved payment method.\n * @property {string} newViewId The id for the new active view. The possible values are the same as `previousViewId`.\n */\n\n/**\n * The underlying [hosted fields `binAvailable` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:binAvailable).\n * @event Dropin#card:binAvailable\n * @type {Dropin~card:binAvailable}\n */\n\n/**\n * The underlying [hosted fields `blur` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:blur).\n * @event Dropin#card:blur\n * @type {Dropin~card:blur}\n */\n\n/**\n * The underlying [hosted fields `cardTypeChange` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:cardTypeChange).\n * @event Dropin#card:cardTypeChange\n * @type {Dropin~card:cardTypeChange}\n */\n\n/**\n * The underlying [hosted fields `empty` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:empty).\n * @event Dropin#card:empty\n * @type {Dropin~card:empty}\n */\n\n/**\n * The underlying [hosted fields `focus` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:focus).\n * @event Dropin#card:focus\n * @type {Dropin~card:focus}\n */\n\n/**\n * The underlying [hosted fields `inputSubmitRequest` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:inputSubmitRequest).\n * @event Dropin#card:inputSubmitRequest\n * @type {Dropin~card:inputSubmitRequest}\n */\n\n/**\n * The underlying [hosted fields `notEmpty` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:notEmpty).\n * @event Dropin#card:notEmpty\n * @type {Dropin~card:notEmpty}\n */\n\n/**\n * The underlying [hosted fields `validityChange` event](http://braintree.github.io/braintree-web/3.80.0/HostedFields.html#event:validityChange).\n * @event Dropin#card:validityChange\n * @type {Dropin~card:validityChange}\n */\n\n/**\n * The underlying [3D Secure `customer-canceled` event](http://braintree.github.io/braintree-web/3.80.0/ThreeDSecure.html#event:customer-canceled).\n * @event Dropin#3ds:customer-canceled\n * @type {Dropin~3ds:customer-canceled}\n */\n\n/**\n * The underlying [3D Secure `authentication-modal-render` event](http://braintree.github.io/braintree-web/3.80.0/ThreeDSecure.html#event:authentication-modal-render).\n * @event Dropin#3ds:authentication-modal-render\n * @type {Dropin~3ds:authentication-modal-render}\n */\n\n/**\n * The underlying [3D Secure `authentication-modal-close` event](http://braintree.github.io/braintree-web/3.80.0/ThreeDSecure.html#event:authentication-modal-close).\n * @event Dropin#3ds:authentication-modal-close\n * @type {Dropin~3ds:authentication-modal-close}\n */\n\n/**\n * @typedef {object} Dropin~paymentOptionSelectedPayload\n * @description The event payload sent from {@link Dropin#on|`on`} with the {@link Dropin#event:paymentOptionSelected|`paymentOptionSelected`} event.\n * @property {string} paymentOption The payment option view selected. Either `card`, `paypal`, or `paypalCredit`.\n */\n\n/**\n * @class\n * @param {object} options For create options, see {@link module:braintree-web-drop-in|dropin.create}.\n * @description Do not use this constructor directly. Use {@link module:braintree-web-drop-in|dropin.create} instead.\n * @classdesc This class represents a Drop-in component, that will create a pre-made UI for accepting cards and PayPal on your page. Instances of this class have methods for requesting a payment method and subscribing to events. For more information, see the [Drop-in guide](https://developers.braintreepayments.com/guides/drop-in/javascript/v3) in the Braintree Developer Docs. To be used in conjunction with the [Braintree Server SDKs](https://developers.braintreepayments.com/start/hello-server/).\n */\nfunction Dropin(options) {\n this._client = options.client;\n this._componentID = uuid();\n this._dropinWrapper = document.createElement('div');\n this._dropinWrapper.id = 'braintree--dropin__' + this._componentID;\n this._dropinWrapper.setAttribute('data-braintree-id', 'wrapper');\n this._dropinWrapper.style.display = 'none';\n this._dropinWrapper.className = 'braintree-loading';\n this._merchantConfiguration = options.merchantConfiguration;\n\n EventEmitter.call(this);\n}\n\nEventEmitter.createChild(Dropin);\n\nDropin.prototype._initialize = function (callback) {\n var localizedStrings, localizedHTML;\n var self = this;\n var container = self._merchantConfiguration.container || self._merchantConfiguration.selector;\n\n if (!container) {\n analytics.sendEvent(self._client, 'configuration-error');\n callback(new DropinError('options.container is required.'));\n\n return;\n } else if (self._merchantConfiguration.container && self._merchantConfiguration.selector) {\n analytics.sendEvent(self._client, 'configuration-error');\n callback(new DropinError('Must only have one options.selector or options.container.'));\n\n return;\n }\n\n if (typeof container === 'string') {\n container = document.querySelector(container);\n }\n\n if (!container || container.nodeType !== 1) {\n analytics.sendEvent(self._client, 'configuration-error');\n callback(new DropinError('options.selector or options.container must reference a valid DOM node.'));\n\n return;\n }\n\n if (container.innerHTML.trim()) {\n analytics.sendEvent(self._client, 'configuration-error');\n callback(new DropinError('options.selector or options.container must reference an empty DOM node.'));\n\n return;\n }\n\n // Backfill with `en`\n self._strings = assign({}, translations.en);\n if (self._merchantConfiguration.locale) {\n localizedStrings = translations[self._merchantConfiguration.locale] || translations[self._merchantConfiguration.locale.split('_')[0]];\n // Fill `strings` with `localizedStrings` that may exist\n self._strings = assign(self._strings, localizedStrings);\n }\n\n if (!isUtf8()) {\n // non-utf-8 encodings often don't support the bullet character\n self._strings.endingIn = self._strings.endingIn.replace(/•/g, '*');\n }\n\n if (self._merchantConfiguration.translations) {\n Object.keys(self._merchantConfiguration.translations).forEach(function (key) {\n self._strings[key] = sanitizeHtml(self._merchantConfiguration.translations[key]);\n });\n }\n\n localizedHTML = Object.keys(self._strings).reduce(function (result, stringKey) {\n var stringValue = self._strings[stringKey];\n\n return result.replace(RegExp('{{' + stringKey + '}}', 'g'), stringValue);\n }, mainHTML);\n\n self._dropinWrapper.innerHTML = svgHTML + localizedHTML;\n container.appendChild(self._dropinWrapper);\n\n self._model = new DropinModel({\n client: self._client,\n container: container,\n componentID: self._componentID,\n merchantConfiguration: self._merchantConfiguration\n });\n\n self._injectStylesheet();\n\n self._model.initialize().then(function () {\n self._model.on('cancelInitialization', function (err) {\n self._dropinWrapper.innerHTML = '';\n analytics.sendEvent(self._client, 'load-error');\n callback(err);\n });\n\n self._model.on('asyncDependenciesReady', function () {\n if (self._model.hasAtLeastOneAvailablePaymentOption()) {\n analytics.sendEvent(self._client, 'appeared');\n self._disableErroredPaymentMethods();\n\n self._handleAppSwitch();\n\n self._model.confirmDropinReady();\n\n callback(null, self);\n } else {\n self._model.cancelInitialization(new DropinError('All payment options failed to load.'));\n }\n });\n\n PASS_THROUGH_EVENTS.forEach(function (eventName) {\n self._model.on(eventName, function (event) {\n self._emit(eventName, event);\n });\n });\n\n return self._setUpDependenciesAndViews();\n }).catch(function (err) {\n self.teardown().then(function () {\n callback(err);\n });\n });\n};\n\n/**\n * Modify your configuration initially set in {@link module:braintree-web-drop-in|`dropin.create`}.\n *\n * If `updateConfiguration` is called after a user completes the PayPal authorization flow, any PayPal accounts not stored in the Vault record will be removed.\n * @public\n * @param {string} property The top-level property to update. Either `paypal`, `paypalCredit`, `applePay`, or `googlePay`.\n * @param {string} key The key of the property to update, such as `amount` or `currency`.\n * @param {any} value The value of the property to update. Must be the type of the property specified in {@link module:braintree-web-drop-in|`dropin.create`}.\n * @returns {void}\n * @example\n * dropinInstance.updateConfiguration('paypal', 'amount', '10.00');\n */\nDropin.prototype.updateConfiguration = function (property, key, value) {\n var view;\n\n if (UPDATABLE_CONFIGURATION_OPTIONS.indexOf(property) === -1) {\n return;\n }\n\n if (property === 'threeDSecure') {\n if (this._threeDSecure) {\n this._threeDSecure.updateConfiguration(key, value);\n }\n\n return;\n }\n\n view = this._mainView.getView(property);\n\n if (!view) {\n return;\n }\n\n view.updateConfiguration(key, value);\n\n if (UPDATABLE_CONFIGURATION_OPTIONS_THAT_REQUIRE_UNVAULTED_PAYMENT_METHODS_TO_BE_REMOVED.indexOf(property) === -1) {\n return;\n }\n\n this._removeUnvaultedPaymentMethods(function (paymentMethod) {\n return paymentMethod.type === constants.paymentMethodTypes[property];\n });\n this._navigateToInitialView();\n};\n\n/**\n * Get a list of the available payment methods presented to the user. This is useful for knowing if a paricular payment option was presented to a customer that is browser dependant such as Apple Pay, Google Pay and Venmo. Returns an array of strings. Possible values:\n * * `applePay`\n * * `card`\n * * `googlePay`\n * * `paypalCredit`\n * * `paypal`\n * * `venmo`\n *\n * @public\n * @returns {string[]} An array of possible payment options.\n * @example\n * var paymentOptions = dropinInstance.getAvailablePaymentOptions(); // ['card', 'venmo', 'paypal']\n *\n * if (paymentOptions.includes('venmo')) {\n * // special logic for when venmo is displayed\n * }\n */\nDropin.prototype.getAvailablePaymentOptions = function () {\n return this._model.supportedPaymentOptions;\n};\n\n/**\n * Removes the currently selected payment method and returns the customer to the payment options view. Does not remove vaulted payment methods.\n * @public\n * @returns {void}\n * @example\n * dropinInstance.requestPaymentMethod(function (requestPaymentMethodError, payload) {\n * if (requestPaymentMethodError) {\n * // handle errors\n * return;\n * }\n *\n * functionToSendNonceToServer(payload.nonce, function (transactionError, response) {\n * if (transactionError) {\n * // transaction sale with selected payment method failed\n * // clear the selected payment method and add a message\n * // to the checkout page about the failure\n * dropinInstance.clearSelectedPaymentMethod();\n * divForErrorMessages.textContent = 'my error message about entering a different payment method.';\n * } else {\n * // redirect to success page\n * }\n * });\n * });\n */\nDropin.prototype.clearSelectedPaymentMethod = function () {\n this._removeUnvaultedPaymentMethods();\n this._model.removeActivePaymentMethod();\n\n if (this._model.getPaymentMethods().length === 0) {\n this._navigateToInitialView();\n\n return;\n }\n\n this._mainView.showLoadingIndicator();\n\n this._model.refreshPaymentMethods().then(function () {\n this._navigateToInitialView();\n this._mainView.hideLoadingIndicator();\n }.bind(this));\n};\n\nDropin.prototype._setUpDataCollector = function () {\n var self = this;\n var config = assign({}, self._merchantConfiguration.dataCollector, {client: self._client});\n\n this._dataCollector = new DataCollector(config);\n\n this._dataCollector.initialize().then(function () {\n self._model.asyncDependencyReady('dataCollector');\n }).catch(function (err) {\n self._model.cancelInitialization(new DropinError({\n message: 'Data Collector failed to set up.',\n braintreeWebError: err\n }));\n });\n};\n\nDropin.prototype._setUpThreeDSecure = function () {\n var self = this;\n\n this._threeDSecure = new ThreeDSecure(this._client, this._model);\n\n this._threeDSecure.initialize().then(function () {\n self._model.asyncDependencyReady('threeDSecure');\n }).catch(function (err) {\n self._model.cancelInitialization(new DropinError({\n message: '3D Secure failed to set up.',\n braintreeWebError: err\n }));\n });\n};\n\nDropin.prototype._setUpDependenciesAndViews = function () {\n if (this._merchantConfiguration.dataCollector) {\n this._setUpDataCollector();\n }\n\n if (this._merchantConfiguration.threeDSecure) {\n this._setUpThreeDSecure();\n }\n\n this._mainView = new MainView({\n client: this._client,\n element: this._dropinWrapper,\n model: this._model,\n strings: this._strings\n });\n};\n\nDropin.prototype._removeUnvaultedPaymentMethods = function (filter) {\n filter = filter || function () { return true; };\n\n this._model.getPaymentMethods().forEach(function (paymentMethod) {\n if (filter(paymentMethod) && !paymentMethod.vaulted) {\n this._model.removePaymentMethod(paymentMethod);\n }\n }.bind(this));\n};\n\nDropin.prototype._navigateToInitialView = function () {\n var isOnMethodsView = this._mainView.primaryView.ID === paymentMethodsViewID;\n\n if (!isOnMethodsView) {\n return;\n }\n\n if (this._model.hasPaymentMethods()) {\n return;\n }\n\n this._mainView.setPrimaryView(this._model.getInitialViewId());\n};\n\nDropin.prototype._supportsPaymentOption = function (paymentOption) {\n return this._model.supportedPaymentOptions.indexOf(paymentOption) !== -1;\n};\n\nDropin.prototype._disableErroredPaymentMethods = function () {\n var paymentMethodOptionsElements;\n var failedDependencies = Object.keys(this._model.failedDependencies);\n\n if (failedDependencies.length === 0) {\n return;\n }\n\n paymentMethodOptionsElements = this._mainView.getOptionsElements();\n\n failedDependencies.forEach(function (paymentMethodId) {\n var element = paymentMethodOptionsElements[paymentMethodId];\n var div = element.div;\n var clickHandler = element.clickHandler;\n var error = this._model.failedDependencies[paymentMethodId];\n var errorMessageDiv = div.querySelector('.braintree-option__disabled-message');\n\n classList.add(div, 'braintree-disabled');\n div.removeEventListener('click', clickHandler);\n errorMessageDiv.innerHTML = constants.errors.DEVELOPER_MISCONFIGURATION_MESSAGE;\n console.error(error); // eslint-disable-line no-console\n }.bind(this));\n};\n\nDropin.prototype._sendVaultedPaymentMethodAppearAnalyticsEvents = function () {\n var i, type;\n var typesThatSentAnEvent = {};\n var paymentMethods = this._model._paymentMethods;\n\n for (i = 0; i < paymentMethods.length; i++) {\n type = paymentMethods[i].type;\n\n if (type in typesThatSentAnEvent) {\n // prevents us from sending the analytic multiple times\n // for the same payment method type\n continue;\n }\n\n typesThatSentAnEvent[type] = true;\n\n analytics.sendEvent(this._client, 'vaulted-' + constants.analyticsKinds[type] + '.appear');\n }\n};\n\nDropin.prototype._handleAppSwitch = function () {\n if (this._model.appSwitchError) {\n this._mainView.setPrimaryView(this._model.appSwitchError.id);\n this._model.reportError(this._model.appSwitchError.error);\n } else if (this._model.appSwitchPayload) {\n this._model.addPaymentMethod(this._model.appSwitchPayload);\n } else {\n this._sendVaultedPaymentMethodAppearAnalyticsEvents();\n }\n};\n\n/**\n * Requests a payment method object which includes the payment method nonce used by by the [Braintree Server SDKs](https://developers.braintreepayments.com/start/hello-server/).\n *\n * If a payment method is not available, an error will appear in the UI. When a callback is used, an error will be passed to it. If no callback is used, the returned Promise will be rejected with an error.\n * @public\n * @param {object} [options] All options for requesting a payment method.\n * @param {object} [options.threeDSecure] Any of the options in the [Braintree 3D Secure client reference](https://braintree.github.io/braintree-web/3.80.0/ThreeDSecure.html#verifyCard) except for `nonce`, `bin`, and `onLookupComplete`. If `amount` is provided, it will override the value of `amount` in the [3D Secure create options](module-braintree-web-drop-in.html#~threeDSecureOptions). The more options provided, the more likely the customer will not need to answer a 3DS challenge. When 3DS is enabled, both credit cards and non-network tokenized Google Pay cards will perform verfication. The recommended fields for achieving a 3DS v2 verification are:\n * * `email`\n * * `mobilePhoneNumber`\n * * `billingAddress`\n *\n * For an example of verifying 3D Secure within Drop-in, [check out this codepen](https://codepen.io/braintree/pen/KjWqGx).\n * @param {callback} [callback] May be used as the only parameter in requestPaymentMethod if no `options` are provided. The first argument will be an error if no payment method is available and will otherwise be null. The second argument will be an object containing a payment method nonce; either a {@link Dropin~cardPaymentMethodPayload|cardPaymentMethodPayload}, a {@link Dropin~paypalPaymentMethodPayload|paypalPaymentMethodPayload}, a {@link Dropin~venmoPaymentMethodPayload|venmoPaymentMethodPayload}, a {@link Dropin~googlePayPaymentMethodPayload|googlePayPaymentMethodPayload} or an {@link Dropin~applePayPaymentMethodPayload|applePayPaymentMethodPayload}. If no callback is provided, `requestPaymentMethod` will return a promise.\n * @returns {(void|Promise)} Returns a promise if no callback is provided.\n * @example Requesting a payment method\n * var form = document.querySelector('#my-form');\n * var hiddenNonceInput = document.querySelector('#my-nonce-input');\n *\n * form.addEventListener('submit', function (event) {\n * event.preventDefault();\n *\n * dropinInstance.requestPaymentMethod(function (err, payload) {\n * if (err) {\n * // handle error\n * return;\n * }\n * hiddenNonceInput.value = payload.nonce;\n * form.submit();\n * });\n * });\n * @example Requesting a payment method with data collector\n * var form = document.querySelector('#my-form');\n * var hiddenNonceInput = document.querySelector('#my-nonce-input');\n * var hiddenDeviceDataInput = document.querySelector('#my-device-data-input');\n *\n * form.addEventListener('submit', function (event) {\n * event.preventDefault();\n *\n * dropinInstance.requestPaymentMethod(function (err, payload) {\n * if (err) {\n * // handle error\n * return;\n * }\n * hiddenNonceInput.value = payload.nonce;\n * hiddenDeviceDataInput.value = payload.deviceData;\n * form.submit();\n * });\n * });\n *\n * @example Requesting a payment method with 3D Secure\n * var form = document.querySelector('#my-form');\n * var hiddenNonceInput = document.querySelector('#my-nonce-input');\n *\n * form.addEventListener('submit', function (event) {\n * event.preventDefault();\n *\n * dropinInstance.requestPaymentMethod(function (err, payload) {\n * if (err) {\n * // Handle error\n * return;\n * }\n *\n * if (payload.liabilityShifted || (payload.type !== 'CreditCard' && payload.type !== 'AndroidPayCard')) {\n * hiddenNonceInput.value = payload.nonce;\n * form.submit();\n * } else {\n * // Decide if you will force the user to enter a different payment method\n * // if liability was not shifted\n * dropinInstance.clearSelectedPaymentMethod();\n * }\n * });\n * });\n */\nDropin.prototype.requestPaymentMethod = function (options) {\n // NEXT_MAJOR_VERSION\n // what should happen when this method is called while a payment\n // method is already being requested? Should it error? Should\n // they both resolve with the payload from the original request?\n // this is only important because when doing 3ds, multiple\n // requests in quick succession can get you into a state\n // where it errors because the 3ds verification is called twice\n var self = this;\n\n options = options || {};\n\n return this._mainView.requestPaymentMethod().then(function (payload) {\n if (self._shouldPerformThreeDSecureVerification(payload)) {\n self._mainView.showLoadingIndicator();\n\n return self._threeDSecure.verify(payload, options.threeDSecure).then(function (newPayload) {\n payload.nonce = newPayload.nonce;\n payload.liabilityShifted = newPayload.liabilityShifted;\n payload.liabilityShiftPossible = newPayload.liabilityShiftPossible;\n payload.threeDSecureInfo = newPayload.threeDSecureInfo;\n\n self._mainView.hideLoadingIndicator();\n\n return payload;\n }).catch(function (err) {\n self.clearSelectedPaymentMethod();\n\n return self._model.refreshPaymentMethods().then(function () {\n self._mainView.hideLoadingIndicator();\n\n return Promise.reject(new DropinError({\n message: 'Something went wrong during 3D Secure authentication. Please try again.',\n braintreeWebError: err\n }));\n });\n });\n }\n\n return payload;\n }).then(function (payload) {\n if (self._dataCollector) {\n payload.deviceData = self._dataCollector.getDeviceData();\n }\n\n return payload;\n }).then(function (payload) {\n return formatPaymentMethodPayload(payload);\n });\n};\n\nDropin.prototype._shouldPerformThreeDSecureVerification = function (payload) {\n if (!this._threeDSecure) {\n return false;\n }\n\n if (payload.liabilityShifted != null) {\n return false;\n }\n\n if (payload.type === constants.paymentMethodTypes.card) {\n return true;\n }\n\n if (payload.type === constants.paymentMethodTypes.googlePay && payload.details.isNetworkTokenized === false) {\n return true;\n }\n\n return false;\n};\n\nDropin.prototype._removeStylesheet = function () {\n var stylesheet = document.getElementById(constants.STYLESHEET_ID);\n\n if (stylesheet) {\n stylesheet.parentNode.removeChild(stylesheet);\n }\n};\n\nDropin.prototype._injectStylesheet = function () {\n var assetsUrl;\n var loadStylesheetOptions = {\n id: constants.STYLESHEET_ID\n };\n\n if (document.getElementById(constants.STYLESHEET_ID)) { return; }\n\n assetsUrl = this._client.getConfiguration().gatewayConfiguration.assetsUrl;\n loadStylesheetOptions.href = assetsUrl + '/web/dropin/' + VERSION + '/css/dropin.css';\n\n if (this._model.isInShadowDom) {\n // if Drop-in is in the shadow DOM, put the\n // style sheet in the shadow DOM node instead of\n // in the head of the document\n loadStylesheetOptions.container = this._model.rootNode;\n }\n\n assets.loadStylesheet(loadStylesheetOptions);\n};\n\n/**\n * Cleanly remove anything set up by {@link module:braintree-web-drop-in|dropin.create}. This may be be useful in a single-page app.\n * @public\n * @param {callback} [callback] Called on completion, containing an error if one occurred. No data is returned if teardown completes successfully. If no callback is provided, `teardown` will return a promise.\n * @returns {(void|Promise)} Returns a promise if no callback is provided.\n */\nDropin.prototype.teardown = function () {\n var teardownError;\n var promise = Promise.resolve();\n var self = this;\n\n this._removeStylesheet();\n\n if (this._mainView) {\n promise.then(function () {\n return self._mainView.teardown().catch(function (err) {\n teardownError = err;\n });\n });\n }\n\n if (this._dataCollector) {\n promise.then(function () {\n return this._dataCollector.teardown().catch(function (error) {\n teardownError = new DropinError({\n message: 'Drop-in errored tearing down Data Collector.',\n braintreeWebError: error\n });\n });\n }.bind(this));\n }\n\n if (this._threeDSecure) {\n promise.then(function () {\n return this._threeDSecure.teardown().catch(function (error) {\n teardownError = new DropinError({\n message: 'Drop-in errored tearing down 3D Secure.',\n braintreeWebError: error\n });\n });\n }.bind(this));\n }\n\n return promise.then(function () {\n return self._removeDropinWrapper();\n }).then(function () {\n if (teardownError) {\n return Promise.reject(teardownError);\n }\n\n return Promise.resolve();\n });\n};\n\n/**\n * Returns a boolean indicating if a payment method is available through {@link Dropin#requestPaymentMethod|requestPaymentMethod}. Particularly useful for detecting if using a client token with a customer ID to show vaulted payment methods.\n * @public\n * @returns {Boolean} True if a payment method is available, otherwise false.\n */\nDropin.prototype.isPaymentMethodRequestable = function () {\n return this._model.isPaymentMethodRequestable();\n};\n\nDropin.prototype._removeDropinWrapper = function () {\n this._dropinWrapper.parentNode.removeChild(this._dropinWrapper);\n\n return Promise.resolve();\n};\n\nfunction formatPaymentMethodPayload(paymentMethod) {\n var formattedPaymentMethod = {\n nonce: paymentMethod.nonce,\n details: paymentMethod.details,\n type: paymentMethod.type\n };\n\n if (paymentMethod.vaulted != null) {\n formattedPaymentMethod.vaulted = paymentMethod.vaulted;\n }\n\n if (paymentMethod.type === constants.paymentMethodTypes.card) {\n formattedPaymentMethod.description = paymentMethod.description;\n }\n\n if (paymentMethod.type in HAS_RAW_PAYMENT_DATA) {\n formattedPaymentMethod.details.rawPaymentData = paymentMethod.rawPaymentData;\n }\n\n if (typeof paymentMethod.liabilityShiftPossible === 'boolean') {\n formattedPaymentMethod.liabilityShifted = paymentMethod.liabilityShifted;\n formattedPaymentMethod.liabilityShiftPossible = paymentMethod.liabilityShiftPossible;\n }\n\n if (paymentMethod.threeDSecureInfo) {\n formattedPaymentMethod.threeDSecureInfo = paymentMethod.threeDSecureInfo;\n }\n\n if (paymentMethod.deviceData) {\n formattedPaymentMethod.deviceData = paymentMethod.deviceData;\n }\n\n if (paymentMethod.binData) {\n formattedPaymentMethod.binData = paymentMethod.binData;\n }\n\n return formattedPaymentMethod;\n}\n\nmodule.exports = wrapPrototype(Dropin);\n\n},{\"./constants\":191,\"./dropin-model\":192,\"./lib/analytics\":196,\"./lib/assign\":197,\"./lib/data-collector\":200,\"./lib/dropin-error\":201,\"./lib/is-utf-8\":205,\"./lib/promise\":208,\"./lib/sanitize-html\":209,\"./lib/three-d-secure\":211,\"./translations\":232,\"./views/main-view\":251,\"./views/payment-methods-view\":253,\"@braintree/asset-loader\":1,\"@braintree/class-list\":39,\"@braintree/event-emitter\":40,\"@braintree/uuid\":46,\"@braintree/wrap-promise\":50}],194:[function(require,module,exports){\n'use strict';\n/**\n * @module braintree-web-drop-in\n * @description There are two ways to integrate Drop-in into your page: a script tag integration and a JavaScript integration using [`dropin.create`](#.create).\n *\n * The script tag integration is the fastest way to integrate. All you need to do is add the Drop-in script inside your form element where you want Drop-in to appear and include a `data-braintree-dropin-authorization` property with your [tokenization key](https://developers.braintreepayments.com/guides/authorization/tokenization-key/javascript/v3) or [client token](https://developers.braintreepayments.com/guides/authorization/client-token).\n *\n * When your form is submitted, Drop-in will intercept the form submission and attempt to tokenize the payment method. If the tokenization is successful, it will insert the payment method nonce into a hidden input with the name `payment_method_nonce` and then submit your form. If the tokenization is unsuccessful, a relevant error will be shown in the UI.\n *\n * If you have data collector enabled, the device data will be injected into a hidden input with the name `device_data` before form submission.\n *\n * Specify creation options as data attributes in your script tag, as shown in the examples below. The following configuration properties may be set:\n *\n * * `data-locale`\n * * `data-card.cardholder-name.required`\n * * `data-payment-option-priority`\n * * `data-data-collector.kount`\n * * `data-data-collector.paypal`\n * * `data-paypal.amount`\n * * `data-paypal.currency`\n * * `data-paypal.flow`\n * * `data-paypal-credit.amount`\n * * `data-paypal-credit.currency`\n * * `data-paypal-credit.flow`\n *\n * For more control and customization, use [`dropin.create` instead](#.create).\n *\n * See our [demo app](../../script-tag-integration.html) for an example of using our script tag integration.\n *\n * @example\n * A full example accepting only cards\n * \n * \n * \n * \n * Checkout\n * \n * \n *
\n * \n * \n *
\n * \n * \n *\n * @example\n * A full example accepting cards, PayPal, and PayPal credit\n * \n * \n * \n * \n * Checkout\n * \n * \n *
\n * \n * \n *
\n * \n * \n *\n * @example\n * Specifying a locale and payment option priority\n *
\n * \n * \n *
\n *\n * @example\n * Including an optional cardholder name field in card form\n *
\n * \n * \n *
\n *\n * @example\n * Including a required cardholder name field in card form\n *
\n * \n * \n *
\n */\n\nvar Dropin = require('./dropin');\nvar client = require('braintree-web/client');\nvar createFromScriptTag = require('./lib/create-from-script-tag');\nvar constants = require('./constants');\nvar analytics = require('./lib/analytics');\nvar DropinError = require('./lib/dropin-error');\nvar Promise = require('./lib/promise');\nvar wrapPromise = require('@braintree/wrap-promise');\n\nvar VERSION = '1.31.2';\n\n/**\n * @typedef {object} cardCreateOptions The configuration options for cards. Internally, Drop-in uses [Hosted Fields](http://braintree.github.io/braintree-web/3.80.0/module-braintree-web_hosted-fields.html) to render the card form. The `overrides.fields` and `overrides.styles` allow the Hosted Fields to be customized.\n *\n * @param {(boolean|object)} [cardholderName] Will enable a cardholder name field above the card number field. If set to an object, you can specify whether or not the field is required. If set to a `true`, it will default the field to being present, but not required.\n * @param {boolean} [cardholderName.required=false] When true, the cardholder name field will be required to request the payment method nonce.\n * @param {object} [overrides.fields] The Hosted Fields [`fields` options](http://braintree.github.io/braintree-web/3.80.0/module-braintree-web_hosted-fields.html#~fieldOptions). Only `number`, `cvv`, `expirationDate` and `postalCode` can be configured. Each is a [Hosted Fields `field` object](http://braintree.github.io/braintree-web/3.80.0/module-braintree-web_hosted-fields.html#~field). `selector` cannot be modified.\n * @param {object} [overrides.styles] The Hosted Fields [`styles` options](http://braintree.github.io/braintree-web/3.80.0/module-braintree-web_hosted-fields.html#~styleOptions). These can be used to add custom styles to the Hosted Fields iframes. To style the rest of Drop-in, [review the documentation for customizing Drop-in](https://developers.braintreepayments.com/guides/drop-in/customization/javascript/v3#customize-your-ui).\n * @param {boolean} [clearFieldsAfterTokenization=true] When false, the card form will not clear the card data when the customer returns to the card view after a successful tokenization.\n * @param {object} [vault] Configuration for vaulting credit cards. Only applies when using a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id).\n * @param {boolean} [vault.allowVaultCardOverride=false] When true, the card form will include an option to let the customer decide not to vault the credit card they enter.\n * @param {boolean} [vault.vaultCard=true] Whether or not to vault the card upon tokenization. When set to `false` with `allowVaultCardOverride` set to `false`, then cards will not be vaulted.\n */\n\n/**\n * @typedef {object} dataCollectorOptions The configuration options for Data Collector. Requires [advanced fraud protection](https://developers.braintreepayments.com/guides/advanced-fraud-tools/client-side/javascript/v3) to be enabled in the Braintree gateway. If using Kount, contact our [support team](https://developers.braintreepayments.com/forms/contact) to configure your Kount ID. The device data will be included on the {@link Dropin#requestPaymentMethod|requestPaymentMethod payload}.\n *\n * @param {boolean} [kount] If true, Kount fraud data collection is enabled.\n */\n\n/**\n * @typedef {object} threeDSecureOptions Configuration options to pass when creating the 3D Secure module used in Drop-in. `amount` for 3D Secure verification can be passed here, but it's recomended that it and all other 3D Secure verification options be passed to the {@link Dropin#requestPaymentMethod|requestPaymentMethod options} instead. Any `cardinalSDKConfig` options must be passed here when creating Drop-in.\n *\n * @param {options} cardinalSDKConfig A configuration object to adjust the configuration for the underlying Cardinal SDK (Braintree's 3D Secure provider). See [`cardinalSDKConfig` options](http://braintree.github.io/braintree-web/3.80.0/module-braintree-web_three-d-secure.html#.create) for all options.\n * @param {string} amount __Deprecated__ The amount to verify with 3D Secure. Set amount in the {@link Dropin#requestPaymentMethod|requestPaymentMethod options} instead.\n */\n\n/** @typedef {object} paypalCreateOptions The configuration options for PayPal and PayPalCredit. For a full list of options see the [PayPal Checkout client reference options](http://braintree.github.io/braintree-web/3.80.0/PayPalCheckout.html#createPayment).\n *\n * @param {string} flow Either `checkout` for a one-time [Checkout with PayPal](https://developers.braintreepayments.com/guides/paypal/checkout-with-paypal/javascript/v3) flow or `vault` for a [Vault flow](https://developers.braintreepayments.com/guides/paypal/vault/javascript/v3). Required when using PayPal or PayPal Credit.\n * @param {(string|number)} [amount] The amount of the transaction. Required when using the Checkout flow.\n * @param {string} [currency] The currency code of the amount, such as `USD`. Required when using the Checkout flow.\n * @param {object} [buttonStyle] The style object to apply to the PayPal button. Button customization includes color, shape, size, and label. The options [found here](https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/customize-button/#button-styles) are available.\n * @param {boolean} [commit] The user action to show on the PayPal review page. If true, a `Pay Now` button will be shown. If false, a `Continue` button will be shown.\n * @param {object} [vault] Configuration for vaulting PayPal accounts. Only applies when using a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id).\n * @param {boolean} [vault.vaultPayPal=true] Whether or not to vault the PayPal account upon tokenization.\n */\n\n/** @typedef {object} applePayCreateOptions The configuration options for Apple Pay.\n *\n * @param {string} [buttonStyle=black] Configures the Apple Pay button style. Valid values are `black`, `white`, `white-outline`.\n * @param {string} displayName The canonical name for your store. Use a non-localized name. This parameter should be a utf-8 string that is a maximum of 128 characters. The system may display this name to the user.\n * @param {number} [applePaySessionVersion=2] The [version of the `ApplePaySession`](https://developer.apple.com/documentation/apple_pay_on_the_web/apple_pay_on_the_web_version_history) to use. It's recommended to use the lowest version that contains all the features you need for your checkout to maximize compatibility.\n * @param {external:ApplePayPaymentRequest} paymentRequest The payment request details to apply on top of those from Braintree.\n */\n\n/** @typedef {object} googlePayCreateOptions The configuration options for Google Pay. Additional options from the few listed here are available, many have default values applied based on the settings found in the Braintree Gateway. For more information, see [Google's Documentation](https://developers.google.com/pay/api/web/object-reference#request-objects).\n *\n * @param {string} merchantId The ID provided by Google for processing transactions in production. Not necessary for testing in sandbox.\n * @param {string} [googlePayVersion=1] The version of the Google Pay API to use. Defaults to 1, but 2 can be passed in.\n * @param {external:GooglePayTransactionInfo} transactionInfo The transaction details necessary for processing the payment.\n * @param {external:GooglePayButtonOptions} [button] The button options for configuring the look of the Google Pay button. The `onClick` property cannot be overwritten.\n */\n\n/**\n * @typedef {object} ApplePayPaymentRequest An [Apple Pay Payment Request object](https://developer.apple.com/reference/applepayjs/1916082-applepay_js_data_types/paymentrequest).\n * @external ApplePayPaymentRequest\n * @see {@link https://developer.apple.com/reference/applepayjs/1916082-applepay_js_data_types/paymentrequest PaymentRequest}\n */\n\n/**\n * @typedef {object} GooglePayTransactionInfo A [Google Pay TransactionInfo object](https://developers.google.com/pay/api/web/object-reference#TransactionInfo).\n * @external GooglePayTransactionInfo\n * @see {@link https://developers.google.com/pay/api/web/object-reference#TransactionInfo TransactionInfo}\n */\n\n/**\n * @typedef {object} GooglePayButtonOptions A [Google Pay ButtonOptions object](https://developers.google.com/pay/api/web/reference/object#ButtonOptions).\n * @external GooglePayButtonOptions\n * @see {@link https://developers.google.com/pay/api/web/reference/object#ButtonOptions ButtonOptions}\n */\n\n/** @typedef {(object|boolean)} venmoCreateOptions The configuration options for Venmo. If `true` is passed instead of a configuration object, the default settings listed will be used.\n *\n * @param {boolean} [allowNewBrowserTab=true] If false, it restricts supported browsers to those that can app switch to the Venmo app without opening a new tab.\n */\n\n/**\n * @static\n * @function create\n * @description This function is the entry point for `braintree.dropin`. It is used for creating {@link Dropin} instances.\n * @param {object} options Object containing all {@link Dropin} options:\n * @param {string} options.authorization A [tokenization key](https://developers.braintreepayments.com/guides/authorization/tokenization-key/javascript/v3) or a [client token](https://developers.braintreepayments.com/guides/authorization/client-token). If authorization is a client token created with a [customer ID](https://developers.braintreepayments.com/guides/drop-in/javascript/v3#customer-id), Drop-in will render saved payment methods and automatically store any newly-added payment methods in their Vault record.\n * @param {(string|HTMLElement)} options.container A reference to an empty element, such as a `
`, where Drop-in will be included on your page or the selector for the empty element. e.g. `#dropin-container`.\n * @param {string} options.selector Deprecated: Now an alias for `options.container`.\n * @param {string} [options.locale=`en_US`] Use this option to change the language, links, and terminology used throughout Drop-in. Supported locales include:\n * `ar_EG`,\n * `cs_CZ`,\n * `da_DK`,\n * `de_DE`,\n * `el_GR`,\n * `en_AU`,\n * `en_GB`,\n * `en_IN`,\n * `en_US`,\n * `es_ES`,\n * `es_XC`,\n * `fi_FI`,\n * `fr_CA`,\n * `fr_FR`,\n * `fr_XC`,\n * `he_IL`,\n * `hu_HU`,\n * `id_ID`,\n * `it_IT`,\n * `ja_JP`,\n * `ko_KR`,\n * `nl_NL`,\n * `no_NO`,\n * `pl_PL`,\n * `pt_BR`,\n * `pt_PT`,\n * `ru_RU`,\n * `sk_SK`,\n * `sv_SE`,\n * `th_TH`,\n * `zh_CN`,\n * `zh_HK`,\n * `zh_TW`,\n * `zh_XC`.\n *\n * @param {object} [options.translations] To use your own translations, pass an object with the strings you wish to replace. This object must use the same structure as the object used internally for supported translations, which can be found [here](https://github.com/braintree/braintree-web-drop-in/blob/main/src/translations/en_US.js). Any strings that are not included will be those from the provided `locale` or `en_US` if no `locale` is provided. See below for an example of creating Drop-in with custom translations.\n * @param {array} [options.paymentOptionPriority] Use this option to indicate the order in which enabled payment options should appear when multiple payment options are enabled. By default, payment options will appear in this order: `['card', 'paypal', 'paypalCredit', 'venmo', 'applePay', 'googlePay']`. Payment options omitted from this array will not be offered to the customer.\n *\n * @param {(boolean|object)} [options.card] The configuration options for cards. See [`cardCreateOptions`](#~cardCreateOptions) for all `card` options. If this option is omitted, cards will still appear as a payment option. To remove cards, pass `false` for the value.\n * @param {object} [options.paypal] The configuration options for PayPal. To include a PayPal option in your Drop-in integration, include the `paypal` parameter and [enable PayPal in the Braintree Control Panel](https://developers.braintreepayments.com/guides/paypal/testing-go-live/#go-live). To test in Sandbox, you will need to [link a PayPal sandbox test account to your Braintree sandbox account](https://developers.braintreepayments.com/guides/paypal/testing-go-live/#linked-paypal-testing).\n *\n * Some of the PayPal configuration options are listed [here](#~paypalCreateOptions), but for a full list see the [PayPal Checkout client reference options](http://braintree.github.io/braintree-web/3.80.0/PayPalCheckout.html#createPayment).\n *\n * PayPal is not [supported in Internet Explorer versions lower than 11](https://developer.paypal.com/docs/checkout/reference/faq/#which-browsers-does-paypal-checkout-support).\n *\n * @param {object} [options.paypalCredit] The configuration options for PayPal Credit. To include a PayPal Credit option in your Drop-in integration, include the `paypalCredit` parameter and [enable PayPal in the Braintree Control Panel](https://developers.braintreepayments.com/guides/paypal/testing-go-live/#go-live).\n *\n * Some of the PayPal Credit configuration options are listed [here](#~paypalCreateOptions), but for a full list see the [PayPal Checkout client reference options](http://braintree.github.io/braintree-web/3.80.0/PayPalCheckout.html#createPayment). For more information on PayPal Credit, see the [Braintree Developer Docs](https://developers.braintreepayments.com/guides/paypal/paypal-credit/javascript/v3).\n *\n * PayPal Credit is not [supported in Internet Explorer versions lower than 11](https://developer.paypal.com/docs/checkout/reference/faq/#which-browsers-does-paypal-checkout-support).\n *\n * @param {(object|boolean)} [options.venmo] The configuration options for Pay with Venmo. To include a Venmo option in your Drop-in integration, include the `venmo` parameter and [follow the documentation for setting up Venmo in the Braintree control panel](https://articles.braintreepayments.com/guides/payment-methods/venmo#setup). If a user's browser does not support Venmo, the Venmo option will not be rendered.\n *\n * See [`venmoCreateOptions`](#~venmoCreateOptions) for `venmo` options.\n *\n * @param {object} [options.applePay] The configuration options for Apple Pay. To include an Apple Pay option in your Drop-in integration, include the `applePay` parameter and [enable Apple Pay in the Braintree Control Panel](https://developers.braintreepayments.com/guides/apple-pay/configuration/javascript/v3). If a user's browser does not support Apple Pay, the Apple Pay option will not be rendered. See [Apple's documentation](https://support.apple.com/en-us/HT201469) for browser and device support.\n *\n * See [`applePayCreateOptions`](#~applePayCreateOptions) for `applePay` options.\n *\n * @param {object} [options.googlePay] The configuration options for Google Pay. To include a Google Pay option in your Drop-in integration, include the `googlePay` parameter and [enable Google Pay in the Braintree Control Panel](https://developers.braintreepayments.com/guides/google-pay/configuration/javascript/v3). If a user's browser does not support Google Pay, the Google Pay option will not be rendered. See [Google's documentation](https://developers.google.com/pay/api/web/test-and-deploy) for browser and device support.\n *\n * See [`googlePayCreateOptions`](#~googlePayCreateOptions) for `googlePay` options.\n *\n * @param {object|boolean} [options.dataCollector] If `true` is passed, Drop-in will be configured to collect data for use with Advanced Fraud Protection. If collecting data via Kount, pass a [`dataCollectorOptions` object](#~dataCollectorOptions) with `kount: true` instead. If Data Collector is configured and fails to load, Drop-in creation will fail.\n *\n * @param {(boolean|object)} [options.threeDSecure] When `true` is passed, the 3D Secure module will be created with a default configuration. See [`threeDSecureOptions`](#~threeDSecureOptions) for additional create options. If 3D Secure is configured and fails to load, Drop-in creation will fail.\n *\n * @param {boolean} [options.vaultManager=false] Whether or not to allow a customer to delete saved payment methods when used with a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id). *Note:* Deleting a payment method from Drop-in will permanently delete the payment method, so this option is not recommended for merchants using Braintree's recurring billing system. This feature is not supported in Internet Explorer 9.\n *\n * @param {boolean} [options.preselectVaultedPaymentMethod=true] Whether or not to initialize Drop-in with a vaulted payment method pre-selected. Only applicable when using a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id) and a customer with saved payment methods.\n *\n * @param {boolean} [options.showDefaultPaymentMethodFirst=true] When `true` or left out, the customer's default payment method will be displayed first in the list of vaulted payment methods. When `false`, the Braintree API will determine which payment method to display first, typically the latest payment method added to the customer. Only applicable when using a [client token with a customer id](https://developers.braintreepayments.com/reference/request/client-token/generate/#customer_id) and a customer with saved payment methods.\n *\n * @param {function} [callback] The second argument, `data`, is the {@link Dropin} instance. Returns a promise if no callback is provided.\n * @returns {(void|Promise)} Returns a promise if no callback is provided.\n * @example\n * A full example of accepting credit cards with callback API\n * \n * \n * \n * \n * Checkout\n * \n * \n *
\n * \n *\n * \n *\n * \n * \n * \n * @example\n * A full example of accepting credit cards with promise API\n * \n * \n * \n * \n * Checkout\n * \n * \n *
\n * \n *\n * \n *\n * \n * \n * \n * @example\n * Setting up a Drop-in instance to accept credit cards, PayPal, PayPal Credit, Venmo, and Apple Pay\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * applePay: {\n * displayName: 'Merchant Name',\n * paymentRequest: {\n * label: 'Localized Name',\n * total: '10.00'\n * }\n * },\n * paypal: {\n * flow: 'checkout',\n * amount: '10.00',\n * currency: 'USD'\n * },\n * paypalCredit: {\n * flow: 'checkout',\n * amount: '10.00',\n * currency: 'USD'\n * },\n * venmo: true\n * }, function (err, dropinInstance) {\n * // Set up a handler to request a payment method and\n * // submit the payment method nonce to your server\n * });\n * @example\n * Setting up a Drop-in instance to accept Venmo with restricted browser support\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * venmo: {\n * allowNewBrowserTab: false\n * }\n * }, function (err, dropinInstance) {\n * // Set up a handler to request a payment method and\n * // submit the payment method nonce to your server\n * });\n *\n * @example\n * Submitting the payment method nonce to the server using a form\n * \n * \n * \n * \n * Checkout\n * \n * \n *
\n *
\n * \n * \n *
\n *\n * \n *\n * \n * \n * \n *\n * @example\n * Use your own translations\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * translations: {\n * payingWith: 'You are paying with {{paymentSource}}',\n * chooseAnotherWayToPay: 'My custom chooseAnotherWayToPay string',\n * // Any other custom translation strings\n * }\n * }, callback);\n *\n * @example\n * Customizing Drop-in with card form overrides\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * card: {\n * overrides: {\n * fields: {\n * number: {\n * placeholder: '1111 1111 1111 1111' // Update the number field placeholder\n * },\n * postalCode: {\n * minlength: 5 // Set the minimum length of the postal code field\n * },\n * cvv: null // Remove the CVV field from your form\n * },\n * styles: {\n * input: {\n * 'font-size': '18px' // Change the font size for all inputs\n * },\n * ':focus': {\n * color: 'red' // Change the focus color to red for all inputs\n * }\n * }\n * }\n * }\n * }, callback);\n *\n * @example\n * Mask Card Inputs\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * card: {\n * overrides: {\n * fields: {\n * number: {\n * maskInput: {\n * showLastFour: true\n * }\n * },\n * cvv: {\n * maskInput: true\n * }\n * }\n * }\n * }\n * }, callback);\n *\n * @example\n * Including a cardholder name field\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * card: {\n * cardholderName: true\n * }\n * }, callback);\n *\n * @example\n * Including a required cardholder name field\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * card: {\n * cardholderName: {\n * required: true\n * }\n * }\n * }, callback);\n *\n * @example\n * Enabling 3D Secure\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * threeDSecure: true\n * }, function (err, dropinInstance) {\n * // setup payment button\n * btn.addEventListener('click', function (e) {\n * e.preventDefault();\n *\n * dropinInstance.requestPaymentMethod(|\n * threeDSecure: {\n * amount: '100.00',\n * billingAddress: {\n * givenName: 'Jill', // ASCII-printable characters required, else will throw a validation error\n * surname: 'Doe', // ASCII-printable characters required, else will throw a validation error\n * phoneNumber: '8101234567',\n * streetAddress: '555 Smith St.',\n * extendedAddress: '#5',\n * locality: 'Oakland',\n * region: 'CA',\n * postalCode: '12345',\n * countryCodeAlpha2: 'US'\n * },\n * // additional 3ds params\n * }\n * }, function (err, payload) {\n * // inspect payload.liablityShifted\n * // send payload.nonce to server\n * });\n * });\n * });\n *\n * @example\n * Enabled Vault Manager\n * braintree.dropin.create({\n * authorization: 'CLIENT_AUTHORIZATION',\n * container: '#dropin-container',\n * vaultManager: true\n * }, callback);\n */\n\nfunction create(options) {\n if (!options.authorization) {\n return Promise.reject(new DropinError('options.authorization is required.'));\n }\n\n return client.create({\n authorization: options.authorization\n }).catch(function (err) {\n return Promise.reject(new DropinError({\n message: 'There was an error creating Drop-in.',\n braintreeWebError: err\n }));\n }).then(function (clientInstance) {\n clientInstance = setAnalyticsIntegration(clientInstance);\n\n if (clientInstance.getConfiguration().authorizationType === 'TOKENIZATION_KEY') {\n analytics.sendEvent(clientInstance, 'started.tokenization-key');\n } else {\n analytics.sendEvent(clientInstance, 'started.client-token');\n }\n\n return new Promise(function (resolve, reject) {\n new Dropin({\n merchantConfiguration: options,\n client: clientInstance\n })._initialize(function (err, instance) {\n if (err) {\n reject(err);\n\n return;\n }\n\n resolve(instance);\n });\n });\n });\n}\n\nfunction setAnalyticsIntegration(clientInstance) {\n var configuration = clientInstance.getConfiguration();\n\n configuration.analyticsMetadata.integration = constants.INTEGRATION;\n configuration.analyticsMetadata.integrationType = constants.INTEGRATION;\n configuration.analyticsMetadata.dropinVersion = VERSION;\n\n clientInstance.getConfiguration = function () {\n return configuration;\n };\n\n return clientInstance;\n}\n\n// we check for document's existence to support server side rendering\ncreateFromScriptTag(create, typeof document !== 'undefined' && document.querySelector('script[data-braintree-dropin-authorization]'));\n\nmodule.exports = {\n create: wrapPromise(create),\n /**\n * @description The current version of Drop-in, i.e. `1.31.2`.\n * @type {string}\n */\n VERSION: VERSION\n};\n\n},{\"./constants\":191,\"./dropin\":193,\"./lib/analytics\":196,\"./lib/create-from-script-tag\":199,\"./lib/dropin-error\":201,\"./lib/promise\":208,\"@braintree/wrap-promise\":50,\"braintree-web/client\":59}],195:[function(require,module,exports){\n'use strict';\n\nfunction addSelectionEventHandler(element, func) {\n element.addEventListener('click', func);\n element.addEventListener('keyup', function (event) {\n if (event.keyCode === 13) {\n func();\n }\n });\n}\n\nmodule.exports = addSelectionEventHandler;\n\n},{}],196:[function(require,module,exports){\n'use strict';\n\nvar atob = require('./polyfill').atob;\nvar constants = require('../constants');\nvar braintreeClientVersion = require('braintree-web/client').VERSION;\n\nfunction _millisToSeconds(millis) {\n return Math.floor(millis / 1000);\n}\n\nfunction sendAnalyticsEvent(client, kind, callback) {\n var configuration = client.getConfiguration();\n var analyticsRequest = client._request;\n var timestamp = _millisToSeconds(Date.now());\n var url = configuration.gatewayConfiguration.analytics.url;\n var data = {\n analytics: [{\n kind: constants.ANALYTICS_PREFIX + kind,\n timestamp: timestamp\n }],\n _meta: configuration.analyticsMetadata,\n braintreeLibraryVersion: braintreeClientVersion\n };\n\n if (configuration.authorizationType === 'TOKENIZATION_KEY') {\n data.tokenizationKey = configuration.authorization;\n } else {\n data.authorizationFingerprint = JSON.parse(atob(configuration.authorization)).authorizationFingerprint;\n }\n\n analyticsRequest({\n url: url,\n method: 'post',\n data: data,\n timeout: constants.ANALYTICS_REQUEST_TIMEOUT_MS\n }, callback);\n}\n\nmodule.exports = {\n sendEvent: sendAnalyticsEvent\n};\n\n},{\"../constants\":191,\"./polyfill\":207,\"braintree-web/client\":59}],197:[function(require,module,exports){\narguments[4][95][0].apply(exports,arguments)\n},{\"dup\":95}],198:[function(require,module,exports){\n'use strict';\n\nvar isIe9 = require('@braintree/browser-detection/is-ie9');\nvar isIe10 = require('@braintree/browser-detection/is-ie10');\n\nmodule.exports = {\n isIe9: isIe9,\n isIe10: isIe10\n};\n\n},{\"@braintree/browser-detection/is-ie10\":32,\"@braintree/browser-detection/is-ie9\":33}],199:[function(require,module,exports){\n'use strict';\n\nvar analytics = require('./analytics');\nvar find = require('./find-parent-form');\nvar uuid = require('@braintree/uuid');\nvar DropinError = require('./dropin-error');\nvar kebabCaseToCamelCase = require('./kebab-case-to-camel-case');\nvar WHITELISTED_DATA_ATTRIBUTES = [\n 'locale',\n 'payment-option-priority',\n\n 'data-collector.kount',\n 'data-collector.paypal',\n\n // camelcase version was accidentally used initially.\n // we add the kebab case version to match the docs, but\n // we retain the camelcase version for backwards compatibility\n 'card.cardholderName',\n 'card.cardholderName.required',\n 'card.cardholder-name',\n 'card.cardholder-name.required',\n\n 'paypal.amount',\n 'paypal.currency',\n 'paypal.flow',\n 'paypal.landing-page-type',\n\n 'paypal-credit.amount',\n 'paypal-credit.currency',\n 'paypal-credit.flow',\n 'paypal-credit.landing-page-type'\n];\n\nfunction injectHiddenInput(name, value, form) {\n var input = form.querySelector('[name=\"' + name + '\"]');\n\n if (!input) {\n input = document.createElement('input');\n input.type = 'hidden';\n input.name = name;\n form.appendChild(input);\n }\n\n input.value = value;\n}\n\nfunction addCompositeKeyValuePairToObject(obj, key, value) {\n var decomposedKeys = key.split('.');\n var topLevelKey = kebabCaseToCamelCase(decomposedKeys[0]);\n\n if (decomposedKeys.length === 1) {\n obj[topLevelKey] = deserialize(value);\n } else {\n obj[topLevelKey] = obj[topLevelKey] || {};\n addCompositeKeyValuePairToObject(obj[topLevelKey], decomposedKeys.slice(1).join('.'), value);\n }\n}\n\nfunction deserialize(value) {\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n}\n\nfunction createFromScriptTag(createFunction, scriptTag) {\n var authorization, container, createOptions, form;\n\n if (!scriptTag) {\n return;\n }\n\n authorization = scriptTag.getAttribute('data-braintree-dropin-authorization');\n\n if (!authorization) {\n throw new DropinError('Authorization not found in data-braintree-dropin-authorization attribute');\n }\n\n container = document.createElement('div');\n container.id = 'braintree-dropin-' + uuid();\n\n form = find.findParentForm(scriptTag);\n\n if (!form) {\n throw new DropinError('No form found for script tag integration.');\n }\n\n form.addEventListener('submit', function (event) {\n event.preventDefault();\n });\n\n scriptTag.parentNode.insertBefore(container, scriptTag);\n\n createOptions = {\n authorization: authorization,\n container: container\n };\n\n WHITELISTED_DATA_ATTRIBUTES.forEach(function (compositeKey) {\n var value = scriptTag.getAttribute('data-' + compositeKey);\n\n if (value == null) {\n return;\n }\n\n addCompositeKeyValuePairToObject(createOptions, compositeKey, value);\n });\n\n createFunction(createOptions).then(function (instance) {\n analytics.sendEvent(instance._client, 'integration-type.script-tag');\n form.addEventListener('submit', function () {\n instance.requestPaymentMethod(function (requestPaymentError, payload) {\n if (requestPaymentError) {\n return;\n }\n\n injectHiddenInput('payment_method_nonce', payload.nonce, form);\n\n if (payload.deviceData) {\n injectHiddenInput('device_data', payload.deviceData, form);\n }\n\n form.submit();\n });\n });\n });\n}\n\nmodule.exports = createFromScriptTag;\n\n},{\"./analytics\":196,\"./dropin-error\":201,\"./find-parent-form\":202,\"./kebab-case-to-camel-case\":206,\"@braintree/uuid\":46}],200:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nvar constants = require('../constants');\nvar analytics = require('./analytics');\nvar assets = require('@braintree/asset-loader');\nvar Promise = require('./promise');\n\nfunction DataCollector(config) {\n this._config = config;\n}\n\nDataCollector.prototype.initialize = function () {\n var self = this;\n\n return Promise.resolve().then(function () {\n var braintreeWebVersion;\n\n if (global.braintree && global.braintree.dataCollector) {\n return Promise.resolve();\n }\n\n braintreeWebVersion = self._config.client.getVersion();\n\n return assets.loadScript({\n src: 'https://js.braintreegateway.com/web/' + braintreeWebVersion + '/js/data-collector.min.js',\n id: constants.DATA_COLLECTOR_SCRIPT_ID\n });\n }).then(function () {\n return global.braintree.dataCollector.create(self._config);\n }).then(function (instance) {\n self._instance = instance;\n }).catch(function (err) {\n analytics.sendEvent(self._config.client, 'data-collector.setup-failed');\n // log the Data Collector setup error\n // but do not prevent Drop-in from loading\n self.log(err);\n });\n};\n\nDataCollector.prototype.log = function (message) {\n console.log(message); // eslint-disable-line no-console\n};\n\nDataCollector.prototype.getDeviceData = function () {\n if (!this._instance) {\n return '';\n }\n\n return this._instance.deviceData;\n};\n\nDataCollector.prototype.teardown = function () {\n if (!this._instance) {\n return Promise.resolve();\n }\n\n return this._instance.teardown();\n};\n\nmodule.exports = DataCollector;\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"../constants\":191,\"./analytics\":196,\"./promise\":208,\"@braintree/asset-loader\":1}],201:[function(require,module,exports){\n'use strict';\n\nfunction isBraintreeWebError(err) {\n return err.name === 'BraintreeError';\n}\n\nfunction DropinError(err) {\n this.name = 'DropinError';\n\n if (typeof err === 'string') {\n this.message = err;\n } else {\n this.message = err.message;\n }\n\n if (isBraintreeWebError(err)) {\n this._braintreeWebError = err;\n } else {\n this._braintreeWebError = err.braintreeWebError;\n }\n}\n\nDropinError.prototype = Object.create(Error.prototype);\nDropinError.prototype.constructor = DropinError;\n\nmodule.exports = DropinError;\n\n},{}],202:[function(require,module,exports){\n'use strict';\n\nfunction findParentForm(element) {\n var parentNode = element.parentNode;\n\n if (!parentNode || parentNode.nodeName === 'FORM') {\n return parentNode;\n }\n\n return findParentForm(parentNode);\n}\n\nmodule.exports = {\n findParentForm: findParentForm\n};\n\n},{}],203:[function(require,module,exports){\n'use strict';\n\nvar atob = require('./polyfill').atob;\n\nmodule.exports = function (client) {\n var authorizationFingerprint;\n var configuration = client.getConfiguration();\n\n if (configuration.authorizationType !== 'TOKENIZATION_KEY') {\n authorizationFingerprint = JSON.parse(atob(configuration.authorization)).authorizationFingerprint;\n\n return !authorizationFingerprint || authorizationFingerprint.indexOf('customer_id=') === -1;\n }\n\n return true;\n};\n\n},{\"./polyfill\":207}],204:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nfunction isHTTPS() {\n return global.location.protocol === 'https:';\n}\n\nmodule.exports = {\n isHTTPS: isHTTPS\n};\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],205:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nmodule.exports = function (win) {\n win = win || global;\n\n return Boolean(win.document.characterSet && win.document.characterSet.toLowerCase() === 'utf-8');\n};\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],206:[function(require,module,exports){\n'use strict';\n\nfunction kebabCaseToCamelCase(kebab) {\n var parts = kebab.split('-');\n var first = parts.shift();\n var capitalizedParts = parts.map(function (part) {\n return part.charAt(0).toUpperCase() + part.substring(1);\n });\n\n return [first].concat(capitalizedParts).join('');\n}\n\nmodule.exports = kebabCaseToCamelCase;\n\n},{}],207:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n/* eslint-disable no-mixed-operators */\n\nvar atobNormalized = typeof global.atob === 'function' ? global.atob : atob;\n\nfunction atob(base64String) {\n var a, b, c, b1, b2, b3, b4, i;\n var base64Matcher = new RegExp('^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})([=]{1,2})?$');\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var result = '';\n\n if (!base64Matcher.test(base64String)) {\n throw new Error('Non base64 encoded input passed to window.atob polyfill');\n }\n\n i = 0;\n do {\n b1 = characters.indexOf(base64String.charAt(i++));\n b2 = characters.indexOf(base64String.charAt(i++));\n b3 = characters.indexOf(base64String.charAt(i++));\n b4 = characters.indexOf(base64String.charAt(i++));\n\n a = (b1 & 0x3F) << 2 | b2 >> 4 & 0x3;\n b = (b2 & 0xF) << 4 | b3 >> 2 & 0xF;\n c = (b3 & 0x3) << 6 | b4 & 0x3F;\n\n result += String.fromCharCode(a) + (b ? String.fromCharCode(b) : '') + (c ? String.fromCharCode(c) : '');\n } while (i < base64String.length);\n\n return result;\n}\n\nmodule.exports = {\n atob: function (base64String) {\n return atobNormalized.call(global, base64String);\n },\n _atob: atob\n};\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}],208:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nvar Promise = global.Promise || require('promise-polyfill');\n\nmodule.exports = Promise;\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"promise-polyfill\":186}],209:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function (string) {\n if (typeof string !== 'string') {\n return '';\n }\n\n return string\n .replace(//g, '>');\n};\n\n},{}],210:[function(require,module,exports){\n'use strict';\n\nmodule.exports = function () {\n var el = document.createElement('div');\n var prop = 'flex-basis: 1px';\n var prefixes = [\n '-webkit-',\n '-moz-',\n '-ms-',\n '-o-',\n ''\n ];\n\n prefixes.forEach(function (prefix) {\n el.style.cssText += prefix + prop;\n });\n\n return Boolean(el.style.length);\n};\n\n},{}],211:[function(require,module,exports){\n'use strict';\n\nvar assign = require('./assign').assign;\nvar threeDSecure = require('braintree-web/three-d-secure');\n\nvar DEFAULT_ACS_WINDOW_SIZE = '03';\nvar PASSTHROUGH_EVENTS = [\n 'customer-canceled',\n 'authentication-modal-render',\n 'authentication-modal-close'\n];\n\nfunction ThreeDSecure(client, model) {\n this._client = client;\n this._model = model;\n this._config = assign({}, model.merchantConfiguration.threeDSecure);\n}\n\nThreeDSecure.prototype.initialize = function () {\n var self = this;\n var options = {\n client: this._client,\n version: 2\n };\n\n if (this._config.cardinalSDKConfig) {\n options.cardinalSDKConfig = this._config.cardinalSDKConfig;\n }\n\n return threeDSecure.create(options).then(function (instance) {\n self._instance = instance;\n\n PASSTHROUGH_EVENTS.forEach(function (eventName) {\n self._instance.on(eventName, function (event) {\n self._model._emit('3ds:' + eventName, event);\n });\n });\n });\n};\n\nThreeDSecure.prototype.verify = function (payload, merchantProvidedData) {\n var verifyOptions = assign({\n amount: this._config.amount\n }, merchantProvidedData, {\n nonce: payload.nonce,\n bin: payload.details.bin,\n // TODO in the future, we will allow\n // merchants to pass in a custom\n // onLookupComplete hook\n onLookupComplete: function (data, next) {\n next();\n }\n });\n\n verifyOptions.additionalInformation = verifyOptions.additionalInformation || {};\n verifyOptions.additionalInformation.acsWindowSize = verifyOptions.additionalInformation.acsWindowSize || DEFAULT_ACS_WINDOW_SIZE;\n\n return this._instance.verifyCard(verifyOptions);\n};\n\nThreeDSecure.prototype.updateConfiguration = function (key, value) {\n this._config[key] = value;\n};\n\nThreeDSecure.prototype.teardown = function () {\n return this._instance.teardown();\n};\n\nmodule.exports = ThreeDSecure;\n\n},{\"./assign\":197,\"braintree-web/three-d-secure\":147}],212:[function(require,module,exports){\n'use strict';\n\nvar browserDetection = require('./browser-detection');\n\nfunction isHidden(element) {\n if (!element) { // no parentNode, so nothing containing the element is hidden\n return false;\n }\n\n if (element.style.display === 'none') {\n return true;\n }\n\n return isHidden(element.parentNode);\n}\n\nfunction onTransitionEnd(element, propertyName, callback) {\n if (browserDetection.isIe9() || isHidden(element)) {\n callback();\n\n return;\n }\n\n function transitionEventListener(event) {\n if (event.propertyName === propertyName) {\n element.removeEventListener('transitionend', transitionEventListener);\n callback();\n }\n }\n\n element.addEventListener('transitionend', transitionEventListener);\n}\n\nmodule.exports = {\n onTransitionEnd: onTransitionEnd\n};\n\n},{\"./browser-detection\":198}],213:[function(require,module,exports){\n'use strict';\n\nvar Promise = require('./promise');\n\nfunction delay(time) {\n time = time || 0;\n\n return new Promise(function (resolve) {\n window.setTimeout(resolve, time);\n });\n}\n\nmodule.exports = {\n delay: delay\n};\n\n},{\"./promise\":208}],214:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"الدفع باستخدام {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"اختر طريقة دفع أخرى\",\n \"chooseAWayToPay\": \"اختر طريقة الدفع\",\n \"otherWaysToPay\": \"طرق أخرى للدفع\",\n \"edit\": \"تحرير\",\n \"doneEditing\": \"تم\",\n \"editPaymentMethods\": \"تحرير طرق الدفع\",\n \"CreditCardDeleteConfirmationMessage\": \"هل تريد حذف البطاقة ({{secondaryIdentifier}}) التي تنتهي بالرقم {{identifier}}؟\",\n \"PayPalAccountDeleteConfirmationMessage\": \"هل تريد حذف حساب {{identifier}} على PayPal؟\",\n \"VenmoAccountDeleteConfirmationMessage\": \"هل تريد فعلاً حذف حساب Venmo الذي يحمل اسم المستخدم {{identifier}}؟\",\n \"genericDeleteConfirmationMessage\": \"هل تريد فعلاً حذف طريقة الدفع هذه؟\",\n \"deleteCancelButton\": \"إلغاء\",\n \"deleteConfirmationButton\": \"حذف\",\n \"fieldEmptyForCvv\": \"يرجى إدخال رمز حماية البطاقة.\",\n \"fieldEmptyForExpirationDate\": \"يرجى إدخال تاريخ انتهاء الصلاحية.\",\n \"fieldEmptyForCardholderName\": \"يرجى إدخال اسم صاحب البطاقة.\",\n \"fieldTooLongForCardholderName\": \"يجب أن يقل اسم صاحب البطاقة عن 256 حرفاً.\",\n \"fieldEmptyForNumber\": \"يرجى إدخال رقم.\",\n \"fieldEmptyForPostalCode\": \"يرجى إدخال الرمز البريدي.\",\n \"fieldInvalidForCardholderName\": \"اسم حامل البطاقة غير صحيح.\",\n \"fieldInvalidForCvv\": \"رمز الحماية هذا غير صحيح.\",\n \"fieldInvalidForExpirationDate\": \"تاريخ انتهاء الصلاحية هذا غير صحيح.\",\n \"fieldInvalidForNumber\": \"رقم هذه البطاقة غير صحيح.\",\n \"fieldInvalidForPostalCode\": \"الرمز البريدي هذا غير صحيح.\",\n \"genericError\": \"وقع خطأ ما من جانبنا.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"هذه البطاقة الائتمانية موجودة حالياً كطريقة دفع محفوظة.\",\n \"hostedFieldsFailedTokenizationError\": \"يرجى مراجعة بياناتك وإعادة المحاولة.\",\n \"hostedFieldsFieldsInvalidError\": \"يرجى مراجعة بياناتك وإعادة المحاولة.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"خطأ في الشبكة. يرجى إعادة المحاولة.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"فشلت مصادقة بطاقة الائتمان. يرجى مراجعة بياناتك وإعادة المحاولة.\",\n \"paypalButtonMustBeUsed\": \"استخدم زر PayPal لاستئناف الدفع.\",\n \"paypalAccountTokenizationFailedError\": \"وقع خطأ أثناء إضافة حساب PayPal. يرجى إعادة المحاولة.\",\n \"paypalFlowFailedError\": \"وقع خطأ أثناء الاتصال بـ PayPal. يرجى إعادة المحاولة.\",\n \"paypalTokenizationRequestActiveError\": \"تفويض الدفع عبر PayPal قيد التنفيذ.\",\n \"venmoCanceledError\": \"وقع خطأ ما. تأكد أن أحدث إصدار من تطبيق Venmo مثبت في جهازك وأن متصفحك يدعم التبديل إلى Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"فشل حذف طريقة الدفع. أعد المحاولة.\",\n \"venmoAppFailedError\": \"تطبيق Venmo غير موجود في جهازك.\",\n \"unsupportedCardTypeError\": \"نوع هذه البطاقة غير مدعوم. يرجى استخدام بطاقة أخرى.\",\n \"applePayTokenizationError\": \"وقع خطأ في الشبكة أثناء معالجة الدفع عبر Apple Pay. يرجى إعادة المحاولة.\",\n \"applePayActiveCardError\": \"إضافة بطاقة مدعومة إلى محفظة Apple Pay.\",\n \"cardholderNameLabel\": \"اسم صاحب البطاقة\",\n \"cardNumberLabel\": \"رقم البطاقة\",\n \"cvvLabel\": \"رمز حماية البطاقة\",\n \"cvvThreeDigitLabelSubheading\": \"(3 أرقام)\",\n \"cvvFourDigitLabelSubheading\": \"(4 أرقام)\",\n \"cardholderNamePlaceholder\": \"اسم صاحب البطاقة\",\n \"expirationDateLabel\": \"تاريخ انتهاء الصلاحية\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"الرمز البريدي\",\n \"saveCardLabel\": \"حفظ البطاقة\",\n \"payWithCard\": \"الدفع باستخدام بطاقة\",\n \"endingIn\": \"التي تنتهي بالرقم {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"بطاقة\",\n \"PayPal\": \"Paypal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],215:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Způsob platby: {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Vybrat jiný způsob platby\",\n \"chooseAWayToPay\": \"Vybrat způsob platby\",\n \"otherWaysToPay\": \"Jiné způsoby platby\",\n \"edit\": \"Upravit\",\n \"doneEditing\": \"Hotovo\",\n \"editPaymentMethods\": \"Upravit způsoby platby\",\n \"CreditCardDeleteConfirmationMessage\": \"Chcete kartu {{secondaryIdentifier}} s koncovým číslem {{identifier}} odstranit?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Chcete účet {{identifier}} ve službě PayPal odstranit?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Opravdu chcete účet Venmo s uživatelským jménem {{identifier}} odstranit?\",\n \"genericDeleteConfirmationMessage\": \"Opravdu chcete tento způsob platby odstranit?\",\n \"deleteCancelButton\": \"Zrušit\",\n \"deleteConfirmationButton\": \"Odstranit\",\n \"fieldEmptyForCvv\": \"Vyplňte kód CVV.\",\n \"fieldEmptyForExpirationDate\": \"Vyplňte datum vypršení platnosti.\",\n \"fieldEmptyForCardholderName\": \"Vyplňte jméno držitele karty.\",\n \"fieldTooLongForCardholderName\": \"Jméno držitele karty musí obsahovat méně než 256 znaků.\",\n \"fieldEmptyForNumber\": \"Vyplňte číslo.\",\n \"fieldEmptyForPostalCode\": \"Vyplňte PSČ.\",\n \"fieldInvalidForCardholderName\": \"Toto jméno držitele karty není platné.\",\n \"fieldInvalidForCvv\": \"Tento bezpečnostní kód není platný.\",\n \"fieldInvalidForExpirationDate\": \"Toto datum vypršení platnosti není platné.\",\n \"fieldInvalidForNumber\": \"Toto číslo karty není platné.\",\n \"fieldInvalidForPostalCode\": \"Toto PSČ není platné.\",\n \"genericError\": \"Došlo k chybě na naší straně.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Tato kreditní karta je již jako způsob platby uložena.\",\n \"hostedFieldsFailedTokenizationError\": \"Zkontrolujte zadané údaje a zkuste to znovu.\",\n \"hostedFieldsFieldsInvalidError\": \"Zkontrolujte zadané údaje a zkuste to znovu.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Došlo k chybě sítě. Zkuste to znovu.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Ověření kreditní karty se nezdařilo. Zkontrolujte zadané údaje a zkuste to znovu.\",\n \"paypalButtonMustBeUsed\": \"Chcete-li přejít k platbě, použijte tlačítko PayPal.\",\n \"paypalAccountTokenizationFailedError\": \"Při přidávání účtu PayPal došlo k chybě. Zkuste to znovu.\",\n \"paypalFlowFailedError\": \"Při připojování ke službě PayPal došlo k chybě. Zkuste to znovu.\",\n \"paypalTokenizationRequestActiveError\": \"Autorizace platby přes PayPal již probíhá.\",\n \"venmoCanceledError\": \"Došlo k chybě. Zkontrolujte, zda máte v zařízení nainstalovanou nejnovější verzi aplikace Venmo a zda prohlížeč přechod na aplikaci Venmo podporuje.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Způsob platby se nepodařilo odstranit. Zkuste to znovu.\",\n \"venmoAppFailedError\": \"Aplikaci Venmo se ve vašem zařízení nepodařilo najít.\",\n \"unsupportedCardTypeError\": \"Tento typ karty není podporován. Vyzkoušejte jinou kartu.\",\n \"applePayTokenizationError\": \"Při zpracování platby přes Apple Pay došlo k chybě sítě. Zkuste to znovu.\",\n \"applePayActiveCardError\": \"Přidejte si podporovanou kartu do peněženky Apple Pay.\",\n \"cardholderNameLabel\": \"Jméno držitele karty\",\n \"cardNumberLabel\": \"Číslo karty\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 číslice)\",\n \"cvvFourDigitLabelSubheading\": \"(4 číslice)\",\n \"cardholderNamePlaceholder\": \"Jméno držitele karty\",\n \"expirationDateLabel\": \"Datum vypršení platnosti\",\n \"expirationDateLabelSubheading\": \"(MM/RR)\",\n \"expirationDatePlaceholder\": \"MM/RR\",\n \"postalCodeLabel\": \"PSČ\",\n \"saveCardLabel\": \"Uložit kartu\",\n \"payWithCard\": \"Zaplatit kartou\",\n \"endingIn\": \"Koncové číslo: {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Karta\",\n \"PayPal\": \"Společnost PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],216:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Betaler med {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Vælg en anden betalingsmetode\",\n \"chooseAWayToPay\": \"Vælg, hvordan du vil betale\",\n \"otherWaysToPay\": \"Andre betalingsmetoder\",\n \"edit\": \"Rediger\",\n \"doneEditing\": \"Udført\",\n \"editPaymentMethods\": \"Rediger betalingsmetoder\",\n \"CreditCardDeleteConfirmationMessage\": \"Vil du slette {{secondaryIdentifier}}-kortet, der slutter på {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Vil du slette PayPal-kontoen {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Er du sikker på, at du vil slette Venmo-kontoen med brugernavnet {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Er du sikker på, at du vil slette denne betalingsmetode?\",\n \"deleteCancelButton\": \"Annuller\",\n \"deleteConfirmationButton\": \"Slet\",\n \"fieldEmptyForCvv\": \"Du skal angive kontrolcifrene.\",\n \"fieldEmptyForExpirationDate\": \"Du skal angive udløbsdatoen.\",\n \"fieldEmptyForCardholderName\": \"Du skal angive kortindehaverens navn.\",\n \"fieldTooLongForCardholderName\": \"Kortejerens navn skal være mindre end 256 tegn.\",\n \"fieldEmptyForNumber\": \"Du skal angive et nummer.\",\n \"fieldEmptyForPostalCode\": \"Du skal angive et postnummer.\",\n \"fieldInvalidForCardholderName\": \"Kortindehaverens navn er ugyldigt.\",\n \"fieldInvalidForCvv\": \"Sikkerhedskoden er ugyldig.\",\n \"fieldInvalidForExpirationDate\": \"Udløbsdatoen er ugyldig.\",\n \"fieldInvalidForNumber\": \"Kortnummeret er ugyldigt.\",\n \"fieldInvalidForPostalCode\": \"Postnummeret er ugyldigt.\",\n \"genericError\": \"Der opstod en fejl.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Dette betalingskort er allerede en gemt betalingsmetode.\",\n \"hostedFieldsFailedTokenizationError\": \"Tjek oplysningerne, og prøv igen.\",\n \"hostedFieldsFieldsInvalidError\": \"Tjek oplysningerne, og prøv igen.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Netværksfejl. Prøv igen.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Betalingskortet blev ikke bekræftet. Tjek oplysningerne, og prøv igen.\",\n \"paypalButtonMustBeUsed\": \"Brug PayPal-knappen for at fortsætte med din betaling.\",\n \"paypalAccountTokenizationFailedError\": \"PayPal-kontoen blev ikke tilføjet. Prøv igen.\",\n \"paypalFlowFailedError\": \"Der kunne ikke oprettes forbindelse til PayPal. Prøv igen.\",\n \"paypalTokenizationRequestActiveError\": \"PayPal-betalingen er i gang med at blive autoriseret.\",\n \"venmoCanceledError\": \"Der opstod en fejl. Sørg for, at du har den seneste version af Venmo-appen installeret på din enhed, og at din browser understøtter skift til Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Vi kunne ikke slette betalingsmetoden. Prøv igen.\",\n \"venmoAppFailedError\": \"Venmo-appen blev ikke fundet på din enhed.\",\n \"unsupportedCardTypeError\": \"Korttypen understøttes ikke. Prøv et andet kort.\",\n \"applePayTokenizationError\": \"Der opstod en netværksfejl under behandlingen af betalingen med Apple Pay. Prøv igen.\",\n \"applePayActiveCardError\": \"Knyt et understøttet kort til din Apple Pay-e-pung.\",\n \"cardholderNameLabel\": \"Kortindehaverens navn\",\n \"cardNumberLabel\": \"Kortnummer\",\n \"cvvLabel\": \"Kontrolcifre\",\n \"cvvThreeDigitLabelSubheading\": \"(3 cifre)\",\n \"cvvFourDigitLabelSubheading\": \"(4 cifre)\",\n \"cardholderNamePlaceholder\": \"Kortindehaverens navn\",\n \"expirationDateLabel\": \"Udløbsdato\",\n \"expirationDateLabelSubheading\": \"(MM/ÅÅ)\",\n \"expirationDatePlaceholder\": \"MM/ÅÅ\",\n \"postalCodeLabel\": \"Postnummer\",\n \"saveCardLabel\": \"Gem kort\",\n \"payWithCard\": \"Betal med kort\",\n \"endingIn\": \"Der slutter på {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Kort\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],217:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Zahlen mit {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Andere Zahlungsmethode wählen\",\n \"chooseAWayToPay\": \"Wie möchten Sie bezahlen?\",\n \"otherWaysToPay\": \"Andere Zahlungsmethoden\",\n \"edit\": \"Bearbeiten\",\n \"doneEditing\": \"Fertig\",\n \"editPaymentMethods\": \"Zahlungsquellen bearbeiten\",\n \"CreditCardDeleteConfirmationMessage\": \"{{secondaryIdentifier}} Karte mit den Endziffern {{identifier}} löschen?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"PayPal-Konto {{identifier}} löschen?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Wollen Sie das Venmo-Konto mit dem Benutzernamen {{identifier}} wirklich löschen?\",\n \"genericDeleteConfirmationMessage\": \"Wollen Sie diese Zahlungsquelle wirklich löschen?\",\n \"deleteCancelButton\": \"Abbrechen\",\n \"deleteConfirmationButton\": \"Löschen\",\n \"fieldEmptyForCvv\": \"Geben Sie die Kartenprüfnummer ein.\",\n \"fieldEmptyForExpirationDate\": \"Geben Sie das Ablaufdatum ein.\",\n \"fieldEmptyForCardholderName\": \"Geben Sie den Namen des Karteninhabers ein.\",\n \"fieldTooLongForCardholderName\": \"Der Name des Karteninhabers darf 255 Zeichen nicht übersteigen.\",\n \"fieldEmptyForNumber\": \"Geben Sie die Nummer ein.\",\n \"fieldEmptyForPostalCode\": \"Geben Sie die PLZ ein.\",\n \"fieldInvalidForCardholderName\": \"Der Name des Karteninhabers ist nicht gültig.\",\n \"fieldInvalidForCvv\": \"Die Kartenprüfnummer ist ungültig.\",\n \"fieldInvalidForExpirationDate\": \"Das Ablaufdatum ist ungültig.\",\n \"fieldInvalidForNumber\": \"Die Kreditkartennummer ist ungültig.\",\n \"fieldInvalidForPostalCode\": \"Die PLZ ist ungültig.\",\n \"genericError\": \"Bei uns ist ein Problem aufgetreten.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Diese Kreditkarte ist bereits als gespeicherte Zahlungsmethode vorhanden.\",\n \"hostedFieldsFailedTokenizationError\": \"Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.\",\n \"hostedFieldsFieldsInvalidError\": \"Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Netzwerkfehler. Versuchen Sie es erneut.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Überprüfung der Karte fehlgeschlagen. Überprüfen Sie Ihre Eingabe und versuchen Sie es erneut.\",\n \"paypalButtonMustBeUsed\": \"Verwenden Sie den PayPal-Button, um mit der Zahlung fortfahren.\",\n \"paypalAccountTokenizationFailedError\": \"Beim Hinzufügen des PayPal-Kontos ist ein Problem aufgetreten. Versuchen Sie es erneut.\",\n \"paypalFlowFailedError\": \"Beim Verbinden mit PayPal ist ein Problem aufgetreten. Versuchen Sie es erneut.\",\n \"paypalTokenizationRequestActiveError\": \"Die PayPal-Zahlung wird bereits autorisiert.\",\n \"venmoCanceledError\": \"Etwas ist schief gelaufen. Vergewissern Sie sich, dass Sie die neueste Version der Venmo-App auf Ihrem Gerät installiert haben und Ihr Browser den Wechsel zu Venmo unterstützt.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Die Zahlungsquelle konnte nicht gelöscht werden. Versuchen Sie es erneut.\",\n \"venmoAppFailedError\": \"Die Venmo-App wurde auf Ihrem Gerät nicht gefunden.\",\n \"unsupportedCardTypeError\": \"Dieser Kreditkartentyp wird nicht unterstützt. Versuchen Sie es mit einer anderen Karte.\",\n \"applePayTokenizationError\": \"Netzwerkfehler bei der Zahlungsabwicklung mit Apple Pay. Versuchen Sie es erneut.\",\n \"applePayActiveCardError\": \"Fügen Sie der Apple-Pay-Börse eine unterstützte Kreditkarte hinzu.\",\n \"cardholderNameLabel\": \"Name des Karteninhabers\",\n \"cardNumberLabel\": \"Kartennummer\",\n \"cvvLabel\": \"Prüfnr.\",\n \"cvvThreeDigitLabelSubheading\": \"(3-stellig)\",\n \"cvvFourDigitLabelSubheading\": \"(4-stellig)\",\n \"cardholderNamePlaceholder\": \"Name des Karteninhabers\",\n \"expirationDateLabel\": \"Gültig bis\",\n \"expirationDateLabelSubheading\": \"(MM/JJ)\",\n \"expirationDatePlaceholder\": \"MM/JJ\",\n \"postalCodeLabel\": \"PLZ\",\n \"saveCardLabel\": \"Karte speichern\",\n \"payWithCard\": \"Mit Kreditkarte zahlen\",\n \"endingIn\": \"Mit den Endziffern {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Kreditkarte\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],218:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Πληρωμή μέσω {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Επιλέξτε έναν άλλον τρόπο πληρωμής\",\n \"chooseAWayToPay\": \"Επιλογή τρόπου πληρωμής\",\n \"otherWaysToPay\": \"Άλλοι τρόποι πληρωμής\",\n \"edit\": \"Επεξεργασία\",\n \"doneEditing\": \"Τέλος\",\n \"editPaymentMethods\": \"Επεξεργασία μεθόδων πληρωμής\",\n \"CreditCardDeleteConfirmationMessage\": \"Διαγραφή κάρτας {{secondaryIdentifier}} που λήγει σε {{identifier}};\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Διαγραφή λογαριασμού PayPal {{identifier}};\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Θέλετε σίγουρα να διαγράψετε τον λογαριασμό Venmo με το όνομα χρήστη {{identifier}};\",\n \"genericDeleteConfirmationMessage\": \"Θέλετε σίγουρα να διαγράψετε αυτήν τη μέθοδο πληρωμής;\",\n \"deleteCancelButton\": \"Ακύρωση\",\n \"deleteConfirmationButton\": \"Διαγραφή\",\n \"fieldEmptyForCvv\": \"Συμπληρώστε έναν CVV.\",\n \"fieldEmptyForExpirationDate\": \"Συμπληρώστε ημερομηνία λήξης.\",\n \"fieldEmptyForCardholderName\": \"Συμπληρώστε το όνομα ενός κατόχου κάρτας.\",\n \"fieldTooLongForCardholderName\": \"Το όνομα του κατόχου της κάρτας πρέπει να περιέχει λιγότερους από 256 χαρακτήρες.\",\n \"fieldEmptyForNumber\": \"Συμπληρώστε έναν αριθμό.\",\n \"fieldEmptyForPostalCode\": \"Συμπληρώστε έναν ταχυδρομικό κώδικα.\",\n \"fieldInvalidForCardholderName\": \"Αυτό το όνομα κατόχου κάρτας δεν είναι έγκυρο.\",\n \"fieldInvalidForCvv\": \"Αυτός ο κωδικός ασφαλείας δεν είναι έγκυρος.\",\n \"fieldInvalidForExpirationDate\": \"Αυτή η ημερομηνία λήξης δεν είναι έγκυρη.\",\n \"fieldInvalidForNumber\": \"Αυτός ο αριθμός κάρτας δεν είναι έγκυρος.\",\n \"fieldInvalidForPostalCode\": \"Αυτός ο ταχυδρομικός κώδικας δεν είναι έγκυρος.\",\n \"genericError\": \"Προέκυψε ένα πρόβλημα στο σύστημά μας.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Αυτή η πιστωτική κάρτα υπάρχει ήδη ως αποθηκευμένη μέθοδος πληρωμής.\",\n \"hostedFieldsFailedTokenizationError\": \"Ελέγξτε τα στοιχεία σας και δοκιμάστε ξανά.\",\n \"hostedFieldsFieldsInvalidError\": \"Ελέγξτε τα στοιχεία σας και δοκιμάστε ξανά.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Σφάλμα δικτύου. Δοκιμάστε ξανά.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Η επαλήθευση της πιστωτικής κάρτας απέτυχε. Ελέγξτε τα στοιχεία σας και δοκιμάστε ξανά.\",\n \"paypalButtonMustBeUsed\": \"Χρησιμοποιήστε το κουμπί PayPal για να συνεχίσετε με την πληρωμή.\",\n \"paypalAccountTokenizationFailedError\": \"Προέκυψε κάποιο πρόβλημα με την προσθήκη του λογαριασμού PayPal. Δοκιμάστε ξανά.\",\n \"paypalFlowFailedError\": \"Προέκυψε κάποιο πρόβλημα με τη σύνδεση στην PayPal. Δοκιμάστε ξανά.\",\n \"paypalTokenizationRequestActiveError\": \"Η εξουσιοδότηση πληρωμής PayPal βρίσκεται ήδη σε εξέλιξη.\",\n \"venmoCanceledError\": \"Προέκυψε πρόβλημα. Βεβαιωθείτε ότι έχετε την πιο πρόσφατη έκδοση της εφαρμογής Venmo εγκατεστημένη στη συσκευή σας και ότι το πρόγραμμα περιήγησής σας υποστηρίζει τη μετάβαση στη Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Η διαγραφή της μεθόδου πληρωμής είναι αδύνατη, δοκιμάστε ξανά.\",\n \"venmoAppFailedError\": \"Η εφαρμογή Venmo δεν βρέθηκε στη συσκευή σας.\",\n \"unsupportedCardTypeError\": \"Αυτός ο τύπος κάρτας δεν υποστηρίζεται. Δοκιμάστε άλλη κάρτα.\",\n \"applePayTokenizationError\": \"Προέκυψε σφάλμα δικτύου κατά την επεξεργασία της πληρωμής μέσω Apple Pay. Δοκιμάστε ξανά.\",\n \"applePayActiveCardError\": \"Προσθέστε μια υποστηριζόμενη κάρτα στο πορτοφόλι Apple Pay.\",\n \"cardholderNameLabel\": \"Όνομα κατόχου κάρτας\",\n \"cardNumberLabel\": \"Αριθμός κάρτας\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 ψηφία)\",\n \"cvvFourDigitLabelSubheading\": \"(4 ψηφία)\",\n \"cardholderNamePlaceholder\": \"Όνομα κατόχου κάρτας\",\n \"expirationDateLabel\": \"Ημερομηνία λήξης\",\n \"expirationDateLabelSubheading\": \"(ΜΜ/ΕΕ)\",\n \"expirationDatePlaceholder\": \"MM/ΕΕ\",\n \"postalCodeLabel\": \"Ταχυδρομικός κώδικας\",\n \"saveCardLabel\": \"Αποθήκευση κάρτας\",\n \"payWithCard\": \"Πληρωμή με κάρτα\",\n \"endingIn\": \"που λήγει σε {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Κάρτα\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],219:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Paying with {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Choose another way to pay\",\n \"chooseAWayToPay\": \"Choose a way to pay\",\n \"otherWaysToPay\": \"Other ways to pay\",\n \"edit\": \"Edit\",\n \"doneEditing\": \"Done\",\n \"editPaymentMethods\": \"Edit payment methods\",\n \"CreditCardDeleteConfirmationMessage\": \"Delete {{secondaryIdentifier}} card ending in {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Delete PayPal account {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Are you sure you want to delete the Venmo account with username {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Are you sure you want to delete this payment method?\",\n \"deleteCancelButton\": \"Cancel\",\n \"deleteConfirmationButton\": \"Delete\",\n \"fieldEmptyForCvv\": \"Please fill out a CVV.\",\n \"fieldEmptyForExpirationDate\": \"Please fill out an expiry date.\",\n \"fieldEmptyForCardholderName\": \"Please fill out a cardholder name.\",\n \"fieldTooLongForCardholderName\": \"Cardholder name must be less than 256 characters.\",\n \"fieldEmptyForNumber\": \"Please fill out a number.\",\n \"fieldEmptyForPostalCode\": \"Please fill out a postcode.\",\n \"fieldInvalidForCardholderName\": \"This cardholder name isn't valid.\",\n \"fieldInvalidForCvv\": \"This security code is not valid.\",\n \"fieldInvalidForExpirationDate\": \"This expiry date is not valid.\",\n \"fieldInvalidForNumber\": \"This card number is not valid.\",\n \"fieldInvalidForPostalCode\": \"This postcode is not valid.\",\n \"genericError\": \"Something went wrong on our end.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"This credit card already exists as a saved payment method.\",\n \"hostedFieldsFailedTokenizationError\": \"Check your entries and try again.\",\n \"hostedFieldsFieldsInvalidError\": \"Check your entries and try again.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Network error. Please try again.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Credit card verification failed. Check your entries and try again.\",\n \"paypalButtonMustBeUsed\": \"Use the PayPal button to continue with your payment.\",\n \"paypalAccountTokenizationFailedError\": \"Something went wrong while adding the PayPal account. Please try again.\",\n \"paypalFlowFailedError\": \"Something went wrong while connecting to PayPal. Please try again.\",\n \"paypalTokenizationRequestActiveError\": \"PayPal payment authorisation is already in progress.\",\n \"venmoCanceledError\": \"We're sorry, something seems to have gone wrong. Please ensure you have the most recent version of the Venmo app installed on your device and your browser supports switching to Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"We're sorry. We couldn't delete that payment method. Please try again.\",\n \"venmoAppFailedError\": \"The Venmo app wasn't found on your device.\",\n \"unsupportedCardTypeError\": \"This card type is not supported. Please try another card.\",\n \"applePayTokenizationError\": \"A network error occurred while processing the Apple Pay payment. Please try again.\",\n \"applePayActiveCardError\": \"Link a supported card to your Apple Pay Wallet.\",\n \"cardholderNameLabel\": \"Cardholder Name\",\n \"cardNumberLabel\": \"Card Number\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 digits)\",\n \"cvvFourDigitLabelSubheading\": \"(4 digits)\",\n \"cardholderNamePlaceholder\": \"Cardholder Name\",\n \"expirationDateLabel\": \"Expiry date\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"Postcode\",\n \"saveCardLabel\": \"Save card\",\n \"payWithCard\": \"Pay with credit or debit card\",\n \"endingIn\": \"Ending in {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Card\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],220:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Paying with {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Choose another way to pay\",\n \"chooseAWayToPay\": \"Choose a way to pay\",\n \"otherWaysToPay\": \"Other ways to pay\",\n \"edit\": \"Edit\",\n \"doneEditing\": \"Done\",\n \"editPaymentMethods\": \"Edit funding sources\",\n \"CreditCardDeleteConfirmationMessage\": \"Delete {{secondaryIdentifier}} card ending in {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Delete PayPal account {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Are you sure you want to delete the Venmo account with username {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Are you sure you want to delete this funding source?\",\n \"deleteCancelButton\": \"Cancel\",\n \"deleteConfirmationButton\": \"Delete\",\n \"fieldEmptyForCvv\": \"Please fill in a CSC.\",\n \"fieldEmptyForExpirationDate\": \"Please fill in an expiry date.\",\n \"fieldEmptyForCardholderName\": \"Please fill in a cardholder name.\",\n \"fieldTooLongForCardholderName\": \"Cardholder name must be less than 256 characters.\",\n \"fieldEmptyForNumber\": \"Please fill in a number.\",\n \"fieldEmptyForPostalCode\": \"Please fill in a postcode.\",\n \"fieldInvalidForCardholderName\": \"This cardholder name isn't valid.\",\n \"fieldInvalidForCvv\": \"This security code is not valid.\",\n \"fieldInvalidForExpirationDate\": \"This expiry date is not valid.\",\n \"fieldInvalidForNumber\": \"This card number is not valid.\",\n \"fieldInvalidForPostalCode\": \"This postcode is not valid.\",\n \"genericError\": \"Something went wrong on our end.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"This credit card has already been added to your account as a funding source.\",\n \"hostedFieldsFailedTokenizationError\": \"Please check your information and try again.\",\n \"hostedFieldsFieldsInvalidError\": \"Please check your information and try again.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Network error. Please try again.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Credit card verification failed. Please check your information and try again.\",\n \"paypalButtonMustBeUsed\": \"Use the PayPal button to continue with your payment.\",\n \"paypalAccountTokenizationFailedError\": \"Something went wrong while adding the PayPal account. Please try again.\",\n \"paypalFlowFailedError\": \"Something went wrong while connecting to PayPal. Please try again.\",\n \"paypalTokenizationRequestActiveError\": \"PayPal payment authorisation is already in progress.\",\n \"venmoCanceledError\": \"We're sorry, something seems to have gone wrong. Make sure you have the most recent version of the Venmo app installed on your device and your browser supports the switch to Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Unable to delete funding source, try again.\",\n \"venmoAppFailedError\": \"The Venmo app isn't on your device.\",\n \"unsupportedCardTypeError\": \"This card type is not supported. Please try another card.\",\n \"applePayTokenizationError\": \"A network error occurred while processing the Apple Pay payment. Please try again.\",\n \"applePayActiveCardError\": \"Add a supported card to your Apple Pay wallet.\",\n \"cardholderNameLabel\": \"Cardholder name\",\n \"cardNumberLabel\": \"Card number\",\n \"cvvLabel\": \"CSC\",\n \"cvvThreeDigitLabelSubheading\": \"(3 digits)\",\n \"cvvFourDigitLabelSubheading\": \"(4 digits)\",\n \"cardholderNamePlaceholder\": \"Cardholder name\",\n \"expirationDateLabel\": \"Expiry date\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"Postcode\",\n \"saveCardLabel\": \"Save card\",\n \"payWithCard\": \"Pay with card\",\n \"endingIn\": \"Ending in {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Card\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],221:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Paying with {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Choose another way to pay\",\n \"chooseAWayToPay\": \"Choose a way to pay\",\n \"otherWaysToPay\": \"Other ways to pay\",\n \"edit\": \"Edit\",\n \"doneEditing\": \"Done\",\n \"editPaymentMethods\": \"Edit payment methods\",\n \"CreditCardDeleteConfirmationMessage\": \"Delete {{secondaryIdentifier}} card ending in {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Delete PayPal account {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Are you sure you want to delete the Venmo account with username {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Are you sure you want to delete this payment method?\",\n \"deleteCancelButton\": \"Cancel\",\n \"deleteConfirmationButton\": \"Delete\",\n \"fieldEmptyForCvv\": \"Please enter a CVV.\",\n \"fieldEmptyForExpirationDate\": \"Please enter an expiry date.\",\n \"fieldEmptyForCardholderName\": \"Please enter a cardholder name.\",\n \"fieldTooLongForCardholderName\": \"Cardholder name must have less than 256 characters.\",\n \"fieldEmptyForNumber\": \"Please enter a number.\",\n \"fieldEmptyForPostalCode\": \"Please enter a PIN code.\",\n \"fieldInvalidForCardholderName\": \"This cardholder name isn't valid.\",\n \"fieldInvalidForCvv\": \"This security code isn't valid.\",\n \"fieldInvalidForExpirationDate\": \"This expiration date isn't valid.\",\n \"fieldInvalidForNumber\": \"This card number isn't valid.\",\n \"fieldInvalidForPostalCode\": \"This PIN code isn't valid.\",\n \"genericError\": \"We're sorry, something seems to have gone wrong.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"This credit card already exists as a saved payment method.\",\n \"hostedFieldsFailedTokenizationError\": \"Please check your information and try again.\",\n \"hostedFieldsFieldsInvalidError\": \"Please check your information and try again.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Network error. Please try again.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Credit card verification failed. Please check your information and try again.\",\n \"paypalButtonMustBeUsed\": \"Use the PayPal button to continue with your payment.\",\n \"paypalAccountTokenizationFailedError\": \"Something went wrong adding the PayPal account. Please try again.\",\n \"paypalFlowFailedError\": \"Something went wrong connecting to PayPal. Please try again.\",\n \"paypalTokenizationRequestActiveError\": \"PayPal payment authorisation is already in progress.\",\n \"venmoCanceledError\": \"We're sorry, something seems to have gone wrong. Please ensure you have the most recent version of the Venmo app installed on your device and your browser supports switching to Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Unable to delete payment method. Please try again.\",\n \"venmoAppFailedError\": \"The Venmo app couldn't be found on your device.\",\n \"unsupportedCardTypeError\": \"This card type isn't supported. Please try another card.\",\n \"applePayTokenizationError\": \"A network error occurred while processing the Apple Pay payment. Please try again.\",\n \"applePayActiveCardError\": \"Add a supported card to your Apple Pay wallet.\",\n \"cardholderNameLabel\": \"Cardholder name\",\n \"cardNumberLabel\": \"Card number\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 digits)\",\n \"cvvFourDigitLabelSubheading\": \"(4 digits)\",\n \"cardholderNamePlaceholder\": \"Cardholder name\",\n \"expirationDateLabel\": \"Expiry date\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"PIN code\",\n \"saveCardLabel\": \"Save card\",\n \"payWithCard\": \"Pay with card\",\n \"endingIn\": \"Ending in {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Card\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],222:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n payingWith: 'Paying with {{paymentSource}}',\n chooseAnotherWayToPay: 'Choose another way to pay',\n chooseAWayToPay: 'Choose a way to pay',\n otherWaysToPay: 'Other ways to pay',\n edit: 'Edit',\n doneEditing: 'Done',\n editPaymentMethods: 'Edit payment methods',\n CreditCardDeleteConfirmationMessage: 'Delete {{secondaryIdentifier}} card ending in {{identifier}}?',\n PayPalAccountDeleteConfirmationMessage: 'Delete PayPal account {{identifier}}?',\n VenmoAccountDeleteConfirmationMessage: 'Are you sure you want to delete Venmo account with username {{identifier}}?',\n genericDeleteConfirmationMessage: 'Are you sure you want to delete this payment method?',\n deleteCancelButton: 'Cancel',\n deleteConfirmationButton: 'Delete',\n // Errors\n fieldEmptyForCvv: 'Please fill out a CVV.',\n fieldEmptyForExpirationDate: 'Please fill out an expiration date.',\n fieldEmptyForCardholderName: 'Please fill out a cardholder name.',\n fieldEmptyForNumber: 'Please fill out a card number.',\n fieldEmptyForPostalCode: 'Please fill out a postal code.',\n fieldInvalidForCardholderName: 'This cardholder name is not valid.',\n fieldInvalidForCvv: 'This security code is not valid.',\n fieldInvalidForExpirationDate: 'This expiration date is not valid.',\n fieldInvalidForNumber: 'This card number is not valid.',\n fieldInvalidForPostalCode: 'This postal code is not valid.',\n fieldTooLongForCardholderName: 'Cardholder name must be less than 256 characters.',\n genericError: 'Something went wrong on our end.',\n hostedFieldsTokenizationFailOnDuplicateError: 'This credit card already exists as a saved payment method.',\n hostedFieldsFailedTokenizationError: 'Please check your information and try again.',\n hostedFieldsTokenizationCvvVerificationFailedError: 'Credit card verification failed. Please check your information and try again.',\n hostedFieldsTokenizationNetworkErrorError: 'Network error. Please try again.',\n hostedFieldsFieldsInvalidError: 'Please check your information and try again.',\n paypalButtonMustBeUsed: 'Use the PayPal button to continue with your payment.',\n paypalAccountTokenizationFailedError: 'Something went wrong adding the PayPal account. Please try again.',\n paypalFlowFailedError: 'Something went wrong connecting to PayPal. Please try again.',\n paypalTokenizationRequestActiveError: 'PayPal payment authorization is already in progress.',\n applePayTokenizationError: 'A network error occurred while processing the Apple Pay payment. Please try again.',\n applePayActiveCardError: 'Add a supported card to your Apple Pay wallet.',\n vaultManagerPaymentMethodDeletionError: 'Unable to delete payment method, try again.',\n venmoCanceledError: 'Something went wrong. Ensure you have the most recent version of the Venmo app installed on your device and your browser supports switching to Venmo.',\n venmoAppFailedError: 'The Venmo app could not be found on your device.',\n unsupportedCardTypeError: 'This card type is not supported. Please try another card.',\n // Card form\n cardholderNameLabel: 'Cardholder Name',\n cardNumberLabel: 'Card Number',\n cvvLabel: 'CVV',\n cvvThreeDigitLabelSubheading: '(3 digits)',\n cvvFourDigitLabelSubheading: '(4 digits)',\n expirationDateLabel: 'Expiration Date',\n expirationDateLabelSubheading: '(MM/YY)',\n cardholderNamePlaceholder: 'Cardholder Name',\n expirationDatePlaceholder: 'MM/YY',\n postalCodeLabel: 'Postal Code',\n saveCardLabel: 'Save card',\n payWithCard: 'Pay with card',\n // Payment Method descriptions\n endingIn: 'Ending in {{lastFourCardDigits}}',\n Card: 'Card',\n PayPal: 'PayPal',\n 'PayPal Credit': 'PayPal Credit',\n 'Apple Pay': 'Apple Pay',\n 'Google Pay': 'Google Pay',\n 'Venmo': 'Venmo',\n 'American Express': 'American Express',\n Discover: 'Discover',\n 'Diners Club': 'Diners Club',\n MasterCard: 'Mastercard',\n Visa: 'Visa',\n JCB: 'JCB',\n Maestro: 'Maestro',\n UnionPay: 'UnionPay'\n};\n\n},{}],223:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Pago con {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Selecciona otra forma de pago.\",\n \"chooseAWayToPay\": \"Selecciona una forma de pago.\",\n \"otherWaysToPay\": \"Otras formas de pago\",\n \"edit\": \"Modificar\",\n \"doneEditing\": \"Hecho\",\n \"editPaymentMethods\": \"Editar formas de pago\",\n \"CreditCardDeleteConfirmationMessage\": \"¿Quieres eliminar la tarjeta {{secondaryIdentifier}} que termina en {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"¿Quieres eliminar la cuenta PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"¿Seguro de que deseas eliminar la cuenta de Venmo con nombre de usuario {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"¿Seguro que deseas eliminar esta forma de pago?\",\n \"deleteCancelButton\": \"Cancelar\",\n \"deleteConfirmationButton\": \"Eliminar\",\n \"fieldEmptyForCvv\": \"Escribe el código CVV.\",\n \"fieldEmptyForExpirationDate\": \"Escribe la fecha de vencimiento.\",\n \"fieldEmptyForCardholderName\": \"Escribe el nombre de un titular de la tarjeta.\",\n \"fieldTooLongForCardholderName\": \"El nombre del titular de la tarjeta debe tener menos de 256 caracteres.\",\n \"fieldEmptyForNumber\": \"Escribe un número.\",\n \"fieldEmptyForPostalCode\": \"Escribe el código postal.\",\n \"fieldInvalidForCardholderName\": \"El nombre del titular de la tarjeta no es válido.\",\n \"fieldInvalidForCvv\": \"Este código de seguridad no es válido.\",\n \"fieldInvalidForExpirationDate\": \"Esta fecha de vencimiento no es válida.\",\n \"fieldInvalidForNumber\": \"Este número de tarjeta no es válido.\",\n \"fieldInvalidForPostalCode\": \"Este código postal no es válido.\",\n \"genericError\": \"Hemos tenido algún problema.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Esta tarjeta de crédito ya existe como forma de pago guardada.\",\n \"hostedFieldsFailedTokenizationError\": \"Comprueba la información e inténtalo de nuevo.\",\n \"hostedFieldsFieldsInvalidError\": \"Comprueba la información e inténtalo de nuevo.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Error de red. Inténtalo de nuevo.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Error de verificación de la tarjeta de crédito. Comprueba la información e inténtalo de nuevo.\",\n \"paypalButtonMustBeUsed\": \"Utiliza el botón de PayPal para continuar con el pago.\",\n \"paypalAccountTokenizationFailedError\": \"Se ha producido un error al vincular la cuenta PayPal. Inténtalo de nuevo.\",\n \"paypalFlowFailedError\": \"Se ha producido un error al conectarse a PayPal. Inténtalo de nuevo.\",\n \"paypalTokenizationRequestActiveError\": \"Ya hay una autorización de pago de PayPal en curso.\",\n \"venmoCanceledError\": \"Ha habido un problema. Asegúrate de que tienes la versión más reciente de la aplicación de Venmo instalada en tu dispositivo y de que tu navegador es compatible con cambiar a Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"No se ha podido eliminar la forma de pago. Inténtalo de nuevo.\",\n \"venmoAppFailedError\": \"No se ha encontrado la aplicación de Venmo en tu dispositivo.\",\n \"unsupportedCardTypeError\": \"No se admite este tipo de tarjeta. Prueba con otra tarjeta.\",\n \"applePayTokenizationError\": \"Se ha producido un error de red al procesar el pago con Apple Pay. Inténtalo de nuevo.\",\n \"applePayActiveCardError\": \"Añade una tarjeta admitida a tu Wallet de Apple Pay.\",\n \"cardholderNameLabel\": \"Nombre del titular de la tarjeta\",\n \"cardNumberLabel\": \"Número de tarjeta\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 dígitos)\",\n \"cvvFourDigitLabelSubheading\": \"(4 dígitos)\",\n \"cardholderNamePlaceholder\": \"Nombre del titular de la tarjeta\",\n \"expirationDateLabel\": \"Fecha de vencimiento\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"Código postal\",\n \"saveCardLabel\": \"Guardar tarjeta\",\n \"payWithCard\": \"Pagar con tarjeta\",\n \"endingIn\": \"Terminada en {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Tarjeta\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],224:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Pagando con {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Elija otra forma de pago\",\n \"chooseAWayToPay\": \"Elija una forma de pago\",\n \"otherWaysToPay\": \"Otras formas de pago\",\n \"edit\": \"Editar\",\n \"doneEditing\": \"Listo\",\n \"editPaymentMethods\": \"Editar formas de pago\",\n \"CreditCardDeleteConfirmationMessage\": \"¿Desea eliminar la tarjeta {{secondaryIdentifier}} con terminación en {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"¿Desea eliminar la cuenta de PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"¿Seguro que desea eliminar la cuenta de Venmo con el nombre de usuario {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"¿Seguro que desea eliminar esta forma de pago?\",\n \"deleteCancelButton\": \"Cancelar\",\n \"deleteConfirmationButton\": \"Eliminar\",\n \"fieldEmptyForCvv\": \"Ingrese un CVV.\",\n \"fieldEmptyForExpirationDate\": \"Complete una fecha de vencimiento.\",\n \"fieldEmptyForCardholderName\": \"Ingrese el nombre del titular de la tarjeta.\",\n \"fieldTooLongForCardholderName\": \"El nombre del titular de la tarjeta debe tener menos de 256 caracteres.\",\n \"fieldEmptyForNumber\": \"Ingrese un número.\",\n \"fieldEmptyForPostalCode\": \"Ingrese un código postal.\",\n \"fieldInvalidForCardholderName\": \"El nombre del titular de la tarjeta no es válido.\",\n \"fieldInvalidForCvv\": \"Este código de seguridad no es válido.\",\n \"fieldInvalidForExpirationDate\": \"Esta fecha de vencimiento no es válida.\",\n \"fieldInvalidForNumber\": \"Este número de tarjeta no es válido.\",\n \"fieldInvalidForPostalCode\": \"Este código postal no es válido.\",\n \"genericError\": \"Se ha producido un error.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Esta tarjeta de crédito ya existe como forma de pago guardada.\",\n \"hostedFieldsFailedTokenizationError\": \"Verifique su información e inténtelo de nuevo.\",\n \"hostedFieldsFieldsInvalidError\": \"Verifique su información e inténtelo de nuevo.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Error de red. Inténtelo de nuevo.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"La verificación de la tarjeta de crédito falló. Revise su información e inténtelo de nuevo.\",\n \"paypalButtonMustBeUsed\": \"Utilice el botón de PayPal para continuar con su pago.\",\n \"paypalAccountTokenizationFailedError\": \"Se ha producido un error al agregar la cuenta de PayPal. Inténtelo de nuevo.\",\n \"paypalFlowFailedError\": \"Se ha producido un error al conectar con PayPal. Inténtelo de nuevo.\",\n \"paypalTokenizationRequestActiveError\": \"La autorización de pago de PayPal ya está en curso.\",\n \"venmoCanceledError\": \"Se ha producido un error. Asegúrese de que tiene la versión más reciente de la aplicación de Venmo instalada en su dispositivo y que su navegador admita el sitio web Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"No se pudo eliminar la forma de pago, inténtelo de nuevo.\",\n \"venmoAppFailedError\": \"No se pudo encontrar la aplicación de Venmo en su dispositivo.\",\n \"unsupportedCardTypeError\": \"Este tipo de tarjeta no es compatible. Inténtelo con otra tarjeta.\",\n \"applePayTokenizationError\": \"Se ha producido un error de red al procesar el pago de Apple Pay. Inténtelo de nuevo.\",\n \"applePayActiveCardError\": \"Agregue una tarjeta compatible a su cartera de Apple Pay.\",\n \"cardholderNameLabel\": \"Nombre del titular de la tarjeta\",\n \"cardNumberLabel\": \"Número de tarjeta\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 dígitos)\",\n \"cvvFourDigitLabelSubheading\": \"(4 dígitos)\",\n \"cardholderNamePlaceholder\": \"Nombre del titular de la tarjeta\",\n \"expirationDateLabel\": \"Fecha de vencimiento\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"Código postal\",\n \"saveCardLabel\": \"Guardar tarjeta\",\n \"payWithCard\": \"Pagar con tarjeta\",\n \"endingIn\": \"Con terminación en {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Tarjeta\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],225:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Maksutapa: {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Valitse toinen maksutapa\",\n \"chooseAWayToPay\": \"Valitse maksutapa\",\n \"otherWaysToPay\": \"Muut maksutavat\",\n \"edit\": \"Muokkaa\",\n \"doneEditing\": \"Valmis\",\n \"editPaymentMethods\": \"Muokkaa maksutapoja\",\n \"CreditCardDeleteConfirmationMessage\": \"Haluatko poistaa {{secondaryIdentifier}}-kortin, jonka numero päättyy {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Haluatko poistaa PayPal-tilin {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Haluatko varmasti poistaa Venmo-tilin, jonka käyttäjätunnus on {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Haluatko varmasti poistaa tämän maksutavan?\",\n \"deleteCancelButton\": \"Peruuta\",\n \"deleteConfirmationButton\": \"Poista\",\n \"fieldEmptyForCvv\": \"Täytä CVV.\",\n \"fieldEmptyForExpirationDate\": \"Täytä voimassaolon päättymispäivämäärä.\",\n \"fieldEmptyForCardholderName\": \"Täytä kortinhaltijan nimi.\",\n \"fieldTooLongForCardholderName\": \"Kortin haltijan nimen on oltava alle 256 merkkiä.\",\n \"fieldEmptyForNumber\": \"Täytä numero.\",\n \"fieldEmptyForPostalCode\": \"Täytä postinumero.\",\n \"fieldInvalidForCardholderName\": \"Kortinhaltijan nimi ei ole kelvollinen.\",\n \"fieldInvalidForCvv\": \"Tämä turvakoodi ei ole kelvollinen.\",\n \"fieldInvalidForExpirationDate\": \"Tämä päättymispäivämäärä ei ole kelvollinen.\",\n \"fieldInvalidForNumber\": \"Tämä kortin numero ei ole kelvollinen.\",\n \"fieldInvalidForPostalCode\": \"Tämä postinumero ei ole kelvollinen.\",\n \"genericError\": \"Jokin meni pieleen meidän päässämme.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Tämä luottokortti on jo tallennettu maksutavaksi.\",\n \"hostedFieldsFailedTokenizationError\": \"Tarkista tiedot ja yritä uudelleen.\",\n \"hostedFieldsFieldsInvalidError\": \"Tarkista tiedot ja yritä uudelleen.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Verkkovirhe. Yritä uudelleen.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Luottokortin varmennus epäonnistui. Tarkista tiedot ja yritä uudelleen.\",\n \"paypalButtonMustBeUsed\": \"Jatka maksua PayPal-painikkeen avulla.\",\n \"paypalAccountTokenizationFailedError\": \"Jotain meni pieleen PayPal-tiliä lisätessä. Yritä uudelleen.\",\n \"paypalFlowFailedError\": \"Jotain meni pieleen muodostettaessa yhteyttä PayPaliin. Yritä uudelleen.\",\n \"paypalTokenizationRequestActiveError\": \"PayPal-maksun valtuutus on jo meneillään.\",\n \"venmoCanceledError\": \"Jokin meni pieleen. Varmista, että laitteeseesi on asennettu Venmo-sovelluksen viimeisin versio, ja että selain tukee vaihtamista Venmoon.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Maksutavan poistaminen ei onnistu, yritä uudelleen.\",\n \"venmoAppFailedError\": \"Venmo-sovellusta ei löytynyt laitteesta.\",\n \"unsupportedCardTypeError\": \"Tätä korttityyppiä ei tueta. Kokeile toista korttia.\",\n \"applePayTokenizationError\": \"Tapahtui verkkovirhe Apple Pay -maksun käsittelyssä. Yritä uudelleen.\",\n \"applePayActiveCardError\": \"Lisää tuettu kortti Apple Pay -lompakkoon.\",\n \"cardholderNameLabel\": \"Kortinhaltijan nimi\",\n \"cardNumberLabel\": \"Kortin numero\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(kolme numeroa)\",\n \"cvvFourDigitLabelSubheading\": \"(neljä numeroa)\",\n \"cardholderNamePlaceholder\": \"Kortinhaltijan nimi\",\n \"expirationDateLabel\": \"Päättymispäivämäärä\",\n \"expirationDateLabelSubheading\": \"(KK/VV)\",\n \"expirationDatePlaceholder\": \"KK/VV\",\n \"postalCodeLabel\": \"Postinumero\",\n \"saveCardLabel\": \"Tallenna kortti\",\n \"payWithCard\": \"Maksa kortilla\",\n \"endingIn\": \"Päättyy {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Kortti\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],226:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Payer avec {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Choisir un autre mode de paiement\",\n \"chooseAWayToPay\": \"Choisir le mode de paiement\",\n \"otherWaysToPay\": \"Autres modes de paiement\",\n \"edit\": \"Modifier\",\n \"doneEditing\": \"Terminé\",\n \"editPaymentMethods\": \"Modifier les modes de paiement\",\n \"CreditCardDeleteConfirmationMessage\": \"Supprimer la carte {{secondaryIdentifier}} se terminant par {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Supprimer le compte PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Souhaitez-vous vraiment supprimer le compte Venmo avec le nom d’utilisateur {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Voulez-vous vraiment supprimer ce mode de paiement?\",\n \"deleteCancelButton\": \"Annuler\",\n \"deleteConfirmationButton\": \"Supprimer\",\n \"fieldEmptyForCvv\": \"Veuillez saisir un cryptogramme visuel.\",\n \"fieldEmptyForExpirationDate\": \"Veuillez saisir une date d'expiration.\",\n \"fieldEmptyForCardholderName\": \"Veuillez saisir un nom de titulaire de la carte.\",\n \"fieldTooLongForCardholderName\": \"Le nom du titulaire de la carte doit contenir moins de 256 caractères.\",\n \"fieldEmptyForNumber\": \"Veuillez saisir un numéro.\",\n \"fieldEmptyForPostalCode\": \"Veuillez saisir un code postal.\",\n \"fieldInvalidForCardholderName\": \"Le nom de ce titulaire de la carte n'est pas valide.\",\n \"fieldInvalidForCvv\": \"Ce cryptogramme visuel n'est pas valide.\",\n \"fieldInvalidForExpirationDate\": \"Cette date d'expiration n'est pas valide.\",\n \"fieldInvalidForNumber\": \"Ce numéro de carte n'est pas valide.\",\n \"fieldInvalidForPostalCode\": \"Ce code postal n'est pas valide.\",\n \"genericError\": \"Une erreur s'est produite de notre côté.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Cette carte de crédit existe déjà comme mode de paiement enregistré.\",\n \"hostedFieldsFailedTokenizationError\": \"Vérifiez vos informations, puis réessayez.\",\n \"hostedFieldsFieldsInvalidError\": \"Vérifiez vos informations, puis réessayez.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Erreur réseau. Veuillez réessayer.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"La vérification de la carte de crédit a échoué. Vérifiez vos informations, puis réessayez.\",\n \"paypalButtonMustBeUsed\": \"Utilisez le bouton PayPal pour poursuivre votre paiement.\",\n \"paypalAccountTokenizationFailedError\": \"Une erreur s'est produite lors de l'enregistrement du compte PayPal. Veuillez réessayer.\",\n \"paypalFlowFailedError\": \"Une erreur s'est produite au cours de la connexion à PayPal. Veuillez réessayer.\",\n \"paypalTokenizationRequestActiveError\": \"L'autorisation de paiement PayPal est déjà en cours.\",\n \"venmoCanceledError\": \"Une erreur s'est produite. Assurez-vous que la version la plus récente de l'application Venmo est installée sur votre appareil et que votre navigateur prend Venmo en charge.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Impossible de supprimer le mode de paiement, essayez de nouveau.\",\n \"venmoAppFailedError\": \"L'application Venmo est introuvable sur votre appareil.\",\n \"unsupportedCardTypeError\": \"Ce type de carte n'est pas pris en charge. Veuillez essayer une autre carte.\",\n \"applePayTokenizationError\": \"Une erreur de réseau s'est produite lors du traitement du paiement avec Apple Pay. Veuillez réessayer.\",\n \"applePayActiveCardError\": \"Ajoutez une carte prise en charge à Apple Pay.\",\n \"cardholderNameLabel\": \"Nom du titulaire de la carte\",\n \"cardNumberLabel\": \"Numéro de carte\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 chiffres)\",\n \"cvvFourDigitLabelSubheading\": \"(4 chiffres)\",\n \"cardholderNamePlaceholder\": \"Nom du titulaire de la carte\",\n \"expirationDateLabel\": \"Date d'expiration\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"Code postal\",\n \"saveCardLabel\": \"Enregistrer la carte\",\n \"payWithCard\": \"Payer par carte\",\n \"endingIn\": \"Se terminant par {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Carte\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],227:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Payer avec {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Choisissez une autre façon de payer.\",\n \"chooseAWayToPay\": \"Choisissez comment payer.\",\n \"otherWaysToPay\": \"Autres façons de payer\",\n \"edit\": \"Modifier\",\n \"doneEditing\": \"Terminé\",\n \"editPaymentMethods\": \"Modifier les sources d'approvisionnement\",\n \"CreditCardDeleteConfirmationMessage\": \"Supprimer la carte {{secondaryIdentifier}} se terminant par {{identifier}} ?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Supprimer le compte PayPal {{identifier}} ?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Êtes-vous sûr de vouloir supprimer le compte Venmo avec le nom d'utilisateur {{identifier}} ?\",\n \"genericDeleteConfirmationMessage\": \"Êtes-vous sûr de vouloir supprimer cette source d'approvisionnement ?\",\n \"deleteCancelButton\": \"Annuler\",\n \"deleteConfirmationButton\": \"Supprimer\",\n \"fieldEmptyForCvv\": \"Entrez un cryptogramme visuel.\",\n \"fieldEmptyForExpirationDate\": \"Entrez une date d'expiration.\",\n \"fieldEmptyForCardholderName\": \"Entrez un nom du titulaire de la carte.\",\n \"fieldTooLongForCardholderName\": \"Le nom du titulaire de la carte doit contenir moins de 256 caractères.\",\n \"fieldEmptyForNumber\": \"Entrez un numéro.\",\n \"fieldEmptyForPostalCode\": \"Entrez un code postal.\",\n \"fieldInvalidForCardholderName\": \"Le nom de ce titulaire de la carte est incorrect.\",\n \"fieldInvalidForCvv\": \"Ce cryptogramme visuel n'est pas valide.\",\n \"fieldInvalidForExpirationDate\": \"Cette date d'expiration n'est pas valide.\",\n \"fieldInvalidForNumber\": \"Ce numéro de carte n'est pas valide.\",\n \"fieldInvalidForPostalCode\": \"Ce code postal n'est pas valide.\",\n \"genericError\": \"Une erreur est survenue.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Cette carte bancaire existe déjà comme mode de paiement enregistré.\",\n \"hostedFieldsFailedTokenizationError\": \"Vérifiez vos informations et réessayez.\",\n \"hostedFieldsFieldsInvalidError\": \"Vérifiez vos informations et réessayez.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Erreur réseau. Réessayez.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Échec de vérification de la carte bancaire. Vérifiez vos informations et réessayez.\",\n \"paypalButtonMustBeUsed\": \"Utilisez le bouton PayPal pour poursuivre votre paiement.\",\n \"paypalAccountTokenizationFailedError\": \"Une erreur est survenue lors de l'ajout du compte PayPal. Réessayez.\",\n \"paypalFlowFailedError\": \"Une erreur est survenue lors de la connexion à PayPal. Réessayez.\",\n \"paypalTokenizationRequestActiveError\": \"L'autorisation de paiement PayPal est déjà en cours.\",\n \"venmoCanceledError\": \"Une erreur est survenue. Vérifiez que vous disposez de la dernière version de l'application Venmo sur votre appareil et que votre navigateur prend en charge la redirection vers Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Impossible de supprimer la source d'approvisionnement. Réessayez.\",\n \"venmoAppFailedError\": \"L'application Venmo est introuvable sur votre appareil.\",\n \"unsupportedCardTypeError\": \"Ce type de carte n'est pas pris en charge. Essayez une autre carte.\",\n \"applePayTokenizationError\": \"Une erreur réseau s'est produite lors du traitement du paiement Apple Pay. Réessayez.\",\n \"applePayActiveCardError\": \"Enregistrez une carte prise en charge sur Apple Pay.\",\n \"cardholderNameLabel\": \"Nom du titulaire de la carte\",\n \"cardNumberLabel\": \"Nº de carte\",\n \"cvvLabel\": \"Cryptogramme visuel\",\n \"cvvThreeDigitLabelSubheading\": \"(3 chiffres)\",\n \"cvvFourDigitLabelSubheading\": \"(4 chiffres)\",\n \"cardholderNamePlaceholder\": \"Nom du titulaire de la carte\",\n \"expirationDateLabel\": \"Date d'expiration\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"Code postal\",\n \"saveCardLabel\": \"Enregistrer une carte\",\n \"payWithCard\": \"Payer par carte\",\n \"endingIn\": \"Se terminant par {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Carte\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],228:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Payer avec {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Choisir un autre mode de paiement\",\n \"chooseAWayToPay\": \"Choisir un mode de paiement\",\n \"otherWaysToPay\": \"Autres modes de paiement\",\n \"edit\": \"Modifier\",\n \"doneEditing\": \"Terminé\",\n \"editPaymentMethods\": \"Modifier les modes de paiement\",\n \"CreditCardDeleteConfirmationMessage\": \"Supprimer la carte {{secondaryIdentifier}} se terminant par {{identifier}} ?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Supprimer le compte PayPal {{identifier}} ?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Souhaitez-vous vraiment supprimer le compte Venmo associé au nom d'utilisateur {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Souhaitez-vous vraiment supprimer ce mode de paiement ?\",\n \"deleteCancelButton\": \"Annuler\",\n \"deleteConfirmationButton\": \"Supprimer\",\n \"fieldEmptyForCvv\": \"Saisissez un cryptogramme visuel.\",\n \"fieldEmptyForExpirationDate\": \"Indiquez une date d'expiration.\",\n \"fieldEmptyForCardholderName\": \"Saisissez le nom du titulaire de la carte.\",\n \"fieldTooLongForCardholderName\": \"Le nom du titulaire de la carte doit comporter moins de 256 caractères.\",\n \"fieldEmptyForNumber\": \"Indiquez un numéro.\",\n \"fieldEmptyForPostalCode\": \"Indiquez un code postal.\",\n \"fieldInvalidForCardholderName\": \"Le nom de ce titulaire de la carte est incorrect.\",\n \"fieldInvalidForCvv\": \"Ce cryptogramme visuel n'est pas valide.\",\n \"fieldInvalidForExpirationDate\": \"Cette date d'expiration n'est pas valide.\",\n \"fieldInvalidForNumber\": \"Ce numéro de carte n'est pas valide.\",\n \"fieldInvalidForPostalCode\": \"Ce code postal n'est pas valide.\",\n \"genericError\": \"Une erreur est survenue.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Cette carte bancaire existe déjà en tant que mode de paiement enregistré.\",\n \"hostedFieldsFailedTokenizationError\": \"Vérifiez les informations et réessayez.\",\n \"hostedFieldsFieldsInvalidError\": \"Vérifiez les informations et réessayez.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Erreur réseau. Réessayez.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Échec de la vérification de carte bancaire. Vérifiez les informations et réessayez.\",\n \"paypalButtonMustBeUsed\": \"Utilisez le bouton PayPal pour poursuivre le paiement.\",\n \"paypalAccountTokenizationFailedError\": \"Un problème est survenu lors de l'ajout du compte PayPal. Réessayez.\",\n \"paypalFlowFailedError\": \"Une erreur est survenue lors de la connexion à PayPal. Réessayez.\",\n \"paypalTokenizationRequestActiveError\": \"L'autorisation de paiement PayPal est déjà en cours.\",\n \"venmoCanceledError\": \"Une erreur est survenue. Vérifiez que la dernière version de l'application Venmo est installée sur votre appareil et que votre navigateur prend en charge la redirection vers Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Impossible de supprimer le mode de paiement, réessayez.\",\n \"venmoAppFailedError\": \"Nous n'avons pas trouvé l'application Venmo sur votre appareil.\",\n \"unsupportedCardTypeError\": \"Ce type de carte n'est pas pris en charge. Essayez une autre carte.\",\n \"applePayTokenizationError\": \"Une erreur réseau s'est produite lors du traitement du paiement Apple Pay. Réessayez.\",\n \"applePayActiveCardError\": \"Ajoutez une carte prise en charge à votre portefeuille Apple Pay.\",\n \"cardholderNameLabel\": \"Nom du titulaire de la carte\",\n \"cardNumberLabel\": \"Numéro de carte\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 chiffres)\",\n \"cvvFourDigitLabelSubheading\": \"(4 chiffres)\",\n \"cardholderNamePlaceholder\": \"Nom du titulaire de la carte\",\n \"expirationDateLabel\": \"Date d'expiration\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"Code postal\",\n \"saveCardLabel\": \"Enregistrer la carte\",\n \"payWithCard\": \"Payer avec la carte\",\n \"endingIn\": \"Se terminant par {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Carte\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],229:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"שליחת תשלום באמצעות {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"עליך לבחור שיטת תשלום אחרת\",\n \"chooseAWayToPay\": \"עליך לבחור שיטת תשלום\",\n \"otherWaysToPay\": \"שיטות תשלום אחרות\",\n \"edit\": \"עריכה\",\n \"doneEditing\": \"סיום\",\n \"editPaymentMethods\": \"עריכת שיטות תשלום\",\n \"CreditCardDeleteConfirmationMessage\": \"ברצונך למחוק את כרטיס ה-{{secondaryIdentifier}} שמסתיים בספרות {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"ברצונך למחוק את חשבון ה-PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"האם אתה בטוח שברצונך למחוק את חשבון Venmo הרשום תחת שם המשתמש {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"האם אתה בטוח שברצונך למחוק שיטת תשלום זו?\",\n \"deleteCancelButton\": \"ביטול\",\n \"deleteConfirmationButton\": \"מחיקה\",\n \"fieldEmptyForCvv\": \"עליך למלא את מספר האבטחה של כרטיס האשראי.\",\n \"fieldEmptyForExpirationDate\": \"עליך למלא את תאריך פקיעת התוקף.\",\n \"fieldEmptyForCardholderName\": \"עליך למלא את שם בעל הכרטיס.\",\n \"fieldTooLongForCardholderName\": \"שם בעל הכרטיס יכול להכיל 256 תווים לכל היותר.\",\n \"fieldEmptyForNumber\": \"עליך למלא את המספר.\",\n \"fieldEmptyForPostalCode\": \"עליך למלא את המיקוד.\",\n \"fieldInvalidForCardholderName\": \"שם בעל הכרטיס אינו חוקי.\",\n \"fieldInvalidForCvv\": \"קוד אבטחה זה אינו חוקי.\",\n \"fieldInvalidForExpirationDate\": \"תאריך פקיעת התוקף הזה אינו חוקי.\",\n \"fieldInvalidForNumber\": \"מספר כרטיס האשראי הזה אינו חוקי.\",\n \"fieldInvalidForPostalCode\": \"מיקוד זה אינו חוקי.\",\n \"genericError\": \"נראה שמשהו השתבש בצד שלנו.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"כרטיס אשראי זה כבר שמור כשיטת תשלום.\",\n \"hostedFieldsFailedTokenizationError\": \"עליך לבדוק את הפרטים שלך ולנסות שוב.\",\n \"hostedFieldsFieldsInvalidError\": \"עליך לבדוק את הפרטים שלך ולנסות שוב.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"שגיאת רשת. יש לנסות שוב.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"אימות כרטיס האשראי נכשל. עליך לבדוק את הפרטים שלך ולנסות שוב.\",\n \"paypalButtonMustBeUsed\": \"להשתמש בלחצן PayPal כדי להמשיך בביצוע התשלום שלך.\",\n \"paypalAccountTokenizationFailedError\": \"משהו השתבש בו בעת הוספת חשבון PayPal. יש לנסות שוב.\",\n \"paypalFlowFailedError\": \"משהו השתבש בהתחברות ל-PayPal. יש לנסות שוב.\",\n \"paypalTokenizationRequestActiveError\": \"אישור התשלום של PayPal כבר מתבצע.\",\n \"venmoCanceledError\": \"נראה שמשהו השתבש. עליך לוודא שהגרסה העדכנית ביותר של אפליקציית Venmo מותקנת במכשיר שלך, ושהדפדפן שלך תומך במעבר ל-Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"לא הצלחנו למחוק את שיטת התשלום, עליך לנסות שוב.\",\n \"venmoAppFailedError\": \"לא מצאנו למצוא את אפליקציית Venmo במכשיר שלך.\",\n \"unsupportedCardTypeError\": \"סוג כרטיס זה אינו נתמך. עליך לנסות כרטיס אחר.\",\n \"applePayTokenizationError\": \"אירעה שגיאת רשת בעת עיבוד תשלום התשלומים של Apple Pay. יש לנסות שוב.\",\n \"applePayActiveCardError\": \"הוספת כרטיס נתמך לארנק Apple Pay שלך.\",\n \"cardholderNameLabel\": \"שם בעל הכרטיס\",\n \"cardNumberLabel\": \"מספר הכרטיס\",\n \"cvvLabel\": \"קוד האבטחה (CVV)\",\n \"cvvThreeDigitLabelSubheading\": \"(3 ספרות)\",\n \"cvvFourDigitLabelSubheading\": \"(ארבע ספרות)\",\n \"cardholderNamePlaceholder\": \"שם בעל הכרטיס\",\n \"expirationDateLabel\": \"תאריך פקיעת תוקף\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"מיקוד\",\n \"saveCardLabel\": \"שמירת הכרטיס\",\n \"payWithCard\": \"תשלום באמצעות כרטיס אשראי\",\n \"endingIn\": \"המסתיים בספרות {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"כרטיס\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],230:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Fizetve ezzel {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Válasszon másik fizetési módot\",\n \"chooseAWayToPay\": \"Válasszon fizetési módot\",\n \"otherWaysToPay\": \"Egyéb fizetési módok\",\n \"edit\": \"Szerkesztés\",\n \"doneEditing\": \"Kész\",\n \"editPaymentMethods\": \"Fizetési módok szerkesztése\",\n \"CreditCardDeleteConfirmationMessage\": \"Törli a(z) {{identifier}}-re végződő {{secondaryIdentifier}} kártyát?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Törli a(z) {{identifier}} PayPal-számlát?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Biztosan törli a(z) {{identifier}} felhasználónévhez tartozó Venmo-számlát?\",\n \"genericDeleteConfirmationMessage\": \"Biztosan törli ezt a fizetési módot?\",\n \"deleteCancelButton\": \"Mégse\",\n \"deleteConfirmationButton\": \"Törés\",\n \"fieldEmptyForCvv\": \"Adja meg a CVV-t.\",\n \"fieldEmptyForExpirationDate\": \"Töltse ki a lejárati dátumot.\",\n \"fieldEmptyForCardholderName\": \"Töltse ki a kártyatulajdonos nevét.\",\n \"fieldTooLongForCardholderName\": \"A kártyatulajdonos neve nem lehet hosszabb mint 256 karakter.\",\n \"fieldEmptyForNumber\": \"Töltse ki a számot.\",\n \"fieldEmptyForPostalCode\": \"Töltse ki az irányítószámot.\",\n \"fieldInvalidForCardholderName\": \"Ez a kártyabirtokos neve nem érvényes.\",\n \"fieldInvalidForCvv\": \"Ez a biztonsági kód nem érvényes.\",\n \"fieldInvalidForExpirationDate\": \"Ez a lejárati dátum nem érvényes.\",\n \"fieldInvalidForNumber\": \"Ez a kártyaszám nem érvényes.\",\n \"fieldInvalidForPostalCode\": \"Ez az irányítószám nem érvényes.\",\n \"genericError\": \"Hiba történt a mi oldalunkon.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Ez a hitelkártya már szerepel mentett fizetési módként.\",\n \"hostedFieldsFailedTokenizationError\": \"Ellenőrizze adatait, majd próbálja újra.\",\n \"hostedFieldsFieldsInvalidError\": \"Ellenőrizze adatait, majd próbálja újra.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Hálózati hiba. Próbálja újra.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"A hitelkártya hitelesítése sikertelen. Ellenőrizze adatait, majd próbálja újra.\",\n \"paypalButtonMustBeUsed\": \"A fizetés folytatásához használja a PayPal-gombot.\",\n \"paypalAccountTokenizationFailedError\": \"Hiba történt a PayPal-számla hozzáadása közben. Próbálja újra.\",\n \"paypalFlowFailedError\": \"Hiba történt a PayPalhoz való kapcsolódás közben. Próbálja újra.\",\n \"paypalTokenizationRequestActiveError\": \"A PayPal-fizetés engedélyezése már folyamatban van.\",\n \"venmoCanceledError\": \"Hiba történt. Ellenőrizze, hogy eszközére a Venmo-alkalmazás legfrissebb verziója van-e telepítve, és hogy a böngészője támogatja-e a Venmo-ra történő átváltást.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Nem sikerült törölni a fizetési módot, próbálja újra.\",\n \"venmoAppFailedError\": \"A Venmo-alkalmazást nem találja a rendszer az eszközön.\",\n \"unsupportedCardTypeError\": \"Ez a kártyatípus nem támogatott. Próbáljon meg másik kártyát.\",\n \"applePayTokenizationError\": \"Hálózati hiba történt az Apple Pay-kifizetés közben. Próbálja újra.\",\n \"applePayActiveCardError\": \"Adjon egy támogatott kártyáját az Apple Pay pénztárcához.\",\n \"cardholderNameLabel\": \"Kártyatulajdonos neve\",\n \"cardNumberLabel\": \"Kártyaszám\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 számjegy)\",\n \"cvvFourDigitLabelSubheading\": \"(4 számjegy)\",\n \"cardholderNamePlaceholder\": \"Kártyatulajdonos neve\",\n \"expirationDateLabel\": \"Lejárati dátum\",\n \"expirationDateLabelSubheading\": \"(HH/ÉÉ)\",\n \"expirationDatePlaceholder\": \"HH/ÉÉ\",\n \"postalCodeLabel\": \"Irányítószám\",\n \"saveCardLabel\": \"Kártya mentése\",\n \"payWithCard\": \"Fizetés kártyával\",\n \"endingIn\": \"{{lastFourCardDigits}} végű\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"-kártya\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],231:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Membayar dengan {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Pilih metode pembayaran lain\",\n \"chooseAWayToPay\": \"Pilih metode pembayaran\",\n \"otherWaysToPay\": \"Metode pembayaran lain\",\n \"edit\": \"Edit\",\n \"doneEditing\": \"Selesai\",\n \"editPaymentMethods\": \"Edit metode pembayaran\",\n \"CreditCardDeleteConfirmationMessage\": \"Hapus kartu {{secondaryIdentifier}} yang berakhiran {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Hapus {{identifier}} rekening PayPal?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Yakin akan menghapus rekening Venmo dengan nama pengguna {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Yakin akan menghapus metode pembayaran ini?\",\n \"deleteCancelButton\": \"Batalkan\",\n \"deleteConfirmationButton\": \"Hapus\",\n \"fieldEmptyForCvv\": \"Masukkan CVV.\",\n \"fieldEmptyForExpirationDate\": \"Masukkan tanggal akhir berlaku.\",\n \"fieldEmptyForCardholderName\": \"Masukkan nama pemegang kartu.\",\n \"fieldTooLongForCardholderName\": \"Nama pemegang kartu harus kurang dari 256 karakter.\",\n \"fieldEmptyForNumber\": \"Masukkan nomor.\",\n \"fieldEmptyForPostalCode\": \"Masukkan kode pos.\",\n \"fieldInvalidForCardholderName\": \"Nama pemilik kartu ini tidak valid.\",\n \"fieldInvalidForCvv\": \"Kode keamanan ini tidak valid.\",\n \"fieldInvalidForExpirationDate\": \"Tanggal akhir berlaku ini tidak valid.\",\n \"fieldInvalidForNumber\": \"Nomor kartu ini tidak valid.\",\n \"fieldInvalidForPostalCode\": \"Kode pos ini tidak valid.\",\n \"genericError\": \"Ada yang salah pada sistem kami.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Kartu kredit ini sudah dimasukkan sebagai metode pembayaran tersimpan.\",\n \"hostedFieldsFailedTokenizationError\": \"Periksa informasi Anda dan coba lagi.\",\n \"hostedFieldsFieldsInvalidError\": \"Periksa informasi Anda dan coba lagi.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Masalah jaringan. Coba lagi.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Verifikasi kartu kredit gagal. Periksa informasi Anda dan coba lagi.\",\n \"paypalButtonMustBeUsed\": \"Gunakan tombol PayPal untuk melanjutkan pembayaran Anda.\",\n \"paypalAccountTokenizationFailedError\": \"Terjadi kesalahan saat menambahkan rekening PayPal. Coba lagi.\",\n \"paypalFlowFailedError\": \"Terjadi kesalahan saat menyambung ke PayPal. Coba lagi.\",\n \"paypalTokenizationRequestActiveError\": \"Otorisasi pembayaran PayPal sedang diproses.\",\n \"venmoCanceledError\": \"Terdapat kesalahan. Pastikan Anda telah menginstal aplikasi Venmo versi terbaru pada perangkat dan peramban Anda mendukung untuk beralih ke Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Tidak dapat menghapus metode pembayaran, coba lagi.\",\n \"venmoAppFailedError\": \"Aplikasi Venmo tidak dapat ditemukan pada perangkat Anda.\",\n \"unsupportedCardTypeError\": \"Jenis kartu ini tidak didukung. Coba kartu lainnya.\",\n \"applePayTokenizationError\": \"Terjadi kesalahan jaringan sewaktu memproses pembayaran melalui Apple Pay. Coba lagi.\",\n \"applePayActiveCardError\": \"Tambahkan kartu yang didukung ke wallet Apple Pay.\",\n \"cardholderNameLabel\": \"Nama Pemegang Kartu\",\n \"cardNumberLabel\": \"Nomor Kartu\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 angka)\",\n \"cvvFourDigitLabelSubheading\": \"(4 angka)\",\n \"cardholderNamePlaceholder\": \"Nama Pemegang Kartu\",\n \"expirationDateLabel\": \"Tanggal Kedaluwarsa\",\n \"expirationDateLabelSubheading\": \"(BB/TT)\",\n \"expirationDatePlaceholder\": \"BB/TT\",\n \"postalCodeLabel\": \"Kode Pos\",\n \"saveCardLabel\": \"Simpan kartu\",\n \"payWithCard\": \"Bayar dengan kartu\",\n \"endingIn\": \"Berakhiran {{lastTwoCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Kartu\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],232:[function(require,module,exports){\n/* eslint-disable camelcase */\n'use strict';\n\nvar assign = require('../lib/assign').assign;\n\nvar fiveCharacterLocales = {\n ar_EG: require('./ar_EG'),\n cs_CZ: require('./cs_CZ'),\n da_DK: require('./da_DK'),\n de_DE: require('./de_DE'),\n el_GR: require('./el_GR'),\n en_AU: require('./en_AU'),\n en_GB: require('./en_GB'),\n en_IN: require('./en_IN'),\n en_US: require('./en_US'),\n es_ES: require('./es_ES'),\n es_XC: require('./es_XC'),\n fi_FI: require('./fi_FI'),\n fr_CA: require('./fr_CA'),\n fr_FR: require('./fr_FR'),\n fr_XC: require('./fr_XC'),\n he_IL: require('./he_IL'),\n hu_HU: require('./hu_HU'),\n id_ID: require('./id_ID'),\n it_IT: require('./it_IT'),\n ja_JP: require('./ja_JP'),\n ko_KR: require('./ko_KR'),\n nl_NL: require('./nl_NL'),\n no_NO: require('./no_NO'),\n pl_PL: require('./pl_PL'),\n pt_BR: require('./pt_BR'),\n pt_PT: require('./pt_PT'),\n ru_RU: require('./ru_RU'),\n sk_SK: require('./sk_SK'),\n sv_SE: require('./sv_SE'),\n th_TH: require('./th_TH'),\n zh_CN: require('./zh_CN'),\n zh_HK: require('./zh_HK'),\n zh_TW: require('./zh_TW'),\n zh_XC: require('./zh_XC')\n};\n\nvar twoCharacterLocaleAliases = {\n ar: fiveCharacterLocales.ar_EG,\n cs: fiveCharacterLocales.cs_CZ,\n da: fiveCharacterLocales.da_DK,\n de: fiveCharacterLocales.de_DE,\n el: fiveCharacterLocales.el_GR,\n en: fiveCharacterLocales.en_US,\n es: fiveCharacterLocales.es_ES,\n fi: fiveCharacterLocales.fi_FI,\n fr: fiveCharacterLocales.fr_FR,\n id: fiveCharacterLocales.id_ID,\n it: fiveCharacterLocales.it_IT,\n hu: fiveCharacterLocales.hu_HU,\n ja: fiveCharacterLocales.ja_JP,\n ko: fiveCharacterLocales.ko_KR,\n nl: fiveCharacterLocales.nl_NL,\n no: fiveCharacterLocales.no_NO,\n pl: fiveCharacterLocales.pl_PL,\n pt: fiveCharacterLocales.pt_PT,\n ru: fiveCharacterLocales.ru_RU,\n sk: fiveCharacterLocales.sk_SK,\n sv: fiveCharacterLocales.sv_SE,\n th: fiveCharacterLocales.th_TH,\n zh: fiveCharacterLocales.zh_CN\n};\n\nmodule.exports = {\n twoCharacterLocaleAliases: twoCharacterLocaleAliases,\n fiveCharacterLocales: fiveCharacterLocales,\n translations: assign({}, twoCharacterLocaleAliases, fiveCharacterLocales)\n};\n/* eslint-enable camelcase */\n\n},{\"../lib/assign\":197,\"./ar_EG\":214,\"./cs_CZ\":215,\"./da_DK\":216,\"./de_DE\":217,\"./el_GR\":218,\"./en_AU\":219,\"./en_GB\":220,\"./en_IN\":221,\"./en_US\":222,\"./es_ES\":223,\"./es_XC\":224,\"./fi_FI\":225,\"./fr_CA\":226,\"./fr_FR\":227,\"./fr_XC\":228,\"./he_IL\":229,\"./hu_HU\":230,\"./id_ID\":231,\"./it_IT\":233,\"./ja_JP\":234,\"./ko_KR\":235,\"./nl_NL\":236,\"./no_NO\":237,\"./pl_PL\":238,\"./pt_BR\":239,\"./pt_PT\":240,\"./ru_RU\":241,\"./sk_SK\":242,\"./sv_SE\":243,\"./th_TH\":244,\"./zh_CN\":245,\"./zh_HK\":246,\"./zh_TW\":247,\"./zh_XC\":248}],233:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Pagamento con {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Scegli di pagare in un altro modo\",\n \"chooseAWayToPay\": \"Scegli come pagare\",\n \"otherWaysToPay\": \"Altri modi di pagare\",\n \"edit\": \"Modifica\",\n \"doneEditing\": \"Fine\",\n \"editPaymentMethods\": \"Modifica i metodi di pagamento\",\n \"CreditCardDeleteConfirmationMessage\": \"Eliminare la carta {{secondaryIdentifier}} le cui ultime cifre sono {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Eliminare il conto PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Vuoi eliminare il conto Venmo con nome utente {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Vuoi eliminare questo metodo di pagamento?\",\n \"deleteCancelButton\": \"Annulla\",\n \"deleteConfirmationButton\": \"Rimuovi\",\n \"fieldEmptyForCvv\": \"Immetti il codice di sicurezza (CVV).\",\n \"fieldEmptyForExpirationDate\": \"Immetti la data di scadenza.\",\n \"fieldEmptyForCardholderName\": \"Immetti il nome del titolare della carta.\",\n \"fieldTooLongForCardholderName\": \"Il nome del titolare della carta deve avere meno di 256 caratteri.\",\n \"fieldEmptyForNumber\": \"Immetti il numero di carta.\",\n \"fieldEmptyForPostalCode\": \"Immetti il CAP.\",\n \"fieldInvalidForCardholderName\": \"Il nome del titolare non è valido.\",\n \"fieldInvalidForCvv\": \"Il codice di sicurezza non è valido.\",\n \"fieldInvalidForExpirationDate\": \"La data di scadenza non è valida.\",\n \"fieldInvalidForNumber\": \"Il numero di carta non è valido.\",\n \"fieldInvalidForPostalCode\": \"Il CAP non è valido.\",\n \"genericError\": \"Si è verificato un errore nei nostri sistemi.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Questa carta di credito è già registrata come metodo di pagamento salvato.\",\n \"hostedFieldsFailedTokenizationError\": \"Controlla e riprova.\",\n \"hostedFieldsFieldsInvalidError\": \"Controlla e riprova.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Errore di rete. Riprova.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"La verifica della carta di credito non è andata a buon fine. Controlla i dati e riprova.\",\n \"paypalButtonMustBeUsed\": \"Usa il pulsante PayPal per procedere al pagamento.\",\n \"paypalAccountTokenizationFailedError\": \"Si è verificato un errore nel collegamento del conto PayPal. Riprova.\",\n \"paypalFlowFailedError\": \"Si è verificato un errore di connessione a PayPal. Riprova.\",\n \"paypalTokenizationRequestActiveError\": \"L'autorizzazione di pagamento PayPal è già in corso.\",\n \"venmoCanceledError\": \"Si è verificato un errore. Assicurati di avere la versione più recente dell'app Venmo installata sul tuo dispositivo e che il browser supporti l'uso di Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Impossibile eliminare il metodo di pagamento; riprova.\",\n \"venmoAppFailedError\": \"Impossibile trovare l'app Venmo sul dispositivo in uso.\",\n \"unsupportedCardTypeError\": \"Questo tipo di carta non è supportato. Prova con un'altra carta.\",\n \"applePayTokenizationError\": \"Si è verificato un errore di rete durante l'elaborazione del pagamento con Apple Pay. Riprova.\",\n \"applePayActiveCardError\": \"Collega una carta supportata al tuo Apple Pay Wallet.\",\n \"cardholderNameLabel\": \"Titolare della carta\",\n \"cardNumberLabel\": \"Numero di carta\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 cifre)\",\n \"cvvFourDigitLabelSubheading\": \"(4 cifre)\",\n \"cardholderNamePlaceholder\": \"Titolare della carta\",\n \"expirationDateLabel\": \"Data di scadenza\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"CAP\",\n \"saveCardLabel\": \"Salva carta\",\n \"payWithCard\": \"Paga con una carta\",\n \"endingIn\": \"Le cui ultime cifre sono {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Carta\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],234:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"{{paymentSource}}で支払う\",\n \"chooseAnotherWayToPay\": \"別の支払方法を選択する\",\n \"chooseAWayToPay\": \"支払方法を選択する\",\n \"otherWaysToPay\": \"その他の支払方法\",\n \"edit\": \"編集\",\n \"doneEditing\": \"完了\",\n \"editPaymentMethods\": \"支払方法の編集\",\n \"CreditCardDeleteConfirmationMessage\": \"末尾が{{identifier}}の{{secondaryIdentifier}}カードを削除しますか?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"PayPalアカウント{{identifier}}を削除しますか?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"ユーザー名{{identifier}}のVenmoアカウントを削除してよろしいですか?\",\n \"genericDeleteConfirmationMessage\": \"この支払い方法を削除してよろしいですか?\",\n \"deleteCancelButton\": \"キャンセル\",\n \"deleteConfirmationButton\": \"削除\",\n \"fieldEmptyForCvv\": \"セキュリティコードを入力してください。\",\n \"fieldEmptyForExpirationDate\": \"有効期限を入力してください。\",\n \"fieldEmptyForCardholderName\": \"カード保有者の名前を入力してください。\",\n \"fieldTooLongForCardholderName\": \"カード保有者の名前は256文字未満にしてください。\",\n \"fieldEmptyForNumber\": \"番号を入力してください。\",\n \"fieldEmptyForPostalCode\": \"郵便番号を入力してください。\",\n \"fieldInvalidForCardholderName\": \"このカード保有者の名前は無効です。\",\n \"fieldInvalidForCvv\": \"このセキュリティコードは無効です。\",\n \"fieldInvalidForExpirationDate\": \"この有効期限は無効です。\",\n \"fieldInvalidForNumber\": \"このカード番号は無効です。\",\n \"fieldInvalidForPostalCode\": \"この郵便番号は無効です。\",\n \"genericError\": \"弊社側で問題が発生しました。\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"このクレジットカードは、保存済みの支払方法としてすでに登録されています。\",\n \"hostedFieldsFailedTokenizationError\": \"情報を確認してもう一度お試しください。\",\n \"hostedFieldsFieldsInvalidError\": \"情報を確認してもう一度お試しください。\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"ネットワークエラーです。もう一度お試しください。\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"クレジットカードの認証に失敗しました。情報を確認してもう一度お試しください。\",\n \"paypalButtonMustBeUsed\": \"お客さまの支払いを続行するには、PayPalボタンを使用します。\",\n \"paypalAccountTokenizationFailedError\": \"PayPalアカウントの追加で問題が発生しました。もう一度お試しください。\",\n \"paypalFlowFailedError\": \"PayPalへの接続に問題が発生しました。もう一度お試しください。\",\n \"paypalTokenizationRequestActiveError\": \"PayPal支払いの承認はすでに処理中です。\",\n \"venmoCanceledError\": \"問題が発生しました。お客さまの端末にインストールされているVenmoアプリが最新のバージョンであること、お使いのブラウザがVenmoへの切り替えをサポートしていることを確認してください。\",\n \"vaultManagerPaymentMethodDeletionError\": \"支払方法を削除できません。もう一度お試しください。\",\n \"venmoAppFailedError\": \"お客さまの端末でVenmoアプリが見つかりませんでした。\",\n \"unsupportedCardTypeError\": \"このカードタイプはサポートされていません。別のカードをご使用ください。\",\n \"applePayTokenizationError\": \"Apple Payの支払いを処理する際にネットワークエラーが発生しました。もう一度お試しください。\",\n \"applePayActiveCardError\": \"Apple Payウォレットに対応しているカードを追加してください。\",\n \"cardholderNameLabel\": \"カード保有者の名前\",\n \"cardNumberLabel\": \"カード番号\",\n \"cvvLabel\": \"セキュリティコード\",\n \"cvvThreeDigitLabelSubheading\": \"(3桁)\",\n \"cvvFourDigitLabelSubheading\": \"(4桁)\",\n \"cardholderNamePlaceholder\": \"カード保有者の名前\",\n \"expirationDateLabel\": \"有効期限\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"郵便番号\",\n \"saveCardLabel\": \"カードを保存\",\n \"payWithCard\": \"カードで支払う\",\n \"endingIn\": \"末尾が{{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"カード\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"銀聯(UnionPay)\"\n};\n\n},{}],235:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"{{paymentSource}}(으)로 결제\",\n \"chooseAnotherWayToPay\": \"다른 결제수단 선택\",\n \"chooseAWayToPay\": \"결제수단 선택\",\n \"otherWaysToPay\": \"다른 방법으로 결제\",\n \"edit\": \"편집\",\n \"doneEditing\": \"완료\",\n \"editPaymentMethods\": \"결제수단 편집\",\n \"CreditCardDeleteConfirmationMessage\": \"끝번호가 {{identifier}}인 {{secondaryIdentifier}} 카드를 삭제하시겠어요?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"PayPal 계정 {{identifier}}을(를) 삭제하시겠어요?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"사용자 이름이 {{identifier}}인 Venmo 계정을 삭제하시겠어요?\",\n \"genericDeleteConfirmationMessage\": \"이 결제수단을 삭제하시겠어요?\",\n \"deleteCancelButton\": \"취소\",\n \"deleteConfirmationButton\": \"삭제\",\n \"fieldEmptyForCvv\": \"CVV를 입력하세요.\",\n \"fieldEmptyForExpirationDate\": \"만료일을 입력하세요.\",\n \"fieldEmptyForCardholderName\": \"카드 소유자 이름을 입력하세요.\",\n \"fieldTooLongForCardholderName\": \"카드 소유자 이름은 256자 미만이어야 합니다.\",\n \"fieldEmptyForNumber\": \"번호를 입력하세요.\",\n \"fieldEmptyForPostalCode\": \"우편번호를 입력하세요.\",\n \"fieldInvalidForCardholderName\": \"이 카드 소유자 이름은 유효하지 않습니다.\",\n \"fieldInvalidForCvv\": \"이 보안 코드가 올바르지 않습니다.\",\n \"fieldInvalidForExpirationDate\": \"이 만료일이 올바르지 않습니다.\",\n \"fieldInvalidForNumber\": \"이 카드 번호가 올바르지 않습니다.\",\n \"fieldInvalidForPostalCode\": \"이 우편번호가 올바르지 않습니다.\",\n \"genericError\": \"저희 쪽에 문제가 발생했습니다.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"저장된 결제수단에 이미 이 신용카드가 존재합니다.\",\n \"hostedFieldsFailedTokenizationError\": \"정보를 확인하고 다시 시도해 주세요.\",\n \"hostedFieldsFieldsInvalidError\": \"정보를 확인하고 다시 시도해 주세요.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"네트워크 오류가 발생했습니다. 다시 시도해 주세요.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"신용카드 인증에 실패했습니다. 정보를 확인하고 다시 시도해 주세요.\",\n \"paypalButtonMustBeUsed\": \"결제를 계속하려면 PayPal 버튼을 사용하세요.\",\n \"paypalAccountTokenizationFailedError\": \"PayPal 계정을 추가하는 동안 문제가 발생했습니다. 다시 시도해 주세요.\",\n \"paypalFlowFailedError\": \"PayPal 계정을 연결하는 동안 문제가 발생했습니다. 다시 시도해 주세요.\",\n \"paypalTokenizationRequestActiveError\": \"PayPal 결제 승인이 이미 진행 중입니다.\",\n \"venmoCanceledError\": \"오류가 발생했습니다. 기기에 최신 버전의 Venmo 앱이 설치되어 있으며 브라우저가 Venmo로 전환 기능을 지원하는지 확인하세요.\",\n \"vaultManagerPaymentMethodDeletionError\": \"결제수단을 삭제할 수 없습니다. 다시 시도해 주세요.\",\n \"venmoAppFailedError\": \"기기에서 Venmo 앱을 찾을 수 없습니다.\",\n \"unsupportedCardTypeError\": \"이 카드 형식은 지원되지 않습니다. 다른 카드로 시도해 주세요.\",\n \"applePayTokenizationError\": \"Apple Pay 결제를 처리하는 동안 네트워크 오류가 발생했습니다. 다시 시도해 주세요.\",\n \"applePayActiveCardError\": \"Apple Pay 전자지갑에 지원되는 카드를 추가하세요.\",\n \"cardholderNameLabel\": \"카드 소유자 이름\",\n \"cardNumberLabel\": \"카드 번호\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3자리)\",\n \"cvvFourDigitLabelSubheading\": \"(4자리)\",\n \"cardholderNamePlaceholder\": \"카드 소유자 이름\",\n \"expirationDateLabel\": \"만료일\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"우편번호\",\n \"saveCardLabel\": \"카드 저장\",\n \"payWithCard\": \"카드로 결제\",\n \"endingIn\": \"끝번호: {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"카드\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],236:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Betalen met {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Kies een andere betaalmethode\",\n \"chooseAWayToPay\": \"Kies een betaalwijze\",\n \"otherWaysToPay\": \"Andere manieren om te betalen\",\n \"edit\": \"Bewerk\",\n \"doneEditing\": \"Klaar\",\n \"editPaymentMethods\": \"Betaalmethoden aanpassen\",\n \"CreditCardDeleteConfirmationMessage\": \"{{secondaryIdentifier}}-kaart eindigend op {{identifier}} verwijderen?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"PayPal-rekening {{identifier}} verwijderen?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Weet u zeker dat u Venmo-rekening met gebruikersnaam {{identifier}} wilt verwijderen?\",\n \"genericDeleteConfirmationMessage\": \"Weet u zeker dat u deze betaalmethode wilt verwijderen?\",\n \"deleteCancelButton\": \"Annuleren\",\n \"deleteConfirmationButton\": \"Verwijderen\",\n \"fieldEmptyForCvv\": \"Vul een CSC in.\",\n \"fieldEmptyForExpirationDate\": \"Vul een vervaldatum in.\",\n \"fieldEmptyForCardholderName\": \"Vul een naam voor de kaarthouder in.\",\n \"fieldTooLongForCardholderName\": \"De naam van de kaarthouder moet korter zijn dan 256 tekens.\",\n \"fieldEmptyForNumber\": \"Vul een nummer in.\",\n \"fieldEmptyForPostalCode\": \"Vul een postcode in.\",\n \"fieldInvalidForCardholderName\": \"Naam kaarthouder is ongeldig.\",\n \"fieldInvalidForCvv\": \"Deze CSC is ongeldig.\",\n \"fieldInvalidForExpirationDate\": \"Deze vervaldatum is ongeldig.\",\n \"fieldInvalidForNumber\": \"Dit creditcardnummer is ongeldig.\",\n \"fieldInvalidForPostalCode\": \"Deze postcode is ongeldig.\",\n \"genericError\": \"Er is iets fout gegaan.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Deze creditcard staat al geregistreerd als een opgeslagen betaalmethode.\",\n \"hostedFieldsFailedTokenizationError\": \"Controleer uw gegevens en probeer het opnieuw.\",\n \"hostedFieldsFieldsInvalidError\": \"Controleer uw gegevens en probeer het opnieuw.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Netwerkfout. Probeer het opnieuw.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"De controle van de creditcard is mislukt. Controleer uw gegevens en probeer het opnieuw.\",\n \"paypalButtonMustBeUsed\": \"Gebruik de PayPal-knop om door te gaan met uw betaling.\",\n \"paypalAccountTokenizationFailedError\": \"Er is iets misgegaan bij het toevoegen van de PayPal-rekening. Probeer het opnieuw.\",\n \"paypalFlowFailedError\": \"Er is iets misgegaan bij de verbinding met PayPal. Probeer het opnieuw.\",\n \"paypalTokenizationRequestActiveError\": \"De autorisatie van de PayPal-betaling is al in behandeling.\",\n \"venmoCanceledError\": \"Er ging iets fout. Controleer of de meest recente versie van de Venmo-app op je apparaat is geïnstalleerd en dat je browser overschakelen naar Venmo ondersteunt.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Kan de betaalmethode niet verwijderen, probeer het opnieuw.\",\n \"venmoAppFailedError\": \"De Venmo-app is niet aangetroffen op je apparaat.\",\n \"unsupportedCardTypeError\": \"Dit type creditcard wordt niet ondersteund. Gebruik een andere creditcard.\",\n \"applePayTokenizationError\": \"Er is een netwerkfout opgetreden bij het verwerken van de Apple Pay-betaling. Probeer het opnieuw.\",\n \"applePayActiveCardError\": \"Voeg een ondersteunde creditcard toe aan je Apple Pay-wallet.\",\n \"cardholderNameLabel\": \"Naam kaarthouder\",\n \"cardNumberLabel\": \"Creditcardnummer\",\n \"cvvLabel\": \"CSC\",\n \"cvvThreeDigitLabelSubheading\": \"(3 cijfers)\",\n \"cvvFourDigitLabelSubheading\": \"(4 cijfers)\",\n \"cardholderNamePlaceholder\": \"Naam kaarthouder\",\n \"expirationDateLabel\": \"Vervaldatum\",\n \"expirationDateLabelSubheading\": \"(MM/JJ)\",\n \"expirationDatePlaceholder\": \"MM/JJ\",\n \"postalCodeLabel\": \"Postcode\",\n \"saveCardLabel\": \"Creditcard opslaan\",\n \"payWithCard\": \"Betalen met creditcard\",\n \"endingIn\": \"Eindigend op {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Creditcard\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],237:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Betaling med {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Velg en annen måte å betale på\",\n \"chooseAWayToPay\": \"Velg betalingsmåte\",\n \"otherWaysToPay\": \"Andre måter å betale på\",\n \"edit\": \"Rediger\",\n \"doneEditing\": \"Fullført\",\n \"editPaymentMethods\": \"Endre betalingsmetodene dine\",\n \"CreditCardDeleteConfirmationMessage\": \"Vil du slette {{secondaryIdentifier}}-kortet som slutter på {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Vil du slette PayPal-kontoen {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Er du sikker på at du vil slette Venmo-kontoen med brukernavnet {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Er du sikker på at du vil slette denne betalingsmetoden?\",\n \"deleteCancelButton\": \"Avbryt\",\n \"deleteConfirmationButton\": \"Slett\",\n \"fieldEmptyForCvv\": \"Oppgi en kortsikkerhetskode (CVV).\",\n \"fieldEmptyForExpirationDate\": \"Oppgi en utløpsdato.\",\n \"fieldEmptyForCardholderName\": \"Oppgi et navn for kortinnehaveren.\",\n \"fieldTooLongForCardholderName\": \"Makslengden for kortinnehaverens navn er 256 tegn.\",\n \"fieldEmptyForNumber\": \"Oppgi et nummer.\",\n \"fieldEmptyForPostalCode\": \"Oppgi et postnummer.\",\n \"fieldInvalidForCardholderName\": \"Denne kortinnehaverens navn er ikke gyldig.\",\n \"fieldInvalidForCvv\": \"Denne sikkerhetskoden er ikke gyldig.\",\n \"fieldInvalidForExpirationDate\": \"Denne utløpsdatoen er ikke gyldig.\",\n \"fieldInvalidForNumber\": \"Dette kortnummeret er ikke gyldig.\",\n \"fieldInvalidForPostalCode\": \"Dette postnummeret er ikke gyldig.\",\n \"genericError\": \"Noe gikk galt hos oss.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Dette betalingskortet eksisterer allerede som en lagret betalingsmetode.\",\n \"hostedFieldsFailedTokenizationError\": \"Kontroller informasjonen og prøv på nytt.\",\n \"hostedFieldsFieldsInvalidError\": \"Kontroller informasjonen og prøv på nytt.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Nettverksfeil. Prøv på nytt.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Bekreftelsen av betalingskortet mislyktes. Kontroller informasjonen og prøv på nytt.\",\n \"paypalButtonMustBeUsed\": \"Bruk PayPal-knappen for å fortsette med betalingen.\",\n \"paypalAccountTokenizationFailedError\": \"Noe gikk galt da PayPal-kontoen ble lagt til. Prøv på nytt.\",\n \"paypalFlowFailedError\": \"Det oppsto et problem med tilkoblingen til PayPal. Prøv på nytt.\",\n \"paypalTokenizationRequestActiveError\": \"Godkjenning av PayPal-betalingen pågår allerede\",\n \"venmoCanceledError\": \"Noe gikk galt. Kontroller at du har installert den nyeste versjonen av Venmo-appen på enheten og at nettleseren din støtter bytte til Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Kunne ikke slette betalingsmetoden. Prøv på nytt.\",\n \"venmoAppFailedError\": \"Finner ikke Venmo-appen på enheten.\",\n \"unsupportedCardTypeError\": \"Denne korttypen støttes ikke. Prøv med et annet kort.\",\n \"applePayTokenizationError\": \"Det oppsto en nettverksfeil under behandlingen av Apple Pay-betalingen. Prøv på nytt.\",\n \"applePayActiveCardError\": \"Legg til et kort som støttes i Apple Pay-lommeboken din.\",\n \"cardholderNameLabel\": \"Kortinnehaverens navn\",\n \"cardNumberLabel\": \"Kortnummer\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 siffer)\",\n \"cvvFourDigitLabelSubheading\": \"(4 siffer)\",\n \"cardholderNamePlaceholder\": \"Kortinnehaverens navn\",\n \"expirationDateLabel\": \"Utløpsdato\",\n \"expirationDateLabelSubheading\": \"(MM/ÅÅ)\",\n \"expirationDatePlaceholder\": \"MM/ÅÅ\",\n \"postalCodeLabel\": \"Postnummer\",\n \"saveCardLabel\": \"Lagre kort\",\n \"payWithCard\": \"Betal med kort\",\n \"endingIn\": \"Slutter på {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Kort\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],238:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Źródło finansowania płatności: {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Wybierz inne źródło finansowania płatności\",\n \"chooseAWayToPay\": \"Wybierz źródło finansowania płatności\",\n \"otherWaysToPay\": \"Inne źródła finansowania płatności\",\n \"edit\": \"Edytuj\",\n \"doneEditing\": \"Gotowe\",\n \"editPaymentMethods\": \"Edytuj źródła finansowania płatności\",\n \"CreditCardDeleteConfirmationMessage\": \"Usunąć kartę {{secondaryIdentifier}} o numerze zakończonym cyframi {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Usunąć konto PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Czy na pewno chcesz usunąć konto Venmo z nazwą użytkownika {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Czy na pewno chcesz usunąć to źródło finansowania płatności?\",\n \"deleteCancelButton\": \"Anuluj\",\n \"deleteConfirmationButton\": \"Usuń\",\n \"fieldEmptyForCvv\": \"Podaj kod bezpieczeństwa.\",\n \"fieldEmptyForExpirationDate\": \"Podaj datę ważności.\",\n \"fieldEmptyForCardholderName\": \"Podaj imię i nazwisko posiadacza karty.\",\n \"fieldTooLongForCardholderName\": \"Imię i nazwisko posiadacza karty musi mieć mniej niż 256 znaków.\",\n \"fieldEmptyForNumber\": \"Podaj numer.\",\n \"fieldEmptyForPostalCode\": \"Podaj kod pocztowy.\",\n \"fieldInvalidForCardholderName\": \"To imię i nazwisko posiadacza karty jest nieprawidłowe.\",\n \"fieldInvalidForCvv\": \"Podany kod bezpieczeństwa jest nieprawidłowy.\",\n \"fieldInvalidForExpirationDate\": \"Podana data ważności jest nieprawidłowa.\",\n \"fieldInvalidForNumber\": \"Podany numer karty jest nieprawidłowy.\",\n \"fieldInvalidForPostalCode\": \"Podany kod pocztowy jest nieprawidłowy.\",\n \"genericError\": \"Wystąpił błąd po naszej stronie.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Ta karta kredytowa jest już zapisana jako źródło finansowania płatności.\",\n \"hostedFieldsFailedTokenizationError\": \"Sprawdź swoje informacje i spróbuj ponownie.\",\n \"hostedFieldsFieldsInvalidError\": \"Sprawdź swoje informacje i spróbuj ponownie.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Błąd sieci. Spróbuj ponownie.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Weryfikacja karty kredytowej nie powiodła się. Sprawdź swoje informacje i spróbuj ponownie.\",\n \"paypalButtonMustBeUsed\": \"Użyj przycisku PayPal, aby kontynuować płatność.\",\n \"paypalAccountTokenizationFailedError\": \"Coś poszło nie tak podczas dodawania konta PayPal. Spróbuj ponownie.\",\n \"paypalFlowFailedError\": \"Coś poszło nie tak podczas łączenia z systemem PayPal. Spróbuj ponownie.\",\n \"paypalTokenizationRequestActiveError\": \"Autoryzacja płatności PayPal jest już w trakcie realizacji.\",\n \"venmoCanceledError\": \"Wystąpił problem. Upewnij się, czy na swoim urządzeniu masz zainstalowaną najnowszą wersję aplikacji Venmo i Twoja przeglądarka ją obsługuje.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Nie można usunąć źródła finansowania płatności. Spróbuj ponownie.\",\n \"venmoAppFailedError\": \"Nie można odnaleźć aplikacji Venmo na urządzeniu.\",\n \"unsupportedCardTypeError\": \"Ten typ karty nie jest obsługiwany. Spróbuj użyć innej karty.\",\n \"applePayTokenizationError\": \"Wystąpił błąd sieci podczas przetwarzania płatności Apple Pay. Spróbuj ponownie.\",\n \"applePayActiveCardError\": \"Dodaj obsługiwaną kartę do portfela Apple Pay.\",\n \"cardholderNameLabel\": \"Imię i nazwisko posiadacza karty\",\n \"cardNumberLabel\": \"Numer karty\",\n \"cvvLabel\": \"Kod CVC\",\n \"cvvThreeDigitLabelSubheading\": \"(3 cyfry)\",\n \"cvvFourDigitLabelSubheading\": \"(4 cyfry)\",\n \"cardholderNamePlaceholder\": \"Imię i nazwisko posiadacza karty\",\n \"expirationDateLabel\": \"Data ważności\",\n \"expirationDateLabelSubheading\": \"(MM/RR)\",\n \"expirationDatePlaceholder\": \"MM/RR\",\n \"postalCodeLabel\": \"Kod pocztowy\",\n \"saveCardLabel\": \"Zapisz kartę\",\n \"payWithCard\": \"Zapłać kartą\",\n \"endingIn\": \"O numerze zakończonym cyframi {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Karta\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],239:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Pagando com {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Escolher outro meio de pagamento\",\n \"chooseAWayToPay\": \"Escolher um meio de pagamento\",\n \"otherWaysToPay\": \"Outro meio de pagamento\",\n \"edit\": \"Editar\",\n \"doneEditing\": \"Concluído\",\n \"editPaymentMethods\": \"Editar meios de pagamento\",\n \"CreditCardDeleteConfirmationMessage\": \"Excluir cartão com {{secondaryIdentifier}} com final {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Excluir conta do PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Tem certeza de que deseja excluir a conta do Venmo com o nome de usuário {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Tem certeza de que deseja excluir este meio de pagamento?\",\n \"deleteCancelButton\": \"Cancelar\",\n \"deleteConfirmationButton\": \"Excluir\",\n \"fieldEmptyForCvv\": \"Informe o Código de Segurança.\",\n \"fieldEmptyForExpirationDate\": \"Informe a data de vencimento.\",\n \"fieldEmptyForCardholderName\": \"Informe o nome do titular do cartão.\",\n \"fieldTooLongForCardholderName\": \"O nome do titular do cartão deve ter menos de 256 caracteres.\",\n \"fieldEmptyForNumber\": \"Informe um número.\",\n \"fieldEmptyForPostalCode\": \"Informe um CEP.\",\n \"fieldInvalidForCardholderName\": \"O nome do titular do cartão é inválido.\",\n \"fieldInvalidForCvv\": \"Este código de segurança não é válido.\",\n \"fieldInvalidForExpirationDate\": \"Esta data de vencimento não é válida.\",\n \"fieldInvalidForNumber\": \"O número do cartão não é válido.\",\n \"fieldInvalidForPostalCode\": \"Este CEP não é válido.\",\n \"genericError\": \"Ocorreu um erro.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Este cartão de crédito já está salvo em seus meios de pagamento.\",\n \"hostedFieldsFailedTokenizationError\": \"Verifique as informações e tente novamente.\",\n \"hostedFieldsFieldsInvalidError\": \"Verifique as informações e tente novamente.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Erro de rede. Tente novamente.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Falha ao verificar o cartão de crédito. Verifique as informações e tente novamente.\",\n \"paypalButtonMustBeUsed\": \"Use o botão do PayPal para prosseguir com o seu pagamento.\",\n \"paypalAccountTokenizationFailedError\": \"Ocorreu um erro ao adicionar a conta do PayPal. Tente novamente.\",\n \"paypalFlowFailedError\": \"Ocorreu um erro de conexão com o PayPal. Tente novamente.\",\n \"paypalTokenizationRequestActiveError\": \"A autorização de pagamento do PayPal já está em andamento.\",\n \"venmoCanceledError\": \"Ocorreu um erro. Certifique-se de ter a versão mais recente do aplicativo Venmo instalado no seu dispositivo e que o seu navegador suporte a mudança para o Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Não é possível excluir o meio de pagamento, tente novamente.\",\n \"venmoAppFailedError\": \"Não foi possível encontrar o aplicativo Venmo no seu dispositivo.\",\n \"unsupportedCardTypeError\": \"Este tipo de cartão não é aceito. Experimente outro cartão.\",\n \"applePayTokenizationError\": \"Ocorreu um erro de rede ao processar o pagamento com Apple Pay. Tente novamente.\",\n \"applePayActiveCardError\": \"Adicione cartão suportado à sua carteira do Apple Pay.\",\n \"cardholderNameLabel\": \"Nome do titular do cartão\",\n \"cardNumberLabel\": \"Número do cartão\",\n \"cvvLabel\": \"CSC\",\n \"cvvThreeDigitLabelSubheading\": \"(3 dígitos)\",\n \"cvvFourDigitLabelSubheading\": \"(4 dígitos)\",\n \"cardholderNamePlaceholder\": \"Nome do titular do cartão\",\n \"expirationDateLabel\": \"Data de vencimento\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"CEP\",\n \"saveCardLabel\": \"Salvar cartão\",\n \"payWithCard\": \"Pague com seu cartão\",\n \"endingIn\": \"Com final {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Cartão\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],240:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Pagar com {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Escolher outra forma de pagamento\",\n \"chooseAWayToPay\": \"Escolha um meio de pagamento\",\n \"otherWaysToPay\": \"Outras formas de pagamento\",\n \"edit\": \"Editar\",\n \"doneEditing\": \"Concluído\",\n \"editPaymentMethods\": \"Editar meios de pagamento\",\n \"CreditCardDeleteConfirmationMessage\": \"Eliminar o cartão {{secondaryIdentifier}} terminado em {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Eliminar {{identifier}} da conta PayPal?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Tem a certeza de que pretende eliminar a conta Venmo com o nome de utilizador {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Tem certeza de que pretende eliminar este meio de pagamento?\",\n \"deleteCancelButton\": \"Cancelar\",\n \"deleteConfirmationButton\": \"Eliminar\",\n \"fieldEmptyForCvv\": \"Introduza o código CVV.\",\n \"fieldEmptyForExpirationDate\": \"Introduza a data de validade.\",\n \"fieldEmptyForCardholderName\": \"Introduza um nome do titular do cartão.\",\n \"fieldTooLongForCardholderName\": \"O nome do titular do cartão tem de ter menos de 256 carateres.\",\n \"fieldEmptyForNumber\": \"Introduza um número.\",\n \"fieldEmptyForPostalCode\": \"Introduza o código postal.\",\n \"fieldInvalidForCardholderName\": \"Este nome do titular do cartão não é válido.\",\n \"fieldInvalidForCvv\": \"Este código de segurança não é válido.\",\n \"fieldInvalidForExpirationDate\": \"Esta data de validade não é correta.\",\n \"fieldInvalidForNumber\": \"Este número de cartão não é válido.\",\n \"fieldInvalidForPostalCode\": \"Este código postal não é válido.\",\n \"genericError\": \"Tudo indica que houve um problema.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Este cartão de crédito já está registado como um meio de pagamento guardado.\",\n \"hostedFieldsFailedTokenizationError\": \"Verifique os dados e tente novamente.\",\n \"hostedFieldsFieldsInvalidError\": \"Verifique os dados e tente novamente.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Erro de rede. Tente novamente.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"A verificação do cartão de crédito falhou. Verifique os dados e tente novamente.\",\n \"paypalButtonMustBeUsed\": \"Use o botão PayPal para continuar com o seu pagamento.\",\n \"paypalAccountTokenizationFailedError\": \"Ocorreu um erro ao associar a conta PayPal. Tente novamente.\",\n \"paypalFlowFailedError\": \"Ocorreu um erro na ligação com PayPal. Tente novamente.\",\n \"paypalTokenizationRequestActiveError\": \"Já há uma autorização de pagamento PayPal em curso.\",\n \"venmoCanceledError\": \"Ocorreu um erro. Certifique-se de que tem a versão mais recente da aplicação Venmo instalada no seu dispositivo e que o navegador suporta a mudança para o Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Não é possível eliminar o meio de pagamento, tente novamente.\",\n \"venmoAppFailedError\": \"Não foi possível encontrar a aplicação Venmo no dispositivo.\",\n \"unsupportedCardTypeError\": \"Este tipo de cartão não é suportado. Tente usar outro cartão.\",\n \"applePayTokenizationError\": \"Ocorreu um erro de rede ao processar o pagamento com Apple Pay. Tente novamente.\",\n \"applePayActiveCardError\": \"Adicione um cartão suportado à sua carteira Apple Pay.\",\n \"cardholderNameLabel\": \"Nome do titular do cartão\",\n \"cardNumberLabel\": \"Número do cartão\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 dígitos)\",\n \"cvvFourDigitLabelSubheading\": \"(4 dígitos)\",\n \"cardholderNamePlaceholder\": \"Nome do titular do cartão\",\n \"expirationDateLabel\": \"Data de validade\",\n \"expirationDateLabelSubheading\": \"(MM/AA)\",\n \"expirationDatePlaceholder\": \"MM/AA\",\n \"postalCodeLabel\": \"Código postal\",\n \"saveCardLabel\": \"Guardar cartão\",\n \"payWithCard\": \"Pagar com cartão\",\n \"endingIn\": \"Terminado em {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Cartão\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],241:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Способы оплаты: {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Выберите другой способ оплаты\",\n \"chooseAWayToPay\": \"Выберите способ оплаты\",\n \"otherWaysToPay\": \"Другие способы оплаты\",\n \"edit\": \"Редактировать\",\n \"doneEditing\": \"Готово\",\n \"editPaymentMethods\": \"Редактировать способы оплаты\",\n \"CreditCardDeleteConfirmationMessage\": \"Удалить карту {{secondaryIdentifier}}, оканчивающуюся на {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Удалить счет PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Вы действительно хотите удалить счет Venmo с именем пользователя {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Вы действительно хотите удалить этот способ оплаты?\",\n \"deleteCancelButton\": \"Отмена\",\n \"deleteConfirmationButton\": \"Удалить\",\n \"fieldEmptyForCvv\": \"Укажите код безопасности.\",\n \"fieldEmptyForExpirationDate\": \"Укажите дату окончания срока действия.\",\n \"fieldEmptyForCardholderName\": \"Введите имя и фамилию владельца карты.\",\n \"fieldTooLongForCardholderName\": \"Имя владельца карты должно содержать не более 256 символов.\",\n \"fieldEmptyForNumber\": \"Введите номер.\",\n \"fieldEmptyForPostalCode\": \"Укажите почтовый индекс.\",\n \"fieldInvalidForCardholderName\": \"Недопустимое имя владельца карты.\",\n \"fieldInvalidForCvv\": \"Этот код безопасности недействителен.\",\n \"fieldInvalidForExpirationDate\": \"Эта дата окончания срока действия недействительна.\",\n \"fieldInvalidForNumber\": \"Этот номер карты недействителен.\",\n \"fieldInvalidForPostalCode\": \"Этот почтовый индекс недействителен.\",\n \"genericError\": \"Возникла проблема с нашей стороны.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Эта кредитная карта уже указана как сохраненный источник средств.\",\n \"hostedFieldsFailedTokenizationError\": \"Проверьте правильность ввода данных и повторите попытку.\",\n \"hostedFieldsFieldsInvalidError\": \"Проверьте правильность ввода данных и повторите попытку.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Ошибка сети. Повторите попытку.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Проверка банковской карты не выполнена. Проверьте правильность ввода данных и повторите попытку.\",\n \"paypalButtonMustBeUsed\": \"Используйте кнопку PayPal, чтобы продолжить совершение оплаты.\",\n \"paypalAccountTokenizationFailedError\": \"Что-то пошло не так — не удалось добавить учетную запись PayPal. Повторите попытку.\",\n \"paypalFlowFailedError\": \"Что-то пошло не так — не удалось подключиться к системе PayPal. Повторите попытку.\",\n \"paypalTokenizationRequestActiveError\": \"Выполняется авторизация платежа PayPal.\",\n \"venmoCanceledError\": \"Возникла ошибка. Просим вас убедиться, что у вас установлена новейшая версия приложения Venmo и ваш браузер поддерживает переключение к Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Не удалось удалить способ оплаты. Повторите попытку.\",\n \"venmoAppFailedError\": \"Приложение Venmo не обнаружено на вашем устройстве.\",\n \"unsupportedCardTypeError\": \"Этот тип карты не поддерживается. Попробуйте воспользоваться другой картой.\",\n \"applePayTokenizationError\": \"При обработке платежа через Apple Pay возникла сетевая ошибка. Повторите попытку.\",\n \"applePayActiveCardError\": \"Добавьте поддерживаемую карту к своему счету Apple Pay.\",\n \"cardholderNameLabel\": \"Имя и фамилия владельца\",\n \"cardNumberLabel\": \"Номер карты\",\n \"cvvLabel\": \"Код безопасности\",\n \"cvvThreeDigitLabelSubheading\": \"(3 цифры)\",\n \"cvvFourDigitLabelSubheading\": \"(4 цифры)\",\n \"cardholderNamePlaceholder\": \"Имя и фамилия владельца\",\n \"expirationDateLabel\": \"Срок действия\",\n \"expirationDateLabelSubheading\": \"(ММ/ГГ)\",\n \"expirationDatePlaceholder\": \"ММ/ГГ\",\n \"postalCodeLabel\": \"Индекс\",\n \"saveCardLabel\": \"Сохранить карту\",\n \"payWithCard\": \"Оплатить картой\",\n \"endingIn\": \"Последние четыре цифры номера карты: {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Карта\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],242:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Spôsob úhrady: {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Vyberte iný spôsob platby\",\n \"chooseAWayToPay\": \"Vyberte spôsob platby\",\n \"otherWaysToPay\": \"Iné spôsoby platby\",\n \"edit\": \"Upraviť\",\n \"doneEditing\": \"Hotovo\",\n \"editPaymentMethods\": \"Upraviť spôsoby platby\",\n \"CreditCardDeleteConfirmationMessage\": \"Odstrániť kartu {{secondaryIdentifier}} končiacu na {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Odstrániť účet PayPal {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Naozaj chcete odstrániť účet Venmo s menom používateľa {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Ste si istí, že chcete tento spôsob platby odstrániť?\",\n \"deleteCancelButton\": \"Zrušiť\",\n \"deleteConfirmationButton\": \"Odstrániť\",\n \"fieldEmptyForCvv\": \"Zadajte číslo CVV.\",\n \"fieldEmptyForExpirationDate\": \"Zadajte dátum skončenia platnosti.\",\n \"fieldEmptyForCardholderName\": \"Zadajte meno majiteľa karty.\",\n \"fieldTooLongForCardholderName\": \"Meno majiteľa karty musí obsahovať menej ako 256 znakov.\",\n \"fieldEmptyForNumber\": \"Zadajte číslo.\",\n \"fieldEmptyForPostalCode\": \"Zadajte PSČ.\",\n \"fieldInvalidForCardholderName\": \"Toto meno majiteľa karty je neplatné.\",\n \"fieldInvalidForCvv\": \"Tento bezpečnostný kód je neplatný.\",\n \"fieldInvalidForExpirationDate\": \"Tento dátum skončenia platnosti je neplatný.\",\n \"fieldInvalidForNumber\": \"Toto číslo karty je neplatné.\",\n \"fieldInvalidForPostalCode\": \"Toto PSČ je neplatné.\",\n \"genericError\": \"Vyskytla sa chyba na našej strane.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Táto kreditná karta už existuje ako uložená metóda platby.\",\n \"hostedFieldsFailedTokenizationError\": \"Skontrolujte údaje a skúste to znova.\",\n \"hostedFieldsFieldsInvalidError\": \"Skontrolujte údaje a skúste to znova.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Chyba v sieti. Skúste to znova.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Overenie kreditnej karty nebolo úspešné. Skontrolujte údaje a skúste to znova.\",\n \"paypalButtonMustBeUsed\": \"Ak chcete pokračovať v platbe, použite tlačidlo PayPal.\",\n \"paypalAccountTokenizationFailedError\": \"Vyskytla sa chyba pri pridávaní účtu PayPal. Skúste to znova.\",\n \"paypalFlowFailedError\": \"Vyskytla sa chyba pri pripájaní do účtu PayPal. Skúste to znova.\",\n \"paypalTokenizationRequestActiveError\": \"Autorizácia platby PayPal už prebieha.\",\n \"venmoCanceledError\": \"Vyskytla sa chyba. Skontrolujte, či máte v zariadení nainštalovanú najnovšiu verziu aplikácie Venmo a či prehliadač podporuje prechod na aplikáciu Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Nebolo možné odstrániť spôsob platby, skúste to znova.\",\n \"venmoAppFailedError\": \"Aplikáciu Venmo sa vo vašom zariadení nepodarilo nájsť.\",\n \"unsupportedCardTypeError\": \"Tento typ karty nie je podporovaný. Skúste inú kartu.\",\n \"applePayTokenizationError\": \"Počas spracúvania platby cez Apple Pay došlo k chybe siete. Skúste to znova.\",\n \"applePayActiveCardError\": \"Pridajte si podporovanú kartu do peňaženky Apple Pay.\",\n \"cardholderNameLabel\": \"Meno majiteľa karty\",\n \"cardNumberLabel\": \"Číslo karty\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 číslice)\",\n \"cvvFourDigitLabelSubheading\": \"(4 číslice)\",\n \"cardholderNamePlaceholder\": \"Meno majiteľa karty\",\n \"expirationDateLabel\": \"Dátum skončenia platnosti\",\n \"expirationDateLabelSubheading\": \"(MM/RR)\",\n \"expirationDatePlaceholder\": \"MM/RR\",\n \"postalCodeLabel\": \"PSČ\",\n \"saveCardLabel\": \"Uložiť kartu\",\n \"payWithCard\": \"Zaplatiť kartou\",\n \"endingIn\": \"S posledným štvorčíslím {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Karta\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],243:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"Betalas med {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"Välj ett annat sätt att betala\",\n \"chooseAWayToPay\": \"Välj hur du vill betala\",\n \"otherWaysToPay\": \"Andra sätt att betala\",\n \"edit\": \"Ändra\",\n \"doneEditing\": \"Klart\",\n \"editPaymentMethods\": \"Redigera betalningsmetoder\",\n \"CreditCardDeleteConfirmationMessage\": \"Ta bort {{secondaryIdentifier}}-kort som slutar på {{identifier}}?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"Ta bort PayPal-konto {{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"Är du säker på att du vill ta bort Venmo-konto med användarnamn {{identifier}}?\",\n \"genericDeleteConfirmationMessage\": \"Är du säker på att du vill ta bort den här betalningsmetoden?\",\n \"deleteCancelButton\": \"Avbryt\",\n \"deleteConfirmationButton\": \"Ta bort\",\n \"fieldEmptyForCvv\": \"Fyll i en CVV-kod.\",\n \"fieldEmptyForExpirationDate\": \"Fyll i ett utgångsdatum.\",\n \"fieldEmptyForCardholderName\": \"Fyll i kortinnehavarens namn.\",\n \"fieldTooLongForCardholderName\": \"Kortinnehavarens namn måste vara kortare än 256 tecken.\",\n \"fieldEmptyForNumber\": \"Fyll i ett nummer.\",\n \"fieldEmptyForPostalCode\": \"Fyll i ett postnummer.\",\n \"fieldInvalidForCardholderName\": \"Namnet på kortinnehavaren är ogiltigt.\",\n \"fieldInvalidForCvv\": \"Den här säkerhetskoden är inte giltig.\",\n \"fieldInvalidForExpirationDate\": \"Det här utgångsdatumet är inte giltigt.\",\n \"fieldInvalidForNumber\": \"Det här kortnumret är inte giltigt.\",\n \"fieldInvalidForPostalCode\": \"Det här postnumret är inte giltigt.\",\n \"genericError\": \"Ett fel uppstod.\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"Det här betalkortet finns redan som en sparad betalningsmetod.\",\n \"hostedFieldsFailedTokenizationError\": \"Kontrollera uppgifterna och försök igen.\",\n \"hostedFieldsFieldsInvalidError\": \"Kontrollera uppgifterna och försök igen.\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"Nätverksfel. Försök igen.\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"Verifieringen av betalkort misslyckades. Kontrollera uppgifterna och försök igen.\",\n \"paypalButtonMustBeUsed\": \"Använd PayPal-knappen för att fortsätta med din betalning.\",\n \"paypalAccountTokenizationFailedError\": \"Ett fel uppstod när PayPal-kontot skulle läggas till. Försök igen.\",\n \"paypalFlowFailedError\": \"Ett fel uppstod när anslutningen till PayPal skulle upprättas. Försök igen.\",\n \"paypalTokenizationRequestActiveError\": \"Betalningsgodkännandet för PayPal behandlas redan.\",\n \"venmoCanceledError\": \"Något gick fel. Se till att du har den senaste versionen av Venmo-appen installerad på din enhet och att webbläsaren stöder att gå över till Venmo.\",\n \"vaultManagerPaymentMethodDeletionError\": \"Det gick inte att ta bort betalningsmetoden. Försök igen.\",\n \"venmoAppFailedError\": \"Venmo-appen kunde inte hittas på din enhet.\",\n \"unsupportedCardTypeError\": \"Den här korttypen stöds inte. Pröva med ett annat kort.\",\n \"applePayTokenizationError\": \"Ett nätverksfel inträffade när Apple Pay-betalningen skulle behandlas. Försök igen.\",\n \"applePayActiveCardError\": \"Lägg till ett kort som stöds i Apple Pay-e-plånboken.\",\n \"cardholderNameLabel\": \"Kortinnehavarens namn\",\n \"cardNumberLabel\": \"Kortnummer\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 siffror)\",\n \"cvvFourDigitLabelSubheading\": \"(4 siffror)\",\n \"cardholderNamePlaceholder\": \"Kortinnehavarens namn\",\n \"expirationDateLabel\": \"Utgångsdatum\",\n \"expirationDateLabelSubheading\": \"(MM/ÅÅ)\",\n \"expirationDatePlaceholder\": \"MM/ÅÅ\",\n \"postalCodeLabel\": \"Postnummer\",\n \"saveCardLabel\": \"Spara kort\",\n \"payWithCard\": \"Betala med kort\",\n \"endingIn\": \"Slutar på {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"Kort\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],244:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"การชำระเงินด้วย {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"เลือกวิธีอื่นเพื่อชำระเงิน\",\n \"chooseAWayToPay\": \"เลือกวิธีชำระเงิน\",\n \"otherWaysToPay\": \"วิธีอื่นๆ ในการชำระเงิน\",\n \"edit\": \"แก้ไข\",\n \"doneEditing\": \"เสร็จแล้ว\",\n \"editPaymentMethods\": \"แก้ไขวิธีการชำระเงิน\",\n \"CreditCardDeleteConfirmationMessage\": \"ลบบัตร {{secondaryIdentifier }} ที่ลงท้ายด้วย {{identifier}} หรือไม่\",\n \"PayPalAccountDeleteConfirmationMessage\": \"ลบ {{identifier}} บัญชี PayPal หรือไม่\",\n \"VenmoAccountDeleteConfirmationMessage\": \"คุณมั่นใจว่าต้องการลบบัญชี Venmo ที่มีชื่อผู้ใช้ {{identifier}} หรือไม่\",\n \"genericDeleteConfirmationMessage\": \"คุณมั่นใจว่าต้องการลบวิธีการชำระเงินนี้หรือไม่\",\n \"deleteCancelButton\": \"ยกเลิก\",\n \"deleteConfirmationButton\": \"ลบ\",\n \"fieldEmptyForCvv\": \"โปรดกรอก CVV (รหัสการตรวจสอบยืนยันบัตร)\",\n \"fieldEmptyForExpirationDate\": \"โปรดกรอกวันที่หมดอายุ\",\n \"fieldEmptyForCardholderName\": \"โปรดกรอกชื่อเจ้าของบัตร\",\n \"fieldTooLongForCardholderName\": \"ชื่อผู้ถือบัตรจะต้องไม่เกิน 256 อักขระ\",\n \"fieldEmptyForNumber\": \"โปรดกรอกหมายเลข\",\n \"fieldEmptyForPostalCode\": \"โปรดกรอกรหัสไปรษณีย์\",\n \"fieldInvalidForCardholderName\": \"ชื่อผู้ถือบัตรนี้ไม่ถูกต้องชื่อผู้ถือบัตรนี้ไม่ถูกต้อง\",\n \"fieldInvalidForCvv\": \"รหัสความปลอดภัยนี้ไม่ถูกต้อง\",\n \"fieldInvalidForExpirationDate\": \"วันที่หมดอายุนี้ไม่ถูกต้อง\",\n \"fieldInvalidForNumber\": \"หมายเลขบัตรนี้ไม่ถูกต้อง\",\n \"fieldInvalidForPostalCode\": \"รหัสไปรษณีย์นี้ไม่ถูกต้อง\",\n \"genericError\": \"เกิดข้อผิดพลาดขึ้นในระบบของเรา\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"บัตรเครดิตนี้ถูกบันทึกไว้เป็นวิธีการชำระเงิน\",\n \"hostedFieldsFailedTokenizationError\": \"โปรดตรวจสอบข้อมูลของคุณ แล้วลองใหม่อีกครั้ง\",\n \"hostedFieldsFieldsInvalidError\": \"โปรดตรวจสอบข้อมูลของคุณ แล้วลองใหม่อีกครั้ง\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"ข้อผิดพลาดด้านเครือข่าย โปรดลองอีกครั้ง\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"การตรวจสอบยืนยันบัตรเครดิตล้มเหลว โปรดตรวจสอบข้อมูลของคุณ แล้วลองใหม่อีกครั้ง\",\n \"paypalButtonMustBeUsed\": \"ใช้ปุ่ม PayPal เพื่อดำเนินการชำระเงินต่อ\",\n \"paypalAccountTokenizationFailedError\": \"เกิดข้อผิดพลาดในการเพิ่มบัญชี PayPal โปรดลองอีกครั้ง\",\n \"paypalFlowFailedError\": \"เกิดข้อผิดพลาดในการเชื่อมต่อกับ PayPal โปรดลองอีกครั้ง\",\n \"paypalTokenizationRequestActiveError\": \"การอนุญาตการชำระเงินของ PayPal อยู่ในระหว่างดำเนินการ\",\n \"venmoCanceledError\": \"เกิดข้อผิดพลาดบางประการ ตรวจสอบว่าคุณมีแอป Venmo เวอร์ชันล่าสุดติดตั้งในอุปกรณ์ของคุณ และมีเบราเซอร์ที่รองรับ Venmo\",\n \"vaultManagerPaymentMethodDeletionError\": \"ไม่สามารถลบวิธีการชำระเงินได้ ลองอีกครั้ง\",\n \"venmoAppFailedError\": \"ไม่พบแอป Venmo บนอุปกรณ์ของคุณ\",\n \"unsupportedCardTypeError\": \"ไม่รองรับบัตรประเภทนี้ โปรดลองใช้บัตรใบอื่น\",\n \"applePayTokenizationError\": \"เกิดข้อผิดพลาดด้านเครือข่ายขึ้นขณะดำเนินการชำระเงินด้วย Apple Pay โปรดลองอีกครั้ง\",\n \"applePayActiveCardError\": \"เพิ่มบัตรที่รองรับในกระเป๋าสตางค์ Apple Pay ของคุณ\",\n \"cardholderNameLabel\": \"ชื่อเจ้าของบัตร\",\n \"cardNumberLabel\": \"หมายเลขบัตร\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 หลัก)\",\n \"cvvFourDigitLabelSubheading\": \"(4 หลัก)\",\n \"cardholderNamePlaceholder\": \"ชื่อเจ้าของบัตร\",\n \"expirationDateLabel\": \"วันหมดอายุ\",\n \"expirationDateLabelSubheading\": \"(ดด/ปป)\",\n \"expirationDatePlaceholder\": \"ดด/ปป\",\n \"postalCodeLabel\": \"รหัสไปรษณีย์\",\n \"saveCardLabel\": \"บันทึกบัตร\",\n \"payWithCard\": \"ชำระเงินด้วยบัตร\",\n \"endingIn\": \"ลงท้ายด้วย {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"บัตร\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],245:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"正在使用{{paymentSource}}付款\",\n \"chooseAnotherWayToPay\": \"选择其他付款方式\",\n \"chooseAWayToPay\": \"选择付款方式\",\n \"otherWaysToPay\": \"其他付款方式\",\n \"edit\": \"编辑\",\n \"doneEditing\": \"完成\",\n \"editPaymentMethods\": \"编辑付款方式\",\n \"CreditCardDeleteConfirmationMessage\": \"删除尾号为{{identifier}}的{{secondaryIdentifier}}卡?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"删除PayPal账户{{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"确定要删除用户名为{{identifier}}的Venmo账户吗?\",\n \"genericDeleteConfirmationMessage\": \"确定要删除该付款方式吗?\",\n \"deleteCancelButton\": \"取消\",\n \"deleteConfirmationButton\": \"删除\",\n \"fieldEmptyForCvv\": \"请填写CVV。\",\n \"fieldEmptyForExpirationDate\": \"请填写有效期限。\",\n \"fieldEmptyForCardholderName\": \"请填写持卡人的姓名。\",\n \"fieldTooLongForCardholderName\": \"持卡人姓名必须少于256个字符。\",\n \"fieldEmptyForNumber\": \"请填写一个号码。\",\n \"fieldEmptyForPostalCode\": \"请填写邮政编码。\",\n \"fieldInvalidForCardholderName\": \"此持卡人姓名无效。\",\n \"fieldInvalidForCvv\": \"此安全代码无效。\",\n \"fieldInvalidForExpirationDate\": \"此有效期限无效。\",\n \"fieldInvalidForNumber\": \"此卡号无效。\",\n \"fieldInvalidForPostalCode\": \"此邮政编码无效。\",\n \"genericError\": \"我们遇到了一些问题\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"此信用卡已作为保存后的付款方式存在。\",\n \"hostedFieldsFailedTokenizationError\": \"请检查您的信息,然后重试。\",\n \"hostedFieldsFieldsInvalidError\": \"请检查您的信息,然后重试。\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"网络错误。请重试。\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"信用卡验证失败。请检查您的信息,然后重试。\",\n \"paypalButtonMustBeUsed\": \"使用PayPal按钮继续进行付款。\",\n \"paypalAccountTokenizationFailedError\": \"添加PayPal账户时出错。请重试。\",\n \"paypalFlowFailedError\": \"连接到PayPal时出错。请重试。\",\n \"paypalTokenizationRequestActiveError\": \"PayPal付款授权已在进行中。\",\n \"venmoCanceledError\": \"我们遇到了问题。请确保您的设备上已安装最新版本的Venmo应用,并且您的浏览器支持切换到Venmo。\",\n \"vaultManagerPaymentMethodDeletionError\": \"无法删除付款方式,请重试。\",\n \"venmoAppFailedError\": \"在您的设备上找不到Venmo应用。\",\n \"unsupportedCardTypeError\": \"不支持该卡类型。请尝试其他卡。\",\n \"applePayTokenizationError\": \"处理Apple Pay付款时出现网络错误。请重试。\",\n \"applePayActiveCardError\": \"请添加受支持的卡到您的Apple Pay钱包。\",\n \"cardholderNameLabel\": \"持卡人姓名\",\n \"cardNumberLabel\": \"卡号\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3位数)\",\n \"cvvFourDigitLabelSubheading\": \"(4位数)\",\n \"cardholderNamePlaceholder\": \"持卡人姓名\",\n \"expirationDateLabel\": \"有效期限\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"MM/YY\",\n \"postalCodeLabel\": \"邮政编码\",\n \"saveCardLabel\": \"保存卡\",\n \"payWithCard\": \"用卡付款\",\n \"endingIn\": \"尾号为{{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"卡\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"银联\"\n};\n\n},{}],246:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"付款方式為 {{paymentSource}}\",\n \"chooseAnotherWayToPay\": \"選擇其他付款方式\",\n \"chooseAWayToPay\": \"選擇付款方式\",\n \"otherWaysToPay\": \"其他付款方式\",\n \"edit\": \"編輯\",\n \"doneEditing\": \"完成\",\n \"editPaymentMethods\": \"編輯付款方式\",\n \"CreditCardDeleteConfirmationMessage\": \"要刪除末碼為 {{identifier}} 的 {{secondaryIdentifier}} 卡嗎?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"要刪除 PayPal 帳戶 {{identifier}} 嗎?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"確定要刪除使用者名稱為 {{identifier}} 的 Venmo 帳戶嗎?\",\n \"genericDeleteConfirmationMessage\": \"確定要刪除此付款方式嗎?\",\n \"deleteCancelButton\": \"取消\",\n \"deleteConfirmationButton\": \"刪除\",\n \"fieldEmptyForCvv\": \"請填寫信用卡認證碼。\",\n \"fieldEmptyForExpirationDate\": \"請填寫到期日。\",\n \"fieldEmptyForCardholderName\": \"請填寫持卡人的名字。\",\n \"fieldTooLongForCardholderName\": \"持卡人姓名必須少於 256 個字元。\",\n \"fieldEmptyForNumber\": \"請填寫號碼。\",\n \"fieldEmptyForPostalCode\": \"請填寫郵遞區號。\",\n \"fieldInvalidForCardholderName\": \"持卡人姓名無效。\",\n \"fieldInvalidForCvv\": \"此安全代碼無效。\",\n \"fieldInvalidForExpirationDate\": \"此到期日無效。\",\n \"fieldInvalidForNumber\": \"此卡號無效。\",\n \"fieldInvalidForPostalCode\": \"此郵遞區號無效。\",\n \"genericError\": \"系統發生錯誤。\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"此信用卡已存在,為已儲存的付款方式。\",\n \"hostedFieldsFailedTokenizationError\": \"請檢查你的資料並再試一次。\",\n \"hostedFieldsFieldsInvalidError\": \"請檢查你的資料並再試一次。\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"網絡錯誤。再試一次。\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"信用卡認證失敗。請檢查你的資料並再試一次。\",\n \"paypalButtonMustBeUsed\": \"使用 PayPal 按鈕以繼續付款。\",\n \"paypalAccountTokenizationFailedError\": \"加入 PayPal 帳戶時發生錯誤。再試一次。\",\n \"paypalFlowFailedError\": \"連接 PayPal 時發生錯誤。再試一次。\",\n \"paypalTokenizationRequestActiveError\": \"PayPal 付款授權已在處理中。\",\n \"venmoCanceledError\": \"系統發生錯誤,請確保你已在裝置上安裝最新版本的 Venmo 應用程式,而且你的瀏覽器支援切換至 Venmo。\",\n \"vaultManagerPaymentMethodDeletionError\": \"無法刪除付款方式,請再試一次。\",\n \"venmoAppFailedError\": \"在你的裝置上找不到 Venmo 應用程式。\",\n \"unsupportedCardTypeError\": \"不可使用此信用卡類型。請改用其他信用卡。\",\n \"applePayTokenizationError\": \"處理 Apple Pay 付款時發生網絡錯誤。再試一次。\",\n \"applePayActiveCardError\": \"在 Apple Pay 錢包中加入支援的信用卡。\",\n \"cardholderNameLabel\": \"持卡人名字\",\n \"cardNumberLabel\": \"卡號\",\n \"cvvLabel\": \"信用卡認證碼\",\n \"cvvThreeDigitLabelSubheading\": \"(3 位數)\",\n \"cvvFourDigitLabelSubheading\": \"(4 位數)\",\n \"cardholderNamePlaceholder\": \"持卡人名字\",\n \"expirationDateLabel\": \"到期日\",\n \"expirationDateLabelSubheading\": \"(MM/YY)\",\n \"expirationDatePlaceholder\": \"月 / 年\",\n \"postalCodeLabel\": \"郵遞區號\",\n \"saveCardLabel\": \"儲存信用卡\",\n \"payWithCard\": \"使用信用卡付款\",\n \"endingIn\": \"末碼為 {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"信用卡\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],247:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"以 {{paymentSource}} 付款\",\n \"chooseAnotherWayToPay\": \"選擇付款的以其他方式付款\",\n \"chooseAWayToPay\": \"選擇付款方式\",\n \"otherWaysToPay\": \"其他付款方式\",\n \"edit\": \"編輯\",\n \"doneEditing\": \"完成\",\n \"editPaymentMethods\": \"編輯付款方式\",\n \"CreditCardDeleteConfirmationMessage\": \"確定要刪除末碼為 {{identifier}} 的 {{secondaryIdentifier}} 卡片嗎?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"確定要刪除 {{identifier}} PayPal 帳戶嗎?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"確定要刪除用戶名稱為 {{identifier}} 的 Venmo 帳戶嗎?\",\n \"genericDeleteConfirmationMessage\": \"確定要刪除此付款方式?\",\n \"deleteCancelButton\": \"取消\",\n \"deleteConfirmationButton\": \"刪除\",\n \"fieldEmptyForCvv\": \"請填妥信用卡驗證碼。\",\n \"fieldEmptyForExpirationDate\": \"請填妥到期日。\",\n \"fieldEmptyForCardholderName\": \"請填妥持卡人姓名。\",\n \"fieldTooLongForCardholderName\": \"持卡人姓名不能超過 256 個字元。\",\n \"fieldEmptyForNumber\": \"請填妥號碼。\",\n \"fieldEmptyForPostalCode\": \"請填寫郵遞區號。\",\n \"fieldInvalidForCardholderName\": \"此持卡人姓名無效。\",\n \"fieldInvalidForCvv\": \"這組安全代碼無效。\",\n \"fieldInvalidForExpirationDate\": \"此到期日無效。\",\n \"fieldInvalidForNumber\": \"此卡號無效。\",\n \"fieldInvalidForPostalCode\": \"此郵遞區號無效。\",\n \"genericError\": \"我們的系統發生問題。\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"此信用卡已存在,為已儲存的付款方式。\",\n \"hostedFieldsFailedTokenizationError\": \"請檢查你的資料並重試。\",\n \"hostedFieldsFieldsInvalidError\": \"請檢查你的資料並重試。\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"網路錯誤。請重試。\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"信用卡認證失敗。請檢查你的資料並重試。\",\n \"paypalButtonMustBeUsed\": \"使用 PayPal 按鈕以繼續付款。\",\n \"paypalAccountTokenizationFailedError\": \"新增 PayPal 帳戶時,系統發生錯誤。請重試。\",\n \"paypalFlowFailedError\": \"連結至 PayPal 時,系統發生錯誤。請重試。\",\n \"paypalTokenizationRequestActiveError\": \"PayPal 支付款項的授權已在處理中。\",\n \"venmoCanceledError\": \"系統發生錯誤。確認你的裝置上裝有最新版本的 Venmo 應用程式,而且瀏覽器支援切換至 Venmo。\",\n \"vaultManagerPaymentMethodDeletionError\": \"無法刪除付款方式,請再試一次。\",\n \"venmoAppFailedError\": \"你的裝置上找不到 Venmo 應用程式。\",\n \"unsupportedCardTypeError\": \"不支援此卡片類型。請改用其他卡片。\",\n \"applePayTokenizationError\": \"在處理 Apple Pay 付款時發生網路錯誤。請重試。\",\n \"applePayActiveCardError\": \"新增支援的卡片至你的 Apple Pay 錢包。\",\n \"cardholderNameLabel\": \"持卡人姓名\",\n \"cardNumberLabel\": \"卡號\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3 位數)\",\n \"cvvFourDigitLabelSubheading\": \"(4 位數)\",\n \"cardholderNamePlaceholder\": \"持卡人姓名\",\n \"expirationDateLabel\": \"到期日\",\n \"expirationDateLabelSubheading\": \"(月 / 年)\",\n \"expirationDatePlaceholder\": \"月 / 年\",\n \"postalCodeLabel\": \"郵遞區號\",\n \"saveCardLabel\": \"儲存卡片\",\n \"payWithCard\": \"使用信用卡 / 扣帳卡付款\",\n \"endingIn\": \"末碼為 {{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"信用卡或扣帳卡\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal 信貸\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"美國運通 (American Express)\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"大來國際 (Diners Club)\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"UnionPay\"\n};\n\n},{}],248:[function(require,module,exports){\n'use strict';\n\nmodule.exports = {\n \"payingWith\": \"使用{{paymentSource}}付款\",\n \"chooseAnotherWayToPay\": \"选择其它付款方式\",\n \"chooseAWayToPay\": \"选择付款方式\",\n \"otherWaysToPay\": \"其它付款方式\",\n \"edit\": \"编辑\",\n \"doneEditing\": \"完成\",\n \"editPaymentMethods\": \"编辑付款方式\",\n \"CreditCardDeleteConfirmationMessage\": \"删除尾号为{{identifier}}的{{secondaryIdentifier}}卡?\",\n \"PayPalAccountDeleteConfirmationMessage\": \"删除PayPal账户{{identifier}}?\",\n \"VenmoAccountDeleteConfirmationMessage\": \"确定要删除用户名为{{identifier}}的Venmo账户吗?\",\n \"genericDeleteConfirmationMessage\": \"确定要删除此付款方式吗?\",\n \"deleteCancelButton\": \"取消\",\n \"deleteConfirmationButton\": \"删除\",\n \"fieldEmptyForCvv\": \"请填写 CVV。\",\n \"fieldEmptyForExpirationDate\": \"请填写有效期限。\",\n \"fieldEmptyForCardholderName\": \"请填写持卡人姓名。\",\n \"fieldTooLongForCardholderName\": \"持卡人姓名必须少于256个字符。\",\n \"fieldEmptyForNumber\": \"请填写号码。\",\n \"fieldEmptyForPostalCode\": \"请填写邮政编码。\",\n \"fieldInvalidForCardholderName\": \"此持卡人姓名无效。\",\n \"fieldInvalidForCvv\": \"此验证码无效。\",\n \"fieldInvalidForExpirationDate\": \"此有效期限无效。\",\n \"fieldInvalidForNumber\": \"此卡号无效。\",\n \"fieldInvalidForPostalCode\": \"此邮政编码无效。\",\n \"genericError\": \"我们遇到了一些问题。\",\n \"hostedFieldsTokenizationFailOnDuplicateError\": \"此信用卡已存在于已保存的付款方式中。\",\n \"hostedFieldsFailedTokenizationError\": \"请检查您的信息,然后重试。\",\n \"hostedFieldsFieldsInvalidError\": \"请检查您的信息,然后重试。\",\n \"hostedFieldsTokenizationNetworkErrorError\": \"网络错误。请重试。\",\n \"hostedFieldsTokenizationCvvVerificationFailedError\": \"信用卡认证失败。请检查您的信息,然后重试。\",\n \"paypalButtonMustBeUsed\": \"使用PayPal按钮以便继续进行您的付款。\",\n \"paypalAccountTokenizationFailedError\": \"添加PayPal账户时遇到了问题。请重试。\",\n \"paypalFlowFailedError\": \"连接到PayPal时遇到了问题。请重试。\",\n \"paypalTokenizationRequestActiveError\": \"PayPal付款授权正在处理中。\",\n \"venmoCanceledError\": \"我们遇到了一些问题。请确保您的设备上安装了最新版本的Venmo应用,并且您的浏览器支持切换到Venmo。\",\n \"vaultManagerPaymentMethodDeletionError\": \"无法删除付款方式,请重试。\",\n \"venmoAppFailedError\": \"未能在您的设备上找到Venmo应用。\",\n \"unsupportedCardTypeError\": \"不支持此类型的卡。请尝试其它卡。\",\n \"applePayTokenizationError\": \"处理Apple Pay付款时出现了网络错误。请重试。\",\n \"applePayActiveCardError\": \"在您的Apple Pay钱包中添加一张受支持的卡。\",\n \"cardholderNameLabel\": \"持卡人姓名\",\n \"cardNumberLabel\": \"卡号\",\n \"cvvLabel\": \"CVV\",\n \"cvvThreeDigitLabelSubheading\": \"(3位数)\",\n \"cvvFourDigitLabelSubheading\": \"(4位数)\",\n \"cardholderNamePlaceholder\": \"持卡人姓名\",\n \"expirationDateLabel\": \"有效期限\",\n \"expirationDateLabelSubheading\": \"(月/年)\",\n \"expirationDatePlaceholder\": \"月/年\",\n \"postalCodeLabel\": \"邮政编码\",\n \"saveCardLabel\": \"保存卡\",\n \"payWithCard\": \"使用卡付款\",\n \"endingIn\": \"尾号为{{lastFourCardDigits}}\",\n \"Apple Pay\": \"Apple Pay\",\n \"Venmo\": \"Venmo\",\n \"Card\": \"卡\",\n \"PayPal\": \"PayPal\",\n \"PayPal Credit\": \"PayPal Credit\",\n \"Google Pay\": \"Google Pay\",\n \"American Express\": \"American Express\",\n \"Discover\": \"Discover\",\n \"Diners Club\": \"Diners Club\",\n \"MasterCard\": \"Mastercard\",\n \"Visa\": \"Visa\",\n \"JCB\": \"JCB\",\n \"Maestro\": \"Maestro\",\n \"UnionPay\": \"银联\"\n};\n\n},{}],249:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../lib/assign').assign;\nvar classList = require('@braintree/class-list');\nvar DropinError = require('../lib/dropin-error');\nvar errors = require('../constants').errors;\nvar Promise = require('../lib/promise');\n\nfunction BaseView(options) {\n options = options || {};\n\n assign(this, options);\n}\n\nBaseView.prototype.getElementById = function (id) {\n if (!this.element) { return null; }\n\n return this.element.querySelector('[data-braintree-id=\"' + id + '\"]');\n};\n\nBaseView.prototype.requestPaymentMethod = function () {\n return Promise.reject(new DropinError(errors.NO_PAYMENT_METHOD_ERROR));\n};\n\nBaseView.prototype.getPaymentMethod = function () {\n return this.activeMethodView && this.activeMethodView.paymentMethod;\n};\n\nBaseView.prototype.onSelection = function () {};\n\nBaseView.prototype.teardown = function () {\n return Promise.resolve();\n};\n\nBaseView.prototype.preventUserAction = function () {\n if (this.element) {\n classList.add(this.element, 'braintree-sheet--loading');\n }\n\n this.model.preventUserAction();\n};\n\nBaseView.prototype.allowUserAction = function () {\n if (this.element) {\n classList.remove(this.element, 'braintree-sheet--loading');\n }\n\n this.model.allowUserAction();\n};\n\nmodule.exports = BaseView;\n\n},{\"../constants\":191,\"../lib/assign\":197,\"../lib/dropin-error\":201,\"../lib/promise\":208,\"@braintree/class-list\":39}],250:[function(require,module,exports){\n'use strict';\n\nvar BaseView = require('./base-view');\nvar addSelectionEventHandler = require('../lib/add-selection-event-handler');\nvar paymentMethodTypes = require('../constants').paymentMethodTypes;\n\nfunction DeleteConfirmationView() {\n BaseView.apply(this, arguments);\n\n this._initialize();\n}\n\nDeleteConfirmationView.prototype = Object.create(BaseView.prototype);\nDeleteConfirmationView.prototype.constructor = DeleteConfirmationView;\nDeleteConfirmationView.ID = DeleteConfirmationView.prototype.ID = 'delete-confirmation';\n\nDeleteConfirmationView.prototype._initialize = function () {\n this._yesButton = this.getElementById('delete-confirmation__yes');\n this._noButton = this.getElementById('delete-confirmation__no');\n this._messageBox = this.getElementById('delete-confirmation__message');\n\n addSelectionEventHandler(this._yesButton, function () {\n this.model.deleteVaultedPaymentMethod();\n }.bind(this));\n addSelectionEventHandler(this._noButton, function () {\n this.model.cancelDeleteVaultedPaymentMethod();\n }.bind(this));\n};\n\nDeleteConfirmationView.prototype.applyPaymentMethod = function (paymentMethod) {\n var identifier, secondaryIdentifier;\n var messageText = this.strings[paymentMethod.type + 'DeleteConfirmationMessage'];\n\n if (messageText) {\n switch (paymentMethod.type) {\n case paymentMethodTypes.card:\n identifier = paymentMethod.details.lastFour;\n secondaryIdentifier = paymentMethod.details.cardType;\n secondaryIdentifier = this.strings[secondaryIdentifier] || secondaryIdentifier;\n break;\n case paymentMethodTypes.paypal:\n identifier = paymentMethod.details.email;\n break;\n case paymentMethodTypes.venmo:\n identifier = paymentMethod.details.username;\n break;\n default:\n break;\n }\n\n messageText = messageText.replace('{{identifier}}', identifier);\n if (secondaryIdentifier) {\n messageText = messageText.replace('{{secondaryIdentifier}}', secondaryIdentifier);\n }\n } else {\n messageText = this.strings.genericDeleteConfirmationMessage;\n }\n this._messageBox.innerText = messageText;\n};\n\nDeleteConfirmationView.prototype.onSelection = function () {\n window.requestAnimationFrame(function () {\n this._yesButton.focus();\n }.bind(this));\n};\n\nmodule.exports = DeleteConfirmationView;\n\n},{\"../constants\":191,\"../lib/add-selection-event-handler\":195,\"./base-view\":249}],251:[function(require,module,exports){\n'use strict';\n\nvar analytics = require('../lib/analytics');\nvar analyticsKinds = require('../constants').analyticsKinds;\nvar BaseView = require('./base-view');\nvar classList = require('@braintree/class-list');\nvar sheetViews = require('./payment-sheet-views');\nvar PaymentMethodsView = require('./payment-methods-view');\nvar PaymentOptionsView = require('./payment-options-view');\nvar DeleteConfirmationView = require('./delete-confirmation-view');\nvar addSelectionEventHandler = require('../lib/add-selection-event-handler');\nvar Promise = require('../lib/promise');\nvar wait = require('../lib/wait');\nvar supportsFlexbox = require('../lib/supports-flexbox');\n\nvar CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT = require('../constants').CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT;\nvar DEVELOPER_MISCONFIGURATION_MESSAGE = require('../constants').errors.DEVELOPER_MISCONFIGURATION_MESSAGE;\n\nfunction MainView() {\n BaseView.apply(this, arguments);\n\n this.dependenciesInitializing = 0;\n\n this._initialize();\n}\n\nMainView.prototype = Object.create(BaseView.prototype);\nMainView.prototype.constructor = MainView;\n\nMainView.prototype._initialize = function () {\n var paymentOptionsView;\n\n this._hasMultiplePaymentOptions = this.model.supportedPaymentOptions.length > 1;\n\n this._views = {};\n\n this.sheetContainer = this.getElementById('sheet-container');\n this.sheetErrorText = this.getElementById('sheet-error-text');\n\n this.toggle = this.getElementById('toggle');\n this.disableWrapper = this.getElementById('disable-wrapper');\n this.lowerContainer = this.getElementById('lower-container');\n\n this.loadingContainer = this.getElementById('loading-container');\n this.dropinContainer = this.element.querySelector('.braintree-dropin');\n\n this.supportsFlexbox = supportsFlexbox();\n\n this.model.on('asyncDependenciesReady', this.hideLoadingIndicator.bind(this));\n\n this.model.on('errorOccurred', this.showSheetError.bind(this));\n this.model.on('errorCleared', this.hideSheetError.bind(this));\n this.model.on('preventUserAction', this.preventUserAction.bind(this));\n this.model.on('allowUserAction', this.allowUserAction.bind(this));\n\n this.paymentSheetViewIDs = Object.keys(sheetViews).reduce(function (ids, sheetViewKey) {\n var PaymentSheetView, paymentSheetView;\n\n if (this.model.supportedPaymentOptions.indexOf(sheetViewKey) !== -1) {\n PaymentSheetView = sheetViews[sheetViewKey];\n\n paymentSheetView = new PaymentSheetView({\n element: this.getElementById(PaymentSheetView.ID),\n mainView: this,\n model: this.model,\n client: this.client,\n strings: this.strings\n });\n paymentSheetView.initialize();\n\n this.addView(paymentSheetView);\n ids.push(paymentSheetView.ID);\n }\n\n return ids;\n }.bind(this), []);\n\n this.paymentMethodsViews = new PaymentMethodsView({\n element: this.element,\n model: this.model,\n client: this.client,\n strings: this.strings\n });\n this.addView(this.paymentMethodsViews);\n\n this.deleteConfirmationView = new DeleteConfirmationView({\n element: this.getElementById('delete-confirmation'),\n model: this.model,\n strings: this.strings\n });\n this.addView(this.deleteConfirmationView);\n\n addSelectionEventHandler(this.toggle, this.toggleAdditionalOptions.bind(this));\n\n this.model.on('changeActivePaymentMethod', function () {\n wait.delay(CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT).then(function () {\n var id = PaymentMethodsView.ID;\n\n // if Drop-in gets into the state where it's told to go to the methods\n // view, but there are no saved payment methods, it should instead\n // redirect to the view it started on\n if (!this.model.hasPaymentMethods()) {\n id = this.model.getInitialViewId();\n }\n\n this.setPrimaryView(id);\n }.bind(this));\n }.bind(this));\n\n this.model.on('changeActiveView', this._onChangeActiveView.bind(this));\n\n this.model.on('removeActivePaymentMethod', function () {\n var activePaymentView = this.getView(this.model.getActivePaymentViewId());\n\n if (activePaymentView && typeof activePaymentView.removeActivePaymentMethod === 'function') {\n activePaymentView.removeActivePaymentMethod();\n }\n }.bind(this));\n\n this.model.on('enableEditMode', this.enableEditMode.bind(this));\n\n this.model.on('disableEditMode', this.disableEditMode.bind(this));\n\n this.model.on('confirmPaymentMethodDeletion', this.openConfirmPaymentMethodDeletionDialog.bind(this));\n this.model.on('cancelVaultedPaymentMethodDeletion', this.cancelVaultedPaymentMethodDeletion.bind(this));\n this.model.on('startVaultedPaymentMethodDeletion', this.startVaultedPaymentMethodDeletion.bind(this));\n this.model.on('finishVaultedPaymentMethodDeletion', this.finishVaultedPaymentMethodDeletion.bind(this));\n\n if (this._hasMultiplePaymentOptions) {\n paymentOptionsView = new PaymentOptionsView({\n client: this.client,\n element: this.getElementById(PaymentOptionsView.ID),\n mainView: this,\n model: this.model,\n strings: this.strings\n });\n\n this.addView(paymentOptionsView);\n }\n\n this._sendToDefaultView();\n};\n\nMainView.prototype._onChangeActiveView = function (data) {\n var id = data.newViewId;\n var activePaymentView = this.getView(id);\n\n if (id === PaymentMethodsView.ID) {\n classList.add(this.paymentMethodsViews.container, 'braintree-methods--active');\n classList.remove(this.sheetContainer, 'braintree-sheet--active');\n } else {\n wait.delay(0).then(function () {\n classList.add(this.sheetContainer, 'braintree-sheet--active');\n }.bind(this));\n classList.remove(this.paymentMethodsViews.container, 'braintree-methods--active');\n if (!this.getView(id).getPaymentMethod()) {\n this.model.setPaymentMethodRequestable({\n isRequestable: false\n });\n }\n }\n\n activePaymentView.onSelection();\n};\n\nMainView.prototype.addView = function (view) {\n this._views[view.ID] = view;\n};\n\nMainView.prototype.getView = function (id) {\n return this._views[id];\n};\n\nMainView.prototype.setPrimaryView = function (id, secondaryViewId) {\n var paymentMethod;\n\n wait.delay(0).then(function () {\n this.element.className = prefixShowClass(id);\n if (secondaryViewId) {\n classList.add(this.element, prefixShowClass(secondaryViewId));\n }\n }.bind(this));\n\n this.primaryView = this.getView(id);\n this.model.changeActiveView(id);\n\n if (this.paymentSheetViewIDs.indexOf(id) !== -1) {\n if (this.model.getPaymentMethods().length > 0 || this.getView(PaymentOptionsView.ID)) {\n this.showToggle();\n } else {\n this.hideToggle();\n }\n } else if (id === PaymentMethodsView.ID) {\n this.showToggle();\n // Move options below the upper-container\n this.getElementById('lower-container').appendChild(this.getElementById('options'));\n } else if (id === PaymentOptionsView.ID) {\n this.hideToggle();\n }\n\n if (!this.supportsFlexbox) {\n this.element.setAttribute('data-braintree-no-flexbox', true);\n }\n\n paymentMethod = this.primaryView.getPaymentMethod();\n\n this.model.setPaymentMethodRequestable({\n isRequestable: Boolean(paymentMethod && !this.model.isInEditMode()),\n type: paymentMethod && paymentMethod.type,\n selectedPaymentMethod: paymentMethod\n });\n\n this.model.clearError();\n};\n\nMainView.prototype.requestPaymentMethod = function () {\n var activePaymentView = this.getView(this.model.getActivePaymentViewId());\n\n return activePaymentView.requestPaymentMethod().then(function (payload) {\n analytics.sendEvent(this.client, 'request-payment-method.' + analyticsKinds[payload.type]);\n\n return payload;\n }.bind(this)).catch(function (err) {\n analytics.sendEvent(this.client, 'request-payment-method.error');\n\n return Promise.reject(err);\n }.bind(this));\n};\n\nMainView.prototype.hideLoadingIndicator = function () {\n classList.remove(this.dropinContainer, 'braintree-loading');\n classList.add(this.dropinContainer, 'braintree-loaded');\n classList.add(this.loadingContainer, 'braintree-hidden');\n};\n\nMainView.prototype.showLoadingIndicator = function () {\n classList.add(this.dropinContainer, 'braintree-loading');\n classList.remove(this.dropinContainer, 'braintree-loaded');\n classList.remove(this.loadingContainer, 'braintree-hidden');\n};\n\nMainView.prototype.toggleAdditionalOptions = function () {\n var sheetViewID;\n var isPaymentSheetView = this.paymentSheetViewIDs.indexOf(this.primaryView.ID) !== -1;\n\n this.hideToggle();\n\n if (!this._hasMultiplePaymentOptions) {\n sheetViewID = this.paymentSheetViewIDs[0];\n\n classList.add(this.element, prefixShowClass(sheetViewID));\n this.model.changeActiveView(sheetViewID);\n } else if (isPaymentSheetView) {\n if (this.model.getPaymentMethods().length === 0) {\n this.setPrimaryView(PaymentOptionsView.ID);\n } else {\n this.setPrimaryView(PaymentMethodsView.ID, PaymentOptionsView.ID);\n this.hideToggle();\n }\n } else {\n classList.add(this.element, prefixShowClass(PaymentOptionsView.ID));\n }\n};\n\nMainView.prototype.showToggle = function () {\n if (this.model.isInEditMode()) {\n return;\n }\n classList.remove(this.toggle, 'braintree-hidden');\n classList.add(this.lowerContainer, 'braintree-hidden');\n};\n\nMainView.prototype.hideToggle = function () {\n classList.add(this.toggle, 'braintree-hidden');\n classList.remove(this.lowerContainer, 'braintree-hidden');\n};\n\nMainView.prototype.showSheetError = function (error) {\n var errorMessage;\n var genericErrorMessage = this.strings.genericError;\n\n if (this.strings.hasOwnProperty(error)) {\n errorMessage = this.strings[error];\n } else if (error && typeof error.code === 'string') {\n errorMessage = this.strings[snakeCaseToCamelCase(error.code) + 'Error'] || genericErrorMessage;\n } else if (error === 'developerError') {\n errorMessage = DEVELOPER_MISCONFIGURATION_MESSAGE;\n } else {\n errorMessage = genericErrorMessage;\n }\n\n classList.add(this.dropinContainer, 'braintree-sheet--has-error');\n this.sheetErrorText.innerHTML = errorMessage;\n};\n\nMainView.prototype.hideSheetError = function () {\n classList.remove(this.dropinContainer, 'braintree-sheet--has-error');\n};\n\nMainView.prototype.getOptionsElements = function () {\n return this._views.options.elements;\n};\n\nMainView.prototype.preventUserAction = function () {\n classList.remove(this.disableWrapper, 'braintree-hidden');\n};\n\nMainView.prototype.allowUserAction = function () {\n classList.add(this.disableWrapper, 'braintree-hidden');\n};\n\nMainView.prototype.teardown = function () {\n var error;\n var viewNames = Object.keys(this._views);\n var teardownPromises = viewNames.map(function (view) {\n return this._views[view].teardown().catch(function (err) {\n error = err;\n });\n }.bind(this));\n\n return Promise.all(teardownPromises).then(function () {\n if (error) {\n return Promise.reject(error);\n }\n\n return Promise.resolve();\n });\n};\n\nMainView.prototype.enableEditMode = function () {\n this.setPrimaryView(this.paymentMethodsViews.ID);\n this.paymentMethodsViews.enableEditMode();\n this.hideToggle();\n\n this.model.setPaymentMethodRequestable({\n isRequestable: false\n });\n};\n\nMainView.prototype.disableEditMode = function () {\n var paymentMethod;\n\n this.hideSheetError();\n this.paymentMethodsViews.disableEditMode();\n this.showToggle();\n\n paymentMethod = this.primaryView.getPaymentMethod();\n\n this.model.setPaymentMethodRequestable({\n isRequestable: Boolean(paymentMethod),\n type: paymentMethod && paymentMethod.type,\n selectedPaymentMethod: paymentMethod\n });\n};\n\nMainView.prototype.openConfirmPaymentMethodDeletionDialog = function (paymentMethod) {\n this.deleteConfirmationView.applyPaymentMethod(paymentMethod);\n this.setPrimaryView(this.deleteConfirmationView.ID);\n};\n\nMainView.prototype.cancelVaultedPaymentMethodDeletion = function () {\n this.setPrimaryView(this.paymentMethodsViews.ID);\n};\n\nMainView.prototype.startVaultedPaymentMethodDeletion = function () {\n this.element.className = '';\n this.showLoadingIndicator();\n};\n\nMainView.prototype.finishVaultedPaymentMethodDeletion = function (error) {\n var self = this;\n\n this.paymentMethodsViews.refreshPaymentMethods();\n\n if (error && this.model.getPaymentMethods().length > 0) {\n this.model.enableEditMode();\n this.showSheetError('vaultManagerPaymentMethodDeletionError');\n } else {\n this._sendToDefaultView();\n }\n\n return new Promise(function (resolve) {\n wait.delay(500).then(function () {\n // allow all the views to reset before hiding the loading indicator\n self.hideLoadingIndicator();\n resolve();\n });\n });\n};\n\nMainView.prototype._sendToDefaultView = function () {\n var paymentMethods = this.model.getPaymentMethods();\n var preselectVaultedPaymentMethod = this.model.merchantConfiguration.preselectVaultedPaymentMethod !== false;\n\n if (paymentMethods.length > 0) {\n if (preselectVaultedPaymentMethod) {\n analytics.sendEvent(this.client, 'vaulted-card.preselect');\n\n this.model.changeActivePaymentMethod(paymentMethods[0]);\n } else {\n this.setPrimaryView(this.paymentMethodsViews.ID);\n }\n } else if (this._hasMultiplePaymentOptions) {\n this.setPrimaryView(PaymentOptionsView.ID);\n } else {\n this.setPrimaryView(this.paymentSheetViewIDs[0]);\n }\n};\nfunction snakeCaseToCamelCase(s) {\n return s.toLowerCase().replace(/(\\_\\w)/g, function (m) {\n return m[1].toUpperCase();\n });\n}\n\nfunction prefixShowClass(classname) {\n return 'braintree-show-' + classname;\n}\n\nmodule.exports = MainView;\n\n},{\"../constants\":191,\"../lib/add-selection-event-handler\":195,\"../lib/analytics\":196,\"../lib/promise\":208,\"../lib/supports-flexbox\":210,\"../lib/wait\":213,\"./base-view\":249,\"./delete-confirmation-view\":250,\"./payment-methods-view\":253,\"./payment-options-view\":254,\"./payment-sheet-views\":259,\"@braintree/class-list\":39}],252:[function(require,module,exports){\n'use strict';\n\nvar analytics = require('../lib/analytics');\nvar BaseView = require('./base-view');\nvar classList = require('@braintree/class-list');\nvar constants = require('../constants');\n\nvar addSelectionEventHandler = require('../lib/add-selection-event-handler');\n\nvar paymentMethodHTML = \"
\\n
\\n \\n \\n \\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n\\n
@TITLE
@SUBTITLE
\\n\\n
\\n
\\n \\n \\n \\n
\\n
\\n\";\n\nfunction PaymentMethodView() {\n BaseView.apply(this, arguments);\n\n this._initialize();\n}\n\nPaymentMethodView.prototype = Object.create(BaseView.prototype);\nPaymentMethodView.prototype.constructor = PaymentMethodView;\n\nPaymentMethodView.prototype._initialize = function () {\n var endingInText;\n var html = paymentMethodHTML;\n var paymentMethodCardTypes = constants.paymentMethodCardTypes;\n var paymentMethodTypes = constants.paymentMethodTypes;\n\n this.element = document.createElement('div');\n this.element.className = 'braintree-method';\n this.element.setAttribute('tabindex', '0');\n this.element.setAttribute('role', 'button');\n\n addSelectionEventHandler(this.element, function () {\n if (this.model.isInEditMode()) {\n this._selectDelete();\n } else {\n this._choosePaymentMethod();\n }\n }.bind(this));\n\n switch (this.paymentMethod.type) {\n case paymentMethodTypes.applePay:\n html = html.replace(/@ICON/g, 'logoApplePay')\n .replace(/@CLASSNAME/g, '')\n .replace(/@TITLE/g, this.strings['Apple Pay'])\n .replace(/@SUBTITLE/g, '');\n break;\n case paymentMethodTypes.card:\n endingInText = this.strings.endingIn.replace('{{lastFourCardDigits}}', this.paymentMethod.details.lastFour);\n html = html.replace(/@ICON/g, 'icon-' + paymentMethodCardTypes[this.paymentMethod.details.cardType])\n .replace(/@CLASSNAME/g, ' braintree-icon--bordered')\n .replace(/@TITLE/g, endingInText)\n .replace(/@SUBTITLE/g, this.strings[this.paymentMethod.details.cardType]);\n break;\n case paymentMethodTypes.googlePay:\n html = html.replace(/@ICON/g, 'logoGooglePay')\n .replace(/@CLASSNAME/g, '')\n .replace(/@TITLE/g, this.strings['Google Pay'])\n .replace(/@SUBTITLE/g, '');\n break;\n case paymentMethodTypes.paypal:\n html = html.replace(/@ICON/g, 'logoPayPal')\n .replace(/@CLASSNAME/g, '')\n .replace(/@TITLE/g, this.paymentMethod.details.email)\n .replace(/@SUBTITLE/g, this.strings.PayPal);\n break;\n case paymentMethodTypes.venmo:\n html = html.replace(/@ICON/g, 'logoVenmo')\n .replace(/@CLASSNAME/g, '')\n .replace(/@TITLE/g, this.paymentMethod.details.username)\n .replace(/@SUBTITLE/g, this.strings.Venmo);\n break;\n default:\n break;\n }\n\n this.element.innerHTML = html;\n this.checkMark = this.element.querySelector('.braintree-method__check-container');\n};\n\nPaymentMethodView.prototype.setActive = function (isActive) {\n // setTimeout required to animate addition of new payment methods\n setTimeout(function () {\n classList.toggle(this.element, 'braintree-method--active', isActive);\n }.bind(this), 0);\n};\n\nPaymentMethodView.prototype.enableEditMode = function () {\n classList.add(this.checkMark, 'braintree-hidden');\n if (this.paymentMethod.hasSubscription) {\n classList.add(this.element, 'braintree-method--disabled');\n }\n};\n\nPaymentMethodView.prototype.disableEditMode = function () {\n classList.remove(this.checkMark, 'braintree-hidden');\n classList.remove(this.element, 'braintree-method--disabled');\n};\n\nPaymentMethodView.prototype.teardown = function () {\n if (this.element.parentNode) {\n this.element.parentNode.removeChild(this.element);\n }\n};\n\nPaymentMethodView.prototype._choosePaymentMethod = function () {\n if (this.paymentMethod.vaulted) {\n analytics.sendEvent(this.client, 'vaulted-' + constants.analyticsKinds[this.paymentMethod.type] + '.select');\n }\n\n this.model.changeActivePaymentMethod(this.paymentMethod);\n};\n\nPaymentMethodView.prototype._selectDelete = function () {\n this.model.confirmPaymentMethodDeletion(this.paymentMethod);\n};\n\nmodule.exports = PaymentMethodView;\n\n},{\"../constants\":191,\"../lib/add-selection-event-handler\":195,\"../lib/analytics\":196,\"./base-view\":249,\"@braintree/class-list\":39}],253:[function(require,module,exports){\n'use strict';\n\nvar BaseView = require('./base-view');\nvar PaymentMethodView = require('./payment-method-view');\nvar DropinError = require('../lib/dropin-error');\nvar classList = require('@braintree/class-list');\nvar errors = require('../constants').errors;\nvar Promise = require('../lib/promise');\nvar addSelectionEventHandler = require('../lib/add-selection-event-handler');\n\nvar PAYMENT_METHOD_TYPE_TO_TRANSLATION_STRING = {\n CreditCard: 'Card',\n PayPalAccount: 'PayPal',\n ApplePayCard: 'Apple Pay',\n AndroidPayCard: 'Google Pay',\n VenmoAccount: 'Venmo'\n};\n\nfunction PaymentMethodsView() {\n BaseView.apply(this, arguments);\n\n this._initialize();\n}\n\nPaymentMethodsView.prototype = Object.create(BaseView.prototype);\nPaymentMethodsView.prototype.constructor = PaymentMethodsView;\nPaymentMethodsView.ID = PaymentMethodsView.prototype.ID = 'methods';\n\nPaymentMethodsView.prototype._initialize = function () {\n this.views = [];\n this.container = this.getElementById('methods-container');\n this._headingLabel = this.getElementById('methods-label');\n this._editButton = this.getElementById('methods-edit');\n\n this.model.on('addPaymentMethod', this._addPaymentMethod.bind(this));\n this.model.on('changeActivePaymentMethod', this._changeActivePaymentMethodView.bind(this));\n this.model.on('refreshPaymentMethods', this.refreshPaymentMethods.bind(this));\n\n this.refreshPaymentMethods();\n\n if (this.model.merchantConfiguration.vaultManager) {\n this.model.on('removePaymentMethod', this._removePaymentMethod.bind(this));\n\n addSelectionEventHandler(this._editButton, function () {\n if (this.model.isInEditMode()) {\n this.model.disableEditMode();\n } else {\n this.model.enableEditMode();\n }\n }.bind(this));\n\n classList.remove(this._editButton, 'braintree-hidden');\n }\n};\n\nPaymentMethodsView.prototype.removeActivePaymentMethod = function () {\n if (!this.activeMethodView) {\n return;\n }\n this.activeMethodView.setActive(false);\n this.activeMethodView = null;\n classList.add(this._headingLabel, 'braintree-no-payment-method-selected');\n};\n\nPaymentMethodsView.prototype._getPaymentMethodString = function () {\n var stringKey, paymentMethodTypeString;\n\n if (!this.activeMethodView) {\n return '';\n }\n\n stringKey = PAYMENT_METHOD_TYPE_TO_TRANSLATION_STRING[this.activeMethodView.paymentMethod.type];\n paymentMethodTypeString = this.strings[stringKey];\n\n return this.strings.payingWith.replace('{{paymentSource}}', paymentMethodTypeString);\n};\n\nPaymentMethodsView.prototype.enableEditMode = function () {\n classList.add(this.container, 'braintree-methods--edit');\n\n this._editButton.innerHTML = this.strings.deleteCancelButton;\n this._headingLabel.innerHTML = this.strings.editPaymentMethods;\n\n this.views.forEach(function (view) {\n view.enableEditMode();\n });\n};\n\nPaymentMethodsView.prototype.disableEditMode = function () {\n classList.remove(this.container, 'braintree-methods--edit');\n\n this._editButton.innerHTML = this.strings.edit;\n this._headingLabel.innerHTML = this._getPaymentMethodString();\n\n this.views.forEach(function (view) {\n view.disableEditMode();\n });\n};\n\nPaymentMethodsView.prototype._addPaymentMethod = function (paymentMethod) {\n var paymentMethodView = new PaymentMethodView({\n model: this.model,\n paymentMethod: paymentMethod,\n client: this.client,\n strings: this.strings\n });\n\n if (this.model.isGuestCheckout && this.container.firstChild) {\n this.views[0].teardown();\n this.views.pop();\n }\n\n if (this.container.firstChild) {\n this.container.insertBefore(paymentMethodView.element, this.container.firstChild);\n } else {\n this.container.appendChild(paymentMethodView.element);\n }\n\n this.views.push(paymentMethodView);\n};\n\nPaymentMethodsView.prototype._removePaymentMethod = function (paymentMethod) {\n var i;\n\n for (i = 0; i < this.views.length; i++) {\n if (this.views[i].paymentMethod === paymentMethod) {\n this.views[i].teardown();\n this._headingLabel.innerHTML = ' ';\n this.views.splice(i, 1);\n break;\n }\n }\n};\n\nPaymentMethodsView.prototype._changeActivePaymentMethodView = function (paymentMethod) {\n var i;\n var previousActiveMethodView = this.activeMethodView;\n\n for (i = 0; i < this.views.length; i++) {\n if (this.views[i].paymentMethod === paymentMethod) {\n this.activeMethodView = this.views[i];\n this._headingLabel.innerHTML = this._getPaymentMethodString();\n break;\n }\n }\n\n if (previousActiveMethodView) {\n previousActiveMethodView.setActive(false);\n }\n this.activeMethodView.setActive(true);\n classList.remove(this._headingLabel, 'braintree-no-payment-method-selected');\n};\n\nPaymentMethodsView.prototype.requestPaymentMethod = function () {\n if (!this.activeMethodView || this.model.isInEditMode()) {\n return Promise.reject(new DropinError(errors.NO_PAYMENT_METHOD_ERROR));\n }\n\n return Promise.resolve(this.activeMethodView.paymentMethod);\n};\n\nPaymentMethodsView.prototype.refreshPaymentMethods = function () {\n var i;\n var paymentMethods = this.model.getPaymentMethods();\n\n this.views.forEach(function (view) {\n view.teardown();\n });\n\n this.views = [];\n\n for (i = paymentMethods.length - 1; i >= 0; i--) {\n this._addPaymentMethod(paymentMethods[i]);\n }\n};\n\nmodule.exports = PaymentMethodsView;\n\n},{\"../constants\":191,\"../lib/add-selection-event-handler\":195,\"../lib/dropin-error\":201,\"../lib/promise\":208,\"./base-view\":249,\"./payment-method-view\":252,\"@braintree/class-list\":39}],254:[function(require,module,exports){\n'use strict';\n\nvar analytics = require('../lib/analytics');\nvar addSelectionEventHandler = require('../lib/add-selection-event-handler');\nvar BaseView = require('./base-view');\n\nvar paymentOptionIDs = require('../constants').paymentOptionIDs;\n\nvar paymentMethodOptionHTML = \"
\\n \\n \\n \\n
\\n\\n
\\n @OPTION_TITLE\\n
\\n
\\n\";\n\nfunction PaymentOptionsView() {\n BaseView.apply(this, arguments);\n\n this._initialize();\n}\n\nPaymentOptionsView.prototype = Object.create(BaseView.prototype);\nPaymentOptionsView.prototype.constructor = PaymentOptionsView;\nPaymentOptionsView.ID = PaymentOptionsView.prototype.ID = 'options';\n\nPaymentOptionsView.prototype._initialize = function () {\n this.container = this.getElementById('payment-options-container');\n this.elements = {};\n\n this.model.supportedPaymentOptions.forEach(function (paymentOptionID) {\n this._addPaymentOption(paymentOptionID);\n }.bind(this));\n};\n\nPaymentOptionsView.prototype._addPaymentOption = function (paymentOptionID) {\n var paymentSource;\n var div = document.createElement('div');\n var html = paymentMethodOptionHTML;\n var clickHandler = function clickHandler() {\n this.mainView.setPrimaryView(paymentOptionID);\n this.model.selectPaymentOption(paymentOptionID);\n analytics.sendEvent(this.client, 'selected.' + paymentOptionIDs[paymentOptionID]);\n }.bind(this);\n\n div.className = 'braintree-option braintree-option__' + paymentOptionID;\n div.setAttribute('tabindex', '0');\n div.setAttribute('role', 'button');\n\n switch (paymentOptionID) {\n case paymentOptionIDs.applePay:\n paymentSource = this.strings['Apple Pay'];\n html = html.replace(/@ICON/g, 'logoApplePay');\n break;\n case paymentOptionIDs.card:\n paymentSource = this.strings.Card;\n html = html.replace(/@ICON/g, 'iconCardFront');\n html = html.replace(/@CLASSNAME/g, 'braintree-icon--bordered');\n break;\n case paymentOptionIDs.googlePay:\n paymentSource = this.strings['Google Pay'];\n html = html.replace(/@ICON/g, 'logoGooglePay');\n break;\n case paymentOptionIDs.paypal:\n paymentSource = this.strings.PayPal;\n html = html.replace(/@ICON/g, 'logoPayPal');\n break;\n case paymentOptionIDs.paypalCredit:\n paymentSource = this.strings['PayPal Credit'];\n html = html.replace(/@ICON/g, 'logoPayPalCredit');\n break;\n case paymentOptionIDs.venmo:\n paymentSource = this.strings.Venmo;\n html = html.replace(/@ICON/g, 'logoVenmo');\n break;\n default:\n break;\n }\n\n html = html.replace(/@OPTION_LABEL/g, this._generateOptionLabel(paymentSource));\n html = html.replace(/@OPTION_TITLE/g, paymentSource);\n html = html.replace(/@CLASSNAME/g, '');\n\n div.innerHTML = html;\n\n addSelectionEventHandler(div, clickHandler);\n\n this.container.appendChild(div);\n this.elements[paymentOptionID] = {\n div: div,\n clickHandler: clickHandler\n };\n};\n\nPaymentOptionsView.prototype._generateOptionLabel = function (paymentSourceString) {\n return this.strings.payingWith.replace('{{paymentSource}}', paymentSourceString);\n};\n\nmodule.exports = PaymentOptionsView;\n\n},{\"../constants\":191,\"../lib/add-selection-event-handler\":195,\"../lib/analytics\":196,\"./base-view\":249}],255:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\nvar BaseView = require('../base-view');\nvar btApplePay = require('braintree-web/apple-pay');\nvar DropinError = require('../../lib/dropin-error');\nvar isHTTPS = require('../../lib/is-https');\nvar Promise = require('../../lib/promise');\nvar paymentOptionIDs = require('../../constants').paymentOptionIDs;\n\nvar DEFAULT_APPLE_PAY_SESSION_VERSION = 2;\n\nfunction ApplePayView() {\n BaseView.apply(this, arguments);\n}\n\nApplePayView.prototype = Object.create(BaseView.prototype);\nApplePayView.prototype.constructor = ApplePayView;\nApplePayView.ID = ApplePayView.prototype.ID = paymentOptionIDs.applePay;\n\nApplePayView.prototype.initialize = function () {\n var self = this;\n\n self.applePayConfiguration = assign({}, self.model.merchantConfiguration.applePay);\n self.applePaySessionVersion = self.applePayConfiguration.applePaySessionVersion || DEFAULT_APPLE_PAY_SESSION_VERSION;\n\n delete self.applePayConfiguration.applePaySessionVersion;\n\n return btApplePay.create({client: this.client}).then(function (applePayInstance) {\n self.buttonDiv = self.getElementById('apple-pay-button');\n\n self.applePayInstance = applePayInstance;\n\n self.buttonDiv.onclick = self._showPaymentSheet.bind(self);\n self.buttonDiv.style['-apple-pay-button-style'] = self.model.merchantConfiguration.applePay.buttonStyle || 'black';\n\n self.model.asyncDependencyReady(ApplePayView.ID);\n }).catch(function (err) {\n self.model.asyncDependencyFailed({\n view: self.ID,\n error: new DropinError(err)\n });\n });\n};\n\nApplePayView.prototype._showPaymentSheet = function () {\n var self = this;\n var request, session;\n\n if (this._sessionInProgress) {\n return false;\n }\n\n this._sessionInProgress = true;\n\n request = this.applePayInstance.createPaymentRequest(this.applePayConfiguration.paymentRequest);\n session = new global.ApplePaySession(self.applePaySessionVersion, request);\n\n session.onvalidatemerchant = function (event) {\n self.applePayInstance.performValidation({\n validationURL: event.validationURL,\n displayName: self.applePayConfiguration.displayName\n }).then(function (validationData) {\n session.completeMerchantValidation(validationData);\n }).catch(function (validationErr) {\n self.model.reportError(validationErr);\n self._sessionInProgress = false;\n session.abort();\n });\n };\n\n session.onpaymentauthorized = function (event) {\n self.applePayInstance.tokenize({\n token: event.payment.token\n }).then(function (payload) {\n self._sessionInProgress = false;\n session.completePayment(global.ApplePaySession.STATUS_SUCCESS);\n payload.rawPaymentData = event.payment;\n self.model.addPaymentMethod(payload);\n }).catch(function (tokenizeErr) {\n self.model.reportError(tokenizeErr);\n self._sessionInProgress = false;\n session.completePayment(global.ApplePaySession.STATUS_FAILURE);\n });\n };\n\n session.oncancel = function () {\n self._sessionInProgress = false;\n };\n\n session.begin();\n\n return false;\n};\n\nApplePayView.prototype.updateConfiguration = function (key, value) {\n this.applePayConfiguration[key] = value;\n};\n\nApplePayView.isEnabled = function (options) {\n var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration;\n var applePayEnabled = gatewayConfiguration.applePayWeb && Boolean(options.merchantConfiguration.applePay);\n var applePaySessionVersion = options.merchantConfiguration.applePay && options.merchantConfiguration.applePay.applePaySessionVersion;\n var applePayBrowserSupported;\n\n applePaySessionVersion = applePaySessionVersion || DEFAULT_APPLE_PAY_SESSION_VERSION;\n\n if (!applePayEnabled) {\n return Promise.resolve(false);\n }\n\n applePayBrowserSupported = global.ApplePaySession && isHTTPS.isHTTPS();\n\n if (!applePayBrowserSupported) {\n return Promise.resolve(false);\n }\n\n if (!global.ApplePaySession.supportsVersion(applePaySessionVersion)) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(Boolean(global.ApplePaySession.canMakePayments()));\n};\n\nmodule.exports = ApplePayView;\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"../../constants\":191,\"../../lib/assign\":197,\"../../lib/dropin-error\":201,\"../../lib/is-https\":204,\"../../lib/promise\":208,\"../base-view\":249,\"braintree-web/apple-pay\":53}],256:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nvar analytics = require('../../lib/analytics');\nvar assign = require('../../lib/assign').assign;\nvar browserDetection = require('../../lib/browser-detection');\nvar BaseView = require('../base-view');\nvar btPaypal = require('braintree-web/paypal-checkout');\nvar DropinError = require('../../lib/dropin-error');\nvar constants = require('../../constants');\nvar assets = require('@braintree/asset-loader');\nvar translations = require('../../translations').fiveCharacterLocales;\nvar Promise = require('../../lib/promise');\n\nvar ASYNC_DEPENDENCY_TIMEOUT = 30000;\nvar READ_ONLY_CONFIGURATION_OPTIONS = ['offerCredit', 'locale'];\nvar DEFAULT_CHECKOUTJS_LOG_LEVEL = 'warn';\n\nvar paypalScriptLoadInProgressPromise;\n\nfunction BasePayPalView() {\n BaseView.apply(this, arguments);\n}\n\nBasePayPalView.prototype = Object.create(BaseView.prototype);\n\nBasePayPalView.prototype.initialize = function () {\n var asyncDependencyTimeoutHandler;\n var isCredit = Boolean(this._isPayPalCredit);\n var setupComplete = false;\n var self = this;\n var paypalType = isCredit ? 'paypalCredit' : 'paypal';\n var paypalConfiguration = this.model.merchantConfiguration[paypalType];\n var dropinWrapperId = '#braintree--dropin__' + this.model.componentID;\n\n this.paypalConfiguration = assign({}, paypalConfiguration);\n\n asyncDependencyTimeoutHandler = setTimeout(function () {\n self.model.asyncDependencyFailed({\n view: self.ID,\n error: new DropinError('There was an error connecting to PayPal.')\n });\n }, ASYNC_DEPENDENCY_TIMEOUT);\n\n return btPaypal.create({client: this.client}).then(function (paypalInstance) {\n var checkoutJSConfiguration;\n var buttonSelector = '[data-braintree-id=\"paypal-button\"]';\n var environment = self.client.getConfiguration().gatewayConfiguration.environment === 'production' ? 'production' : 'sandbox';\n var locale = self.model.merchantConfiguration.locale;\n\n self.paypalInstance = paypalInstance;\n\n self.paypalConfiguration.offerCredit = Boolean(isCredit);\n checkoutJSConfiguration = {\n env: environment,\n style: self.paypalConfiguration.buttonStyle || {},\n commit: self.paypalConfiguration.commit,\n payment: function () {\n return paypalInstance.createPayment(self.paypalConfiguration).catch(reportError);\n },\n onAuthorize: function (data) {\n // NEXT_MAJOR_VERSION change out this vaultPayPal property\n // to something more generic, such as vaultOnTokenization so\n // all the vault objects can have the same shape (instead\n // of being specific to PayPal accounts here)\n var shouldNotVault = self.paypalConfiguration.vault && self.paypalConfiguration.vault.vaultPayPal === false;\n\n if (shouldNotVault) {\n data.vault = false;\n }\n\n return paypalInstance.tokenizePayment(data).then(function (tokenizePayload) {\n if (!shouldNotVault && self.paypalConfiguration.flow === 'vault' && !self.model.isGuestCheckout) {\n tokenizePayload.vaulted = true;\n }\n self.model.addPaymentMethod(tokenizePayload);\n }).catch(reportError);\n },\n onError: reportError\n };\n\n if (locale && locale in translations) {\n self.paypalConfiguration.locale = locale;\n checkoutJSConfiguration.locale = locale;\n }\n checkoutJSConfiguration.funding = {\n disallowed: []\n };\n\n Object.keys(global.paypal.FUNDING).forEach(function (key) {\n if (key === 'PAYPAL' || key === 'CREDIT') {\n return;\n }\n checkoutJSConfiguration.funding.disallowed.push(global.paypal.FUNDING[key]);\n });\n\n if (isCredit) {\n buttonSelector = '[data-braintree-id=\"paypal-credit-button\"]';\n checkoutJSConfiguration.style.label = 'credit';\n } else {\n checkoutJSConfiguration.funding.disallowed.push(global.paypal.FUNDING.CREDIT);\n }\n\n buttonSelector = dropinWrapperId + ' ' + buttonSelector;\n\n return global.paypal.Button.render(checkoutJSConfiguration, buttonSelector).then(function () {\n self.model.asyncDependencyReady(paypalType);\n setupComplete = true;\n clearTimeout(asyncDependencyTimeoutHandler);\n });\n }).catch(reportError);\n\n function reportError(err) {\n if (setupComplete) {\n self.model.reportError(err);\n } else {\n self.model.asyncDependencyFailed({\n view: self.ID,\n error: err\n });\n clearTimeout(asyncDependencyTimeoutHandler);\n }\n }\n};\n\nBasePayPalView.prototype.requestPaymentMethod = function () {\n this.model.reportError('paypalButtonMustBeUsed');\n\n return BaseView.prototype.requestPaymentMethod.call(this);\n};\n\nBasePayPalView.prototype.updateConfiguration = function (key, value) {\n if (READ_ONLY_CONFIGURATION_OPTIONS.indexOf(key) === -1) {\n this.paypalConfiguration[key] = value;\n }\n};\n\nBasePayPalView.isEnabled = function (options) {\n var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration;\n var merchantPayPalConfig = options.merchantConfiguration.paypal || options.merchantConfiguration.paypalCredit;\n\n if (!gatewayConfiguration.paypalEnabled) {\n return Promise.resolve(false);\n }\n\n if (browserDetection.isIe9() || browserDetection.isIe10()) {\n analytics.sendEvent(options.client, options.viewID + '.checkout.js-browser-not-supported');\n\n return Promise.resolve(false);\n }\n\n if (global.paypal && global.paypal.Button) {\n return Promise.resolve(true);\n }\n\n if (paypalScriptLoadInProgressPromise) {\n return paypalScriptLoadInProgressPromise;\n }\n\n paypalScriptLoadInProgressPromise = assets.loadScript({\n src: constants.CHECKOUT_JS_SOURCE,\n id: constants.PAYPAL_CHECKOUT_SCRIPT_ID,\n dataAttributes: {\n 'log-level': merchantPayPalConfig.logLevel || DEFAULT_CHECKOUTJS_LOG_LEVEL\n }\n }).then(function () {\n return Promise.resolve(true);\n }).catch(function () {\n return Promise.resolve(false);\n }).then(function (result) {\n paypalScriptLoadInProgressPromise = null;\n\n return Promise.resolve(result);\n });\n\n return paypalScriptLoadInProgressPromise;\n};\n\nmodule.exports = BasePayPalView;\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"../../constants\":191,\"../../lib/analytics\":196,\"../../lib/assign\":197,\"../../lib/browser-detection\":198,\"../../lib/dropin-error\":201,\"../../lib/promise\":208,\"../../translations\":232,\"../base-view\":249,\"@braintree/asset-loader\":1,\"braintree-web/paypal-checkout\":136}],257:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\n\nvar BaseView = require('../base-view');\nvar classList = require('@braintree/class-list');\nvar constants = require('../../constants');\nvar DropinError = require('../../lib/dropin-error');\nvar hostedFields = require('braintree-web/hosted-fields');\nvar isUtf8 = require('../../lib/is-utf-8');\nvar transitionHelper = require('../../lib/transition-helper');\nvar Promise = require('../../lib/promise');\n\nvar cardIconHTML = \"
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\\n\";\n\nvar PASSTHROUGH_EVENTS = [\n 'empty',\n // TODO should intercept this event and call tokenize\n 'inputSubmitRequest',\n 'binAvailable'\n];\n\nfunction CardView() {\n BaseView.apply(this, arguments);\n}\n\nCardView.prototype = Object.create(BaseView.prototype);\nCardView.prototype.constructor = CardView;\nCardView.ID = CardView.prototype.ID = constants.paymentOptionIDs.card;\n\nCardView.prototype.initialize = function () {\n var cvvFieldGroup, postalCodeFieldGroup, hfOptions;\n var cardholderNameGroup = this.getElementById('cardholder-name-field-group');\n var cardIcons = this.getElementById('card-view-icons');\n\n this.merchantConfiguration = this.model.merchantConfiguration.card || {};\n this.merchantConfiguration.vault = this.merchantConfiguration.vault || {};\n this.hasCardholderName = Boolean(this.merchantConfiguration.cardholderName);\n this.cardholderNameRequired = this.hasCardholderName && this.merchantConfiguration.cardholderName.required === true;\n hfOptions = this._generateHostedFieldsOptions();\n\n cardIcons.innerHTML = cardIconHTML;\n this._hideUnsupportedCardIcons();\n\n this.hasCVV = hfOptions.fields.cvv;\n this.saveCardInput = this.getElementById('save-card-input');\n this.cardNumberIcon = this.getElementById('card-number-icon');\n this.cardNumberIconSvg = this.getElementById('card-number-icon-svg');\n this.cvvIcon = this.getElementById('cvv-icon');\n this.cvvIconSvg = this.getElementById('cvv-icon-svg');\n this.cvvLabelDescriptor = this.getElementById('cvv-label-descriptor');\n this.fieldErrors = {};\n\n if (!this.hasCardholderName) {\n cardholderNameGroup.parentNode.removeChild(cardholderNameGroup);\n }\n\n if (!this.hasCVV) {\n cvvFieldGroup = this.getElementById('cvv-field-group');\n cvvFieldGroup.parentNode.removeChild(cvvFieldGroup);\n }\n\n if (!hfOptions.fields.postalCode) {\n postalCodeFieldGroup = this.getElementById('postal-code-field-group');\n postalCodeFieldGroup.parentNode.removeChild(postalCodeFieldGroup);\n }\n\n if (!this.model.isGuestCheckout && this.merchantConfiguration.vault.allowVaultCardOverride === true) {\n classList.remove(this.getElementById('save-card-field-group'), 'braintree-hidden');\n }\n\n // NEXT_MAJOR_VERSION change out this vaultCard property\n // to something more generic, such as vaultOnTokenization so\n // all the vault objects can have the same shape (instead\n // of being specific to cards here)\n if (this.merchantConfiguration.vault.vaultCard === false) {\n this.saveCardInput.checked = false;\n }\n\n return hostedFields.create(hfOptions).then(function (hostedFieldsInstance) {\n this.hostedFieldsInstance = hostedFieldsInstance;\n this.hostedFieldsInstance.on('blur', this._onBlurEvent.bind(this));\n this.hostedFieldsInstance.on('cardTypeChange', this._onCardTypeChangeEvent.bind(this));\n this.hostedFieldsInstance.on('focus', this._onFocusEvent.bind(this));\n this.hostedFieldsInstance.on('notEmpty', this._onNotEmptyEvent.bind(this));\n this.hostedFieldsInstance.on('validityChange', this._onValidityChangeEvent.bind(this));\n\n PASSTHROUGH_EVENTS.forEach(function (eventName) {\n this.hostedFieldsInstance.on(eventName, function (event) {\n this.model._emit('card:' + eventName, event);\n }.bind(this));\n }.bind(this));\n\n this.model.asyncDependencyReady(CardView.ID);\n }.bind(this)).catch(function (err) {\n this.model.asyncDependencyFailed({\n view: this.ID,\n error: err\n });\n }.bind(this));\n};\n\nCardView.prototype._sendRequestableEvent = function () {\n if (!this._isTokenizing) {\n this.model.setPaymentMethodRequestable({\n isRequestable: this._validateForm(),\n type: constants.paymentMethodTypes.card\n });\n }\n};\n\nCardView.prototype._generateHostedFieldsOptions = function () {\n var challenges = this.client.getConfiguration().gatewayConfiguration.challenges;\n var hasCVVChallenge = challenges.indexOf('cvv') !== -1;\n var hasPostalCodeChallenge = challenges.indexOf('postal_code') !== -1;\n var overrides = this.merchantConfiguration.overrides;\n var options = {\n client: this.client,\n fields: {\n cardholderName: {\n container: this._getFieldContainer('cardholder-name'),\n placeholder: this.strings.cardholderNamePlaceholder\n },\n number: {\n container: this._getFieldContainer('number'),\n placeholder: generateCardNumberPlaceholder()\n },\n expirationDate: {\n container: this._getFieldContainer('expiration'),\n placeholder: this.strings.expirationDatePlaceholder\n },\n cvv: {\n container: this._getFieldContainer('cvv'),\n placeholder: addBullets(3)\n },\n postalCode: {\n container: this._getFieldContainer('postal-code')\n }\n },\n styles: {\n input: {\n 'font-size': '16px',\n 'font-family': '-apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif',\n color: '#000'\n },\n ':focus': {\n color: 'black'\n },\n '::-webkit-input-placeholder': {\n color: '#6a6a6a'\n },\n ':-moz-placeholder': {\n color: '#6a6a6a'\n },\n '::-moz-placeholder': {\n color: '#6a6a6a'\n },\n ':-ms-input-placeholder ': {\n color: '#6a6a6a'\n },\n 'input::-ms-clear': {\n color: 'transparent'\n }\n }\n };\n\n if (!this.hasCardholderName) {\n delete options.fields.cardholderName;\n }\n\n if (!hasCVVChallenge) {\n delete options.fields.cvv;\n }\n\n if (!hasPostalCodeChallenge) {\n delete options.fields.postalCode;\n }\n\n if (!overrides) { return options; }\n\n if (overrides.fields) {\n if (overrides.fields.cvv && typeof overrides.fields.cvv.placeholder !== 'undefined') {\n this._hasCustomCVVPlaceholder = true;\n }\n\n Object.keys(overrides.fields).forEach(function (field) {\n if ((field === 'cvv' || field === 'postalCode') && overrides.fields[field] === null) {\n delete options.fields[field];\n\n return;\n }\n\n if (!options.fields[field]) {\n return;\n }\n\n assign(options.fields[field], overrides.fields[field], {\n selector: options.fields[field].selector\n });\n });\n }\n\n if (overrides.styles) {\n Object.keys(overrides.styles).forEach(function (style) {\n if (overrides.styles[style] === null) {\n delete options.styles[style];\n\n return;\n } else if (typeof overrides.styles[style] === 'string') {\n // it's a class name, and should override the configured styles entirely\n options.styles[style] = overrides.styles[style];\n\n return;\n }\n\n normalizeStyles(overrides.styles[style]);\n options.styles[style] = options.styles[style] || {};\n\n assign(options.styles[style], overrides.styles[style]);\n });\n }\n\n return options;\n};\n\nCardView.prototype._validateForm = function (showFieldErrors) {\n var card, cardType, cardTypeSupported, state;\n var isValid = true;\n var supportedCardTypes = this.client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes;\n\n if (!this.hostedFieldsInstance) {\n return false;\n }\n\n state = this.hostedFieldsInstance.getState();\n\n Object.keys(state.fields).forEach(function (key) {\n var field = state.fields[key];\n\n if (!showFieldErrors && !isValid) {\n // return early if form is already invalid\n // and we don't need to display all field errors\n return;\n }\n\n if (field.isEmpty) {\n if (!this.cardholderNameRequired && key === 'cardholderName') {\n isValid = true;\n } else {\n isValid = false;\n\n if (showFieldErrors) {\n this.showFieldError(key, this.strings['fieldEmptyFor' + capitalize(key)]);\n }\n }\n } else if (!field.isValid) {\n isValid = false;\n\n if (showFieldErrors) {\n this.showFieldError(key, this.strings['fieldInvalidFor' + capitalize(key)]);\n }\n }\n }.bind(this));\n\n if (state.fields.number.isValid) {\n card = state.cards[0];\n cardType = card && constants.configurationCardTypes[card.type];\n cardTypeSupported = cardType && supportedCardTypes.indexOf(cardType) !== -1;\n\n if (!cardTypeSupported) {\n isValid = false;\n\n if (showFieldErrors) {\n this.showFieldError('number', this.strings.unsupportedCardTypeError);\n }\n }\n }\n\n return isValid;\n};\n\nCardView.prototype.getPaymentMethod = function () { // eslint-disable-line consistent-return\n var formIsValid = this._validateForm();\n\n if (formIsValid) {\n return {\n type: constants.paymentMethodTypes.card\n };\n }\n};\n\nCardView.prototype.tokenize = function () {\n var transitionCallback;\n var self = this;\n var state = self.hostedFieldsInstance.getState();\n var tokenizeOptions = {\n vault: this._shouldVault()\n };\n\n this.model.clearError();\n\n if (!this._validateForm(true)) {\n self.model.reportError('hostedFieldsFieldsInvalidError');\n self.allowUserAction();\n\n return Promise.reject(new DropinError(constants.errors.NO_PAYMENT_METHOD_ERROR));\n }\n\n if (!this.cardholderNameRequired && state.fields.cardholderName && state.fields.cardholderName.isEmpty) {\n tokenizeOptions.fieldsToTokenize = Object.keys(state.fields).filter(function (field) {\n return field !== 'cardholderName';\n });\n }\n\n self._isTokenizing = true;\n\n return self.hostedFieldsInstance.tokenize(tokenizeOptions).then(function (payload) {\n var retainCardFields = self.merchantConfiguration.clearFieldsAfterTokenization === false;\n\n if (!retainCardFields) {\n Object.keys(state.fields).forEach(function (field) {\n self.hostedFieldsInstance.clear(field);\n });\n }\n\n if (self._shouldVault()) {\n payload.vaulted = true;\n }\n\n return new Promise(function (resolve) {\n transitionCallback = function () {\n // Wait for braintree-sheet--tokenized class to be added in IE 9\n // before attempting to remove it\n setTimeout(function () {\n self.model.addPaymentMethod(payload);\n resolve(payload);\n classList.remove(self.element, 'braintree-sheet--tokenized');\n }, 0);\n };\n\n transitionHelper.onTransitionEnd(self.element, 'max-height', transitionCallback);\n\n setTimeout(function () {\n self.allowUserAction();\n self._isTokenizing = false;\n }, constants.CHANGE_ACTIVE_PAYMENT_METHOD_TIMEOUT);\n\n classList.add(self.element, 'braintree-sheet--tokenized');\n });\n }).catch(function (err) {\n self._isTokenizing = false;\n // this is a little magical, but if the code property exists\n // in the translations with the word Error appended to the end,\n // then reportError will automatically print that translation.\n // See https://github.com/braintree/braintree-web-drop-in/blob/6ecba73f2f16e8b7ae2119702ac162a1a985908e/src/views/main-view.js#L255-L256\n self.model.reportError(err);\n self.allowUserAction();\n\n return Promise.reject(new DropinError({\n message: constants.errors.NO_PAYMENT_METHOD_ERROR,\n braintreeWebError: err\n }));\n });\n};\n\nCardView.prototype.showFieldError = function (field, errorMessage) {\n var fieldError;\n var fieldGroup = this.getElementById(camelCaseToKebabCase(field) + '-field-group');\n var input = fieldGroup.querySelector('input');\n\n if (!this.fieldErrors.hasOwnProperty(field)) {\n this.fieldErrors[field] = this.getElementById(camelCaseToKebabCase(field) + '-field-error');\n }\n\n classList.add(fieldGroup, 'braintree-form__field-group--has-error');\n\n fieldError = this.fieldErrors[field];\n fieldError.innerHTML = errorMessage;\n\n if (input) {\n input.setAttribute('aria-invalid', true);\n } else {\n this.hostedFieldsInstance.setAttribute({\n field: field,\n attribute: 'aria-invalid',\n value: true\n });\n this.hostedFieldsInstance.setMessage({\n field: field,\n message: errorMessage\n });\n }\n};\n\nCardView.prototype.hideFieldError = function (field) {\n var fieldGroup = this.getElementById(camelCaseToKebabCase(field) + '-field-group');\n var input = fieldGroup.querySelector('input');\n\n if (!this.fieldErrors.hasOwnProperty(field)) {\n this.fieldErrors[field] = this.getElementById(camelCaseToKebabCase(field) + '-field-error');\n }\n\n classList.remove(fieldGroup, 'braintree-form__field-group--has-error');\n\n if (input) {\n input.removeAttribute('aria-invalid');\n } else {\n this.hostedFieldsInstance.removeAttribute({\n field: field,\n attribute: 'aria-invalid'\n });\n this.hostedFieldsInstance.setMessage({\n field: field,\n message: ''\n });\n }\n};\n\nCardView.prototype.teardown = function () {\n return this.hostedFieldsInstance.teardown();\n};\n\nCardView.prototype._shouldVault = function () {\n return !this.model.isGuestCheckout && this.saveCardInput.checked;\n};\n\nCardView.prototype._getFieldContainer = function (field) {\n // we committed to not changing the data-braintree-id fields\n // so we need to convert this field to the id used in the HTML\n if (field === 'expiration') {\n field = 'expiration-date';\n }\n\n return this.getElementById(field + '-field-group').querySelector('.braintree-form__hosted-field');\n};\n\nCardView.prototype._onBlurEvent = function (event) {\n var field = event.fields[event.emittedBy];\n var fieldGroup = this.getElementById(camelCaseToKebabCase(event.emittedBy) + '-field-group');\n\n classList.remove(fieldGroup, 'braintree-form__field-group--is-focused');\n\n if (this._shouldApplyFieldEmptyError(event.emittedBy, field)) {\n this.showFieldError(event.emittedBy, this.strings['fieldEmptyFor' + capitalize(event.emittedBy)]);\n } else if (!field.isEmpty && !field.isValid) {\n this.showFieldError(event.emittedBy, this.strings['fieldInvalidFor' + capitalize(event.emittedBy)]);\n } else if (event.emittedBy === 'number' && !this._isCardTypeSupported(event.cards[0].type)) {\n this.showFieldError('number', this.strings.unsupportedCardTypeError);\n }\n\n this.model._emit('card:blur', event);\n\n setTimeout(function () {\n // when focusing on a field by clicking the label,\n // we need to wait a bit for the iframe to be\n // focused properly before applying validations\n if (this._shouldApplyFieldEmptyError(event.emittedBy, field)) {\n this.showFieldError(event.emittedBy, this.strings['fieldEmptyFor' + capitalize(event.emittedBy)]);\n }\n }.bind(this), 150);\n};\n\nCardView.prototype._onCardTypeChangeEvent = function (event) {\n var cardType;\n var cardNumberHrefLink = '#iconCardFront';\n var cvvHrefLink = '#iconCVVBack';\n var cvvDescriptor = this.strings.cvvThreeDigitLabelSubheading;\n var cvvPlaceholder = addBullets(3);\n var numberFieldGroup = this.getElementById('number-field-group');\n\n if (event.cards.length === 1) {\n cardType = event.cards[0].type;\n cardNumberHrefLink = '#icon-' + cardType;\n if (cardType === 'american-express') {\n cvvHrefLink = '#iconCVVFront';\n cvvDescriptor = this.strings.cvvFourDigitLabelSubheading;\n cvvPlaceholder = addBullets(4);\n }\n // Keep icon visible when field is not focused\n classList.add(numberFieldGroup, 'braintree-form__field-group--card-type-known');\n } else {\n classList.remove(numberFieldGroup, 'braintree-form__field-group--card-type-known');\n }\n\n this.cardNumberIconSvg.setAttribute('xlink:href', cardNumberHrefLink);\n\n if (this.hasCVV) {\n this.cvvIconSvg.setAttribute('xlink:href', cvvHrefLink);\n this.cvvLabelDescriptor.innerHTML = cvvDescriptor;\n\n if (!this._hasCustomCVVPlaceholder) {\n this.hostedFieldsInstance.setAttribute({\n field: 'cvv',\n attribute: 'placeholder',\n value: cvvPlaceholder\n });\n }\n }\n\n this.model._emit('card:cardTypeChange', event);\n};\n\nCardView.prototype._onFocusEvent = function (event) {\n var fieldGroup = this.getElementById(camelCaseToKebabCase(event.emittedBy) + '-field-group');\n\n classList.add(fieldGroup, 'braintree-form__field-group--is-focused');\n\n this.model._emit('card:focus', event);\n};\n\nCardView.prototype._onNotEmptyEvent = function (event) {\n this.hideFieldError(event.emittedBy);\n\n this.model._emit('card:notEmpty', event);\n};\n\nCardView.prototype._onValidityChangeEvent = function (event) {\n var isValid;\n var field = event.fields[event.emittedBy];\n\n if (event.emittedBy === 'number' && event.cards[0]) {\n isValid = field.isValid && this._isCardTypeSupported(event.cards[0].type);\n } else {\n isValid = field.isValid;\n }\n\n classList.toggle(field.container, 'braintree-form__field--valid', isValid);\n\n if (field.isPotentiallyValid) {\n this.hideFieldError(event.emittedBy);\n }\n\n this._sendRequestableEvent();\n\n this.model._emit('card:validityChange', event);\n};\n\nCardView.prototype.requestPaymentMethod = function () {\n this.preventUserAction();\n\n return this.tokenize();\n};\n\nCardView.prototype.onSelection = function () {\n if (!this.hostedFieldsInstance) {\n return;\n }\n\n setTimeout(function () {\n if (this.hasCardholderName) {\n this.hostedFieldsInstance.focus('cardholderName');\n } else {\n this.hostedFieldsInstance.focus('number');\n }\n }.bind(this), 50);\n\n this._sendRequestableEvent();\n};\n\nCardView.prototype._hideUnsupportedCardIcons = function () {\n var supportedCardTypes = this.client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes;\n\n Object.keys(constants.configurationCardTypes).forEach(function (paymentMethodCardType) {\n var cardIcon;\n var configurationCardType = constants.configurationCardTypes[paymentMethodCardType];\n\n if (supportedCardTypes.indexOf(configurationCardType) === -1) {\n cardIcon = this.getElementById(paymentMethodCardType + '-card-icon');\n classList.add(cardIcon, 'braintree-hidden');\n }\n }.bind(this));\n};\n\nCardView.prototype._isCardTypeSupported = function (cardType) {\n var configurationCardType = constants.configurationCardTypes[cardType];\n var supportedCardTypes = this.client.getConfiguration().gatewayConfiguration.creditCards.supportedCardTypes;\n\n return supportedCardTypes.indexOf(configurationCardType) !== -1;\n};\n\nCardView.isEnabled = function (options) {\n var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration;\n var disabledByMerchant = options.merchantConfiguration.card === false;\n\n return Promise.resolve(!disabledByMerchant && gatewayConfiguration.creditCards.supportedCardTypes.length > 0);\n};\n\nCardView.prototype._shouldApplyFieldEmptyError = function (fieldId, field) {\n if (!field.isEmpty) {\n return false;\n }\n\n if (fieldId === 'cardholderName' && !this.cardholderNameRequired) {\n return false;\n }\n\n return isCardViewElement();\n};\n\nfunction isCardViewElement() {\n var activeId = document.activeElement && document.activeElement.id;\n var isHostedFieldsElement = document.activeElement instanceof HTMLIFrameElement && activeId.indexOf('braintree-hosted-field') !== -1;\n\n return isHostedFieldsElement;\n}\n\nfunction camelCaseToKebabCase(string) {\n return string.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction capitalize(string) {\n return string[0].toUpperCase() + string.substr(1);\n}\n\nfunction normalizeStyles(styles) {\n Object.keys(styles).forEach(function (style) {\n var transformedKeyName = camelCaseToKebabCase(style);\n\n styles[transformedKeyName] = styles[style];\n });\n}\n\nfunction addBullets(number) {\n var bulletCharacter = isUtf8() ? '•' : '*';\n\n return Array(number + 1).join(bulletCharacter);\n}\n\nfunction generateCardNumberPlaceholder() {\n var four = addBullets(4);\n\n return [four, four, four, four].join(' ');\n}\n\nmodule.exports = CardView;\n\n},{\"../../constants\":191,\"../../lib/assign\":197,\"../../lib/dropin-error\":201,\"../../lib/is-utf-8\":205,\"../../lib/promise\":208,\"../../lib/transition-helper\":212,\"../base-view\":249,\"@braintree/class-list\":39,\"braintree-web/hosted-fields\":85}],258:[function(require,module,exports){\n(function (global){(function (){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\nvar BaseView = require('../base-view');\nvar btGooglePay = require('braintree-web/google-payment');\nvar DropinError = require('../../lib/dropin-error');\nvar constants = require('../../constants');\nvar assets = require('@braintree/asset-loader');\nvar Promise = require('../../lib/promise');\nvar analytics = require('../../lib/analytics');\n\nfunction GooglePayView() {\n BaseView.apply(this, arguments);\n}\n\nGooglePayView.prototype = Object.create(BaseView.prototype);\nGooglePayView.prototype.constructor = GooglePayView;\nGooglePayView.ID = GooglePayView.prototype.ID = constants.paymentOptionIDs.googlePay;\n\nGooglePayView.prototype.initialize = function () {\n var self = this;\n var buttonOptions, googlePayVersion, merchantId;\n\n self.googlePayConfiguration = assign({}, self.model.merchantConfiguration.googlePay);\n googlePayVersion = self.googlePayConfiguration.googlePayVersion;\n merchantId = self.googlePayConfiguration.merchantId;\n\n buttonOptions = assign({\n buttonType: 'short'\n }, self.googlePayConfiguration.button, {\n onClick: function (event) {\n event.preventDefault();\n\n self.preventUserAction();\n\n self.tokenize().then(function () {\n self.allowUserAction();\n });\n }\n });\n\n delete self.googlePayConfiguration.googlePayVersion;\n delete self.googlePayConfiguration.merchantId;\n delete self.googlePayConfiguration.button;\n\n return btGooglePay.create({\n client: self.client,\n googlePayVersion: googlePayVersion,\n googleMerchantId: merchantId\n }).then(function (googlePayInstance) {\n self.googlePayInstance = googlePayInstance;\n self.paymentsClient = createPaymentsClient(self.client);\n }).then(function () {\n var buttonContainer = self.getElementById('google-pay-button');\n\n buttonContainer.appendChild(self.paymentsClient.createButton(buttonOptions));\n\n self.model.asyncDependencyReady(GooglePayView.ID);\n }).catch(function (err) {\n self.model.asyncDependencyFailed({\n view: self.ID,\n error: new DropinError(err)\n });\n });\n};\n\nGooglePayView.prototype.tokenize = function () {\n var self = this;\n var paymentDataRequest = self.googlePayInstance.createPaymentDataRequest(self.googlePayConfiguration);\n var rawPaymentData;\n\n return self.paymentsClient.loadPaymentData(paymentDataRequest).then(function (paymentData) {\n rawPaymentData = paymentData;\n\n return self.googlePayInstance.parseResponse(paymentData);\n }).then(function (tokenizePayload) {\n tokenizePayload.rawPaymentData = rawPaymentData;\n self.model.addPaymentMethod(tokenizePayload);\n }).catch(function (err) {\n var reportedError = err;\n\n if (err.statusCode === 'DEVELOPER_ERROR') {\n console.error(err); // eslint-disable-line no-console\n reportedError = 'developerError';\n } else if (err.statusCode === 'CANCELED') {\n analytics.sendEvent(self.client, 'googlepay.loadPaymentData.canceled');\n\n return;\n } else if (err.statusCode) {\n analytics.sendEvent(self.client, 'googlepay.loadPaymentData.failed');\n }\n\n self.model.reportError(reportedError);\n });\n};\n\nGooglePayView.prototype.updateConfiguration = function (key, value) {\n this.googlePayConfiguration[key] = value;\n};\n\nGooglePayView.isEnabled = function (options) {\n var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration;\n\n if (!(gatewayConfiguration.androidPay && Boolean(options.merchantConfiguration.googlePay))) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve().then(function () {\n if (!(global.google && global.google.payments && global.google.payments.api && global.google.payments.api.PaymentsClient)) {\n return assets.loadScript({\n id: constants.GOOGLE_PAYMENT_SCRIPT_ID,\n src: constants.GOOGLE_PAYMENT_SOURCE\n });\n }\n\n return Promise.resolve();\n }).then(function () {\n var paymentsClient = createPaymentsClient(options.client);\n\n return paymentsClient.isReadyToPay({\n allowedPaymentMethods: ['CARD', 'TOKENIZED_CARD']\n });\n }).then(function (response) {\n return Boolean(response.result);\n });\n};\n\nfunction createPaymentsClient(client) {\n return new global.google.payments.api.PaymentsClient({\n environment: client.getConfiguration().gatewayConfiguration.environment === 'production' ? 'PRODUCTION' : 'TEST'\n });\n}\n\nmodule.exports = GooglePayView;\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"../../constants\":191,\"../../lib/analytics\":196,\"../../lib/assign\":197,\"../../lib/dropin-error\":201,\"../../lib/promise\":208,\"../base-view\":249,\"@braintree/asset-loader\":1,\"braintree-web/google-payment\":78}],259:[function(require,module,exports){\n'use strict';\n\nvar paymentOptionIDs = require('../../constants').paymentOptionIDs;\n\nvar result = {};\n\nresult[paymentOptionIDs.applePay] = require('./apple-pay-view');\nresult[paymentOptionIDs.card] = require('./card-view');\nresult[paymentOptionIDs.googlePay] = require('./google-pay-view');\nresult[paymentOptionIDs.paypal] = require('./paypal-view');\nresult[paymentOptionIDs.paypalCredit] = require('./paypal-credit-view');\nresult[paymentOptionIDs.venmo] = require('./venmo-view');\n\nmodule.exports = result;\n\n},{\"../../constants\":191,\"./apple-pay-view\":255,\"./card-view\":257,\"./google-pay-view\":258,\"./paypal-credit-view\":260,\"./paypal-view\":261,\"./venmo-view\":262}],260:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\nvar Promise = require('../../lib/promise');\nvar paymentOptionIDs = require('../../constants').paymentOptionIDs;\nvar BasePayPalView = require('./base-paypal-view');\n\nfunction PayPalCreditView() {\n BasePayPalView.apply(this, arguments);\n\n this._isPayPalCredit = true;\n}\n\nPayPalCreditView.prototype = Object.create(BasePayPalView.prototype);\nPayPalCreditView.prototype.constructor = PayPalCreditView;\nPayPalCreditView.ID = PayPalCreditView.prototype.ID = paymentOptionIDs.paypalCredit;\n\nPayPalCreditView.isEnabled = function (options) {\n if (!options.merchantConfiguration.paypalCredit) {\n return Promise.resolve(false);\n }\n\n return BasePayPalView.isEnabled(assign({\n viewID: PayPalCreditView.ID\n }, options));\n};\nmodule.exports = PayPalCreditView;\n\n},{\"../../constants\":191,\"../../lib/assign\":197,\"../../lib/promise\":208,\"./base-paypal-view\":256}],261:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\nvar Promise = require('../../lib/promise');\nvar paymentOptionIDs = require('../../constants').paymentOptionIDs;\nvar BasePayPalView = require('./base-paypal-view');\n\nfunction PayPalView() {\n BasePayPalView.apply(this, arguments);\n}\n\nPayPalView.prototype = Object.create(BasePayPalView.prototype);\nPayPalView.prototype.constructor = PayPalView;\nPayPalView.ID = PayPalView.prototype.ID = paymentOptionIDs.paypal;\n\nPayPalView.isEnabled = function (options) {\n if (!options.merchantConfiguration.paypal) {\n return Promise.resolve(false);\n }\n\n return BasePayPalView.isEnabled(assign({\n viewID: PayPalView.ID\n }, options));\n};\n\nmodule.exports = PayPalView;\n\n},{\"../../constants\":191,\"../../lib/assign\":197,\"../../lib/promise\":208,\"./base-paypal-view\":256}],262:[function(require,module,exports){\n'use strict';\n\nvar assign = require('../../lib/assign').assign;\nvar BaseView = require('../base-view');\nvar btVenmo = require('braintree-web/venmo');\nvar DropinError = require('../../lib/dropin-error');\nvar Promise = require('../../lib/promise');\nvar paymentOptionIDs = require('../../constants').paymentOptionIDs;\n\nfunction VenmoView() {\n BaseView.apply(this, arguments);\n}\n\nVenmoView.prototype = Object.create(BaseView.prototype);\nVenmoView.prototype.constructor = VenmoView;\nVenmoView.ID = VenmoView.prototype.ID = paymentOptionIDs.venmo;\n\nVenmoView.prototype.initialize = function () {\n var self = this;\n var venmoConfiguration = assign({}, self.model.merchantConfiguration.venmo, {client: this.client});\n\n return btVenmo.create(venmoConfiguration).then(function (venmoInstance) {\n self.venmoInstance = venmoInstance;\n\n if (!self.venmoInstance.hasTokenizationResult()) {\n return Promise.resolve();\n }\n\n return self.venmoInstance.tokenize().then(function (payload) {\n self.model.reportAppSwitchPayload(payload);\n }).catch(function (err) {\n if (self._isIgnorableError(err)) {\n return;\n }\n self.model.reportAppSwitchError(paymentOptionIDs.venmo, err);\n });\n }).then(function () {\n var button = self.getElementById('venmo-button');\n\n button.addEventListener('click', function (event) {\n event.preventDefault();\n\n self.preventUserAction();\n\n return self.venmoInstance.tokenize().then(function (payload) {\n self.model.addPaymentMethod(payload);\n }).catch(function (tokenizeErr) {\n if (self._isIgnorableError(tokenizeErr)) {\n return;\n }\n\n self.model.reportError(tokenizeErr);\n }).then(function () {\n self.allowUserAction();\n });\n });\n\n self.model.asyncDependencyReady(VenmoView.ID);\n }).catch(function (err) {\n self.model.asyncDependencyFailed({\n view: self.ID,\n error: new DropinError(err)\n });\n });\n};\n\nVenmoView.prototype._isIgnorableError = function (error) {\n // customer cancels the flow in the app\n // we don't emit an error because the customer\n // initiated that action\n return error.code === 'VENMO_APP_CANCELED' || error.code === 'VENMO_DESKTOP_CANCELED';\n};\n\nVenmoView.isEnabled = function (options) {\n var gatewayConfiguration = options.client.getConfiguration().gatewayConfiguration;\n var venmoEnabled = gatewayConfiguration.payWithVenmo && Boolean(options.merchantConfiguration.venmo);\n\n if (!venmoEnabled) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(btVenmo.isBrowserSupported(options.merchantConfiguration.venmo));\n};\n\nmodule.exports = VenmoView;\n\n},{\"../../constants\":191,\"../../lib/assign\":197,\"../../lib/dropin-error\":201,\"../../lib/promise\":208,\"../base-view\":249,\"braintree-web/venmo\":157}]},{},[194])(194)\n});\n","import _curry3 from \"./internal/_curry3.js\"; // `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\n\nvar Identity = function (x) {\n return {\n value: x,\n map: function (f) {\n return Identity(f(x));\n }\n };\n};\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\n\n\nvar over =\n/*#__PURE__*/\n_curry3(function over(lens, f, x) {\n // The value returned by the getter function is first transformed with `f`,\n // then set as the value of an `Identity`. This is then mapped over with the\n // setter function of the lens.\n return lens(function (y) {\n return Identity(f(y));\n })(x).value;\n});\n\nexport default over;","'use strict';\n\nvar compose = require('redux').compose;\n\nexports.__esModule = true;\nexports.composeWithDevTools =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n : function () {\n if (arguments.length === 0) return undefined;\n if (typeof arguments[0] === 'object') return compose;\n return compose.apply(null, arguments);\n };\n\nexports.devToolsEnhancer =\n typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__\n ? window.__REDUX_DEVTOOLS_EXTENSION__\n : function () {\n return function (noop) {\n return noop;\n };\n };\n","import React, { Component } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport PropTypes from 'prop-types';\nimport warning from 'tiny-warning';\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : {};\n\nfunction getUniqueId() {\n var key = '__global_unique_id__';\n return commonjsGlobal[key] = (commonjsGlobal[key] || 0) + 1;\n}\n\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + getUniqueId() + '__';\n\n var Provider = /*#__PURE__*/function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n function Provider() {\n var _this;\n\n _this = _Component.apply(this, arguments) || this;\n _this.emitter = createEventEmitter(_this.props.value);\n return _this;\n }\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0;\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n\n if (process.env.NODE_ENV !== 'production') {\n warning((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: ' + changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n _proto.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = PropTypes.object.isRequired, _Provider$childContex);\n\n var Consumer = /*#__PURE__*/function (_Component2) {\n _inheritsLoose(Consumer, _Component2);\n\n function Consumer() {\n var _this2;\n\n _this2 = _Component2.apply(this, arguments) || this;\n _this2.state = {\n value: _this2.getValue()\n };\n\n _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({\n value: _this2.getValue()\n });\n }\n };\n\n return _this2;\n }\n\n var _proto2 = Consumer.prototype;\n\n _proto2.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n\n var observedBits = this.props.observedBits;\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT : observedBits;\n };\n\n _proto2.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n _proto2.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n _proto2.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = PropTypes.object, _Consumer$contextType);\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nvar index = React.createContext || createReactContext;\n\nexport default index;\n","import * as React from 'react';\nimport { mergeCss } from '@fluentui/merge-styles';\nimport { IStyle, ITheme } from '@fluentui/style-utilities';\nimport { getRTL, memoizeFunction } from '@fluentui/utilities';\nimport { assign } from './utilities';\nimport { IFactoryOptions } from './IComponent';\nimport {\n ISlottableReactType,\n ISlot,\n ISlots,\n ISlotDefinition,\n ISlotFactory,\n ISlotProp,\n ISlottableProps,\n ISlotOptions,\n IDefaultSlotProps,\n IProcessedSlotProps,\n ValidProps,\n ValidShorthand,\n} from './ISlots';\n\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now\n// and widen as needed.\nexport function withSlots

(\n type: ISlot

| React.FunctionComponent

| string,\n props?: (React.Attributes & P) | null,\n ...children: React.ReactNode[]\n): ReturnType> {\n const slotType = type as ISlot

;\n if (slotType.isSlot) {\n // Since we are bypassing createElement, use React.Children.toArray to make sure children are\n // properly assigned keys.\n // TODO: should this be mutating? does React mutate children subprop with createElement?\n // TODO: will toArray clobber existing keys?\n // TODO: React generates warnings because it doesn't detect hidden member _store that is set in createElement.\n // Even children passed to createElement without keys don't generate this warning.\n // Is there a better way to prevent slots from appearing in hierarchy? toArray doesn't address root issue.\n children = React.Children.toArray(children);\n\n // TODO: There is something weird going on here with children embedded in props vs. rest args.\n // Comment out these lines to see. Make sure this function is doing the right things.\n if (children.length === 0) {\n return slotType(props);\n }\n\n return slotType({ ...(props as any), children });\n } else {\n // TODO: Are there some cases where children should NOT be spread? Also, spreading reraises perf question.\n // Children had to be spread to avoid breaking KeytipData in Toggle.view:\n // react-dom.development.js:18931 Uncaught TypeError: children is not a function\n // Without spread, function child is a child array of one element\n // TODO: is there a reason this can't be:\n // return React.createElement.apply(this, arguments);\n return React.createElement(type, props, ...children);\n }\n}\n\n/**\n * This function creates factories that render ouput depending on the user ISlotProp props passed in.\n * @param DefaultComponent - Base component to render when not overridden by user props.\n * @param options - Factory options, including defaultProp value for shorthand prop mapping.\n * @returns ISlotFactory function used for rendering slots.\n */\nexport function createFactory(\n DefaultComponent: React.ComponentType,\n options: IFactoryOptions = {},\n): ISlotFactory {\n const { defaultProp = 'children' } = options;\n\n const result: ISlotFactory = (\n componentProps,\n userProps,\n userSlotOptions,\n defaultStyles,\n theme,\n ) => {\n // If they passed in raw JSX, just return that.\n if (React.isValidElement(userProps)) {\n return userProps;\n }\n\n const flattenedUserProps: TProps | undefined = _translateShorthand(defaultProp as string, userProps);\n const finalProps = _constructFinalProps(defaultStyles, theme, componentProps, flattenedUserProps);\n\n if (userSlotOptions) {\n if (userSlotOptions.component) {\n // TODO: Remove cast if possible. This cast is needed because TS errors on the intrinsic portion of ReactType.\n // return ;\n const UserComponent = userSlotOptions.component as React.ComponentType;\n return ;\n }\n\n if (userSlotOptions.render) {\n return userSlotOptions.render(finalProps, DefaultComponent);\n }\n }\n\n return ;\n };\n\n return result;\n}\n\n/**\n * Default factory for components without explicit factories.\n */\nconst defaultFactory = memoizeFunction(type => createFactory(type));\n\n/**\n * This function generates slots that can be used in JSX given a definition of slots and their corresponding types.\n * @param userProps - Props as pass to component.\n * @param slots - Slot definition object defining the default slot component for each slot.\n * @returns A set of created slots that components can render in JSX.\n */\nexport function getSlots, TComponentSlots>(\n userProps: TComponentProps,\n slots: ISlotDefinition>,\n): ISlots> {\n const result: ISlots> = {} as ISlots>;\n\n // userProps already has default props mixed in by createComponent. Recast here to gain typing for this function.\n const mixedProps = userProps as TComponentProps & IDefaultSlotProps;\n\n for (const name in slots) {\n if (slots.hasOwnProperty(name)) {\n // This closure method requires the use of withSlots to prevent unnecessary rerenders. This is because React\n // detects each closure as a different component (since it is a new instance) from the previous one and then\n // forces a rerender of the entire slot subtree. For now, the only way to avoid this is to use withSlots, which\n // bypasses the call to React.createElement.\n const slot: ISlots>[keyof TComponentSlots] = (componentProps, ...args: any[]) => {\n if (args.length > 0) {\n // If React.createElement is being incorrectly used with slots, there will be additional arguments.\n // We can detect these additional arguments and error on their presence.\n throw new Error('Any module using getSlots must use withSlots. Please see withSlots javadoc for more info.');\n }\n // TODO: having TS infer types here seems to cause infinite loop.\n // use explicit types or casting to preserve typing if possible.\n // TODO: this should be a lookup on TProps property instead of being TProps directly, which is probably\n // causing the infinite loop\n return _renderSlot(\n slots[name],\n // TODO: this cast to any is hiding a relationship issue between the first two args\n componentProps as any,\n mixedProps[name],\n mixedProps.slots && mixedProps.slots[name],\n // _defaultStyles should always be present, but a check for existence is added to make view tests\n // easier to use.\n mixedProps._defaultStyles && mixedProps._defaultStyles[name],\n (mixedProps as any).theme,\n );\n };\n slot.isSlot = true;\n result[name] = slot;\n }\n }\n\n return result;\n}\n\n/**\n * Helper function that translates shorthand as needed.\n * @param defaultProp\n * @param slotProps\n */\nfunction _translateShorthand(\n defaultProp: string,\n slotProps: ISlotProp,\n): TProps | undefined {\n let transformedProps: TProps | undefined;\n\n if (typeof slotProps === 'string' || typeof slotProps === 'number' || typeof slotProps === 'boolean') {\n transformedProps = {\n [defaultProp]: slotProps as any,\n } as TProps;\n } else {\n transformedProps = slotProps as TProps;\n }\n\n return transformedProps;\n}\n\n/**\n * Helper function that constructs final styles and props given a series of props ordered by increasing priority.\n */\nfunction _constructFinalProps(\n defaultStyles: IStyle,\n theme?: ITheme,\n ...allProps: (TProps | undefined)[]\n): TProps {\n const finalProps: TProps = {} as any;\n const classNames: (string | undefined)[] = [];\n\n for (const props of allProps) {\n classNames.push(props && props.className);\n assign(finalProps, props);\n }\n\n finalProps.className = mergeCss([defaultStyles, classNames], { rtl: getRTL(theme) });\n\n return finalProps;\n}\n\n/**\n * Render a slot given component and user props. Uses component factory if available, otherwise falls back\n * to default factory.\n * @param ComponentType Factory component type.\n * @param componentProps The properties passed into slot from within the component.\n * @param userProps The user properties passed in from outside of the component.\n */\nfunction _renderSlot<\n TSlotComponent extends ISlottableReactType,\n TSlotProps extends ValidProps,\n TSlotShorthand extends ValidShorthand\n>(\n ComponentType: TSlotComponent,\n componentProps: TSlotProps,\n userProps: ISlotProp,\n slotOptions: ISlotOptions | undefined,\n defaultStyles: IStyle,\n theme?: ITheme,\n): ReturnType {\n if (ComponentType.create !== undefined) {\n return ComponentType.create(componentProps, userProps, slotOptions, defaultStyles);\n } else {\n // TODO: need to resolve typing / generic issues passing through memoizeFunction. for now, cast to 'unknown'\n return ((defaultFactory(ComponentType) as unknown) as ISlotFactory)(\n componentProps,\n userProps,\n slotOptions,\n defaultStyles,\n theme,\n );\n }\n}\n","/**\n * Helper to find the index of an item within an array, using a callback to\n * determine the match.\n *\n * @public\n * @param array - Array to search.\n * @param cb - Callback which returns true on matches.\n * @param fromIndex - Optional index to start from (defaults to 0)\n */\nexport function findIndex(array: T[], cb: (item: T, index: number) => boolean, fromIndex: number = 0): number {\n let index = -1;\n\n for (let i = fromIndex; array && i < array.length; i++) {\n if (cb(array[i], i)) {\n index = i;\n break;\n }\n }\n\n return index;\n}\n\n/**\n * Helper to find the first item within an array that satisfies the callback.\n * @param array - Array to search\n * @param cb - Callback which returns true on matches\n */\nexport function find(array: T[], cb: (item: T, index: number) => boolean): T | undefined {\n let index = findIndex(array, cb);\n\n if (index < 0) {\n return undefined;\n }\n\n return array[index];\n}\n\n/**\n * Creates an array of a given size and helper method to populate.\n *\n * @public\n * @param size - Size of array.\n * @param getItem - Callback to populate given cell index.\n */\nexport function createArray(size: number, getItem: (index: number) => T): T[] {\n let array: T[] = [];\n\n for (let i = 0; i < size; i++) {\n array.push(getItem(i));\n }\n\n return array;\n}\n\n/**\n * Convert the given array to a matrix with columnCount number\n * of columns.\n *\n * @public\n * @param items - The array to convert\n * @param columnCount - The number of columns for the resulting matrix\n * @returns A matrix of items\n */\nexport function toMatrix(items: T[], columnCount: number): T[][] {\n return items.reduce((rows: T[][], currentValue: T, index: number) => {\n if (index % columnCount === 0) {\n rows.push([currentValue]);\n } else {\n rows[rows.length - 1].push(currentValue);\n }\n return rows;\n }, [] as T[][]);\n}\n\n/**\n * Given an array, it returns a new array that does not contain the item at the given index.\n * @param array - The array to operate on\n * @param index - The index of the element to remove\n */\nexport function removeIndex(array: T[], index: number): T[] {\n return array.filter((_: T, i: number) => index !== i);\n}\n\n/**\n * Given an array, this function returns a new array where the element at a given index has been replaced.\n * @param array - The array to operate on\n * @param newElement - The element that will be placed in the new array\n * @param index - The index of the element that should be replaced\n */\nexport function replaceElement(array: T[], newElement: T, index: number): T[] {\n const copy = array.slice();\n copy[index] = newElement;\n return copy;\n}\n\n/**\n * Given an array, this function returns a new array where an element has been inserted at the given index.\n * @param array - The array to operate on\n * @param index - The index where an element should be inserted\n * @param itemToAdd - The element to insert\n */\nexport function addElementAtIndex(array: T[], index: number, itemToAdd: T): T[] {\n const copy = array.slice();\n copy.splice(index, 0, itemToAdd);\n return copy;\n}\n\n/**\n * Given an array where each element is of type T or T[], flatten it into an array of T\n * @param array - The array where each element can optionally also be an array\n */\nexport function flatten(array: (T | T[])[]): T[] {\n let result: T[] = [];\n array.forEach((item: T | T[]): T[] => (result = result.concat(item)));\n return result;\n}\n\n/**\n * Returns a boolean indicating if the two given arrays are equal in length and values.\n *\n * @param array1 - First array to compare\n * @param array2 - Second array to compare\n * @returns True if the arrays are the same length and have the same values in the same positions, false otherwise.\n */\nexport function arraysEqual(array1: T[], array2: T[]): boolean {\n if (array1.length !== array2.length) {\n return false;\n }\n for (let i = 0; i < array1.length; i++) {\n if (array1[i] !== array2[i]) {\n return false;\n }\n }\n return true;\n}\n","/**\n * Compares a to b and b to a.\n *\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function shallowCompare(a: TA, b: TB): boolean {\n for (let propName in a) {\n if ((a as Object).hasOwnProperty(propName)) {\n if (!(b as Object).hasOwnProperty(propName) || (b as { [key: string]: unknown })[propName] !== a[propName]) {\n return false;\n }\n }\n }\n for (let propName in b) {\n if ((b as Object).hasOwnProperty(propName)) {\n if (!(a as Object).hasOwnProperty(propName)) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * Makes a resulting merge of a bunch of objects. Pass in the target object followed by 1 or more\n * objects as arguments and they will be merged sequentially into the target. Note that this will\n * shallow merge; it will not create new cloned values for target members.\n *\n * @public\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function assign(this: any, target: any, ...args: any[]): any {\n return filteredAssign.apply(this, [null, target].concat(args));\n}\n\n/**\n * Makes a resulting merge of a bunch of objects, but allows a filter function to be passed in to filter\n * the resulting merges. This allows for scenarios where you want to merge \"everything except that one thing\"\n * or \"properties that start with data-\". Note that this will shallow merge; it will not create new cloned\n * values for target members.\n *\n * @public\n * @param isAllowed - Callback to determine if the given propName is allowed in the result.\n * @param target - Target object to merge following object arguments into.\n * @param args - One or more objects that will be mixed into the target in the order they are provided.\n * @returns Resulting merged target.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function filteredAssign(isAllowed: (propName: string) => boolean, target: any, ...args: any[]): any {\n target = target || {};\n\n for (let sourceObject of args) {\n if (sourceObject) {\n for (let propName in sourceObject) {\n if (sourceObject.hasOwnProperty(propName) && (!isAllowed || isAllowed(propName))) {\n target[propName] = sourceObject[propName];\n }\n }\n }\n }\n\n return target;\n}\n\n/**\n * Takes an enum and iterates over each value of the enum (as a string), running the callback on each,\n * returning a mapped array.\n * @param theEnum - Enum to iterate over\n * @param callback - The first parameter the name of the entry, and the second parameter is the value\n * of that entry, which is the value you'd normally use when using the enum (usually a number).\n */\nexport function mapEnumByName(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n theEnum: any,\n callback: (name?: string, value?: string | number) => T | undefined,\n): (T | undefined)[] | undefined {\n // map to satisfy compiler since it doesn't realize we strip out undefineds in the .filter() call\n return Object.keys(theEnum)\n .map((p: string | number) => {\n // map on each property name as a string\n if (String(Number(p)) !== p) {\n // if the property is not just a number (because enums in TypeScript will map both ways)\n return callback(p as string, theEnum[p]);\n }\n return undefined;\n })\n .filter((v: T | undefined) => !!v); // only return elements with values\n}\n\n/**\n * Get all values in an object dictionary\n *\n * @param obj - The dictionary to get values for\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function values(obj: any): T[] {\n return Object.keys(obj).reduce((arr: T[], key: string): T[] => {\n arr.push(obj[key]);\n return arr;\n }, []);\n}\n\n/**\n * Tiny helper to do the minimal amount of work in duplicating an object but omitting some\n * props. This ends up faster than using object ...rest or reduce to filter.\n *\n * This behaves very much like filteredAssign, but does not merge many objects together,\n * uses an exclusion object map, and avoids spreads all for optimal performance.\n *\n * See perf test for background:\n * https://jsperf.com/omit-vs-rest-vs-reduce/1\n *\n * @param obj - The object to clone\n * @param exclusions - The array of keys to exclude\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function omit>(obj: TObj, exclusions: (keyof TObj)[]): TObj {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const result: Record = {};\n\n for (const key in obj) {\n if (exclusions.indexOf(key) === -1 && obj.hasOwnProperty(key)) {\n result[key] = obj[key];\n }\n }\n\n return result as TObj;\n}\n","import { warn } from './warn';\n/**\n * Warns when props are required if a condition is met.\n *\n * @public\n * @param componentName - The name of the component being used.\n * @param props - The props passed into the component.\n * @param requiredProps - The name of the props that are required when the condition is met.\n * @param conditionalPropName - The name of the prop that the condition is based on.\n * @param condition - Whether the condition is met.\n */\nexport function warnConditionallyRequiredProps

(\n componentName: string,\n props: P,\n requiredProps: string[],\n conditionalPropName: string,\n condition: boolean,\n): void {\n if (condition === true && process.env.NODE_ENV !== 'production') {\n for (const requiredPropName of requiredProps) {\n if (!(requiredPropName in props)) {\n warn(`${componentName} property '${requiredPropName}' is required when '${conditionalPropName}' is used.'`);\n }\n }\n }\n}\n","import arrayWithHoles from \"@babel/runtime/helpers/esm/arrayWithHoles\";\nimport iterableToArray from \"@babel/runtime/helpers/esm/iterableToArray\";\nimport unsupportedIterableToArray from \"@babel/runtime/helpers/esm/unsupportedIterableToArray\";\nimport nonIterableRest from \"@babel/runtime/helpers/esm/nonIterableRest\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import * as React from 'react';\nimport { getNativeProps, divProperties, initializeComponentRef, warnDeprecations } from '@fluentui/utilities';\nimport type { IPivotItemProps } from './PivotItem.types';\n\nconst COMPONENT_NAME = 'PivotItem';\n\nexport class PivotItem extends React.Component {\n constructor(props: IPivotItemProps) {\n super(props);\n\n initializeComponentRef(this);\n warnDeprecations(COMPONENT_NAME, props, {\n linkText: 'headerText',\n });\n }\n\n public render(): JSX.Element {\n return

{this.props.children}
;\n }\n}\n","/* eslint no-console:0 */\n\nconst formatRegExp = /%[sdj%]/g;\n\nexport let warning = () => {};\n\n// don't print warning message when in production env or node runtime\nif (\n typeof process !== 'undefined' &&\n process.env &&\n process.env.NODE_ENV !== 'production' &&\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n) {\n warning = (type, errors) => {\n if (typeof console !== 'undefined' && console.warn) {\n if (errors.every(e => typeof e === 'string')) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nexport function convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n const fields = {};\n errors.forEach(error => {\n const field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\n\nexport function format(...args) {\n let i = 1;\n const f = args[0];\n const len = args.length;\n if (typeof f === 'function') {\n return f.apply(null, args.slice(1));\n }\n if (typeof f === 'string') {\n let str = String(f).replace(formatRegExp, x => {\n if (x === '%%') {\n return '%';\n }\n if (i >= len) {\n return x;\n }\n switch (x) {\n case '%s':\n return String(args[i++]);\n case '%d':\n return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n break;\n default:\n return x;\n }\n });\n return str;\n }\n return f;\n}\n\nfunction isNativeStringType(type) {\n return (\n type === 'string' ||\n type === 'url' ||\n type === 'hex' ||\n type === 'email' ||\n type === 'date' ||\n type === 'pattern'\n );\n}\n\nexport function isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n return false;\n}\n\nexport function isEmptyObject(obj) {\n return Object.keys(obj).length === 0;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n const results = [];\n let total = 0;\n const arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors);\n total++;\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(a => {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n let index = 0;\n const arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n const original = index;\n index = index + 1;\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n const ret = [];\n Object.keys(objArr).forEach(k => {\n ret.push.apply(ret, objArr[k]);\n });\n return ret;\n}\n\nexport class AsyncValidationError extends Error {\n constructor(errors, fields) {\n super('Async Validation Error');\n this.errors = errors;\n this.fields = fields;\n }\n}\n\nexport function asyncMap(objArr, option, func, callback) {\n if (option.first) {\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n callback(errors);\n return errors.length\n ? reject(new AsyncValidationError(errors, convertFieldsError(errors)))\n : resolve();\n };\n const flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n pending.catch(e => e);\n return pending;\n }\n let firstFields = option.firstFields || [];\n if (firstFields === true) {\n firstFields = Object.keys(objArr);\n }\n const objArrKeys = Object.keys(objArr);\n const objArrLength = objArrKeys.length;\n let total = 0;\n const results = [];\n const pending = new Promise((resolve, reject) => {\n const next = errors => {\n results.push.apply(results, errors);\n total++;\n if (total === objArrLength) {\n callback(results);\n return results.length\n ? reject(\n new AsyncValidationError(results, convertFieldsError(results)),\n )\n : resolve();\n }\n };\n if (!objArrKeys.length) {\n callback(results);\n resolve();\n }\n objArrKeys.forEach(key => {\n const arr = objArr[key];\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending.catch(e => e);\n return pending;\n}\n\nexport function complementError(rule) {\n return oe => {\n if (oe && oe.message) {\n oe.field = oe.field || rule.fullField;\n return oe;\n }\n return {\n message: typeof oe === 'function' ? oe() : oe,\n field: oe.field || rule.fullField,\n };\n };\n}\n\nexport function deepMerge(target, source) {\n if (source) {\n for (const s in source) {\n if (source.hasOwnProperty(s)) {\n const value = source[s];\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = {\n ...target[s],\n ...value,\n };\n } else {\n target[s] = value;\n }\n }\n }\n }\n return target;\n}\n","import * as util from '../util';\n\n/**\n * Rule for validating required fields.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction required(rule, value, source, errors, options, type) {\n if (\n rule.required &&\n (!source.hasOwnProperty(rule.field) ||\n util.isEmptyValue(value, type || rule.type))\n ) {\n errors.push(util.format(options.messages.required, rule.fullField));\n }\n}\n\nexport default required;\n","import * as util from '../util';\nimport required from './required';\n\n/* eslint max-len:0 */\n\nconst pattern = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n url: new RegExp(\n '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n 'i',\n ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i,\n};\n\nconst types = {\n integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n float(value) {\n return types.number(value) && !types.integer(value);\n },\n array(value) {\n return Array.isArray(value);\n },\n regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date(value) {\n return (\n typeof value.getTime === 'function' &&\n typeof value.getMonth === 'function' &&\n typeof value.getYear === 'function' &&\n !isNaN(value.getTime())\n );\n },\n number(value) {\n if (isNaN(value)) {\n return false;\n }\n return typeof value === 'number';\n },\n object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method(value) {\n return typeof value === 'function';\n },\n email(value) {\n return (\n typeof value === 'string' &&\n !!value.match(pattern.email) &&\n value.length < 255\n );\n },\n url(value) {\n return typeof value === 'string' && !!value.match(pattern.url);\n },\n hex(value) {\n return typeof value === 'string' && !!value.match(pattern.hex);\n },\n};\n\n/**\n * Rule for validating the type of a value.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required(rule, value, source, errors, options);\n return;\n }\n const custom = [\n 'integer',\n 'float',\n 'array',\n 'regexp',\n 'object',\n 'method',\n 'email',\n 'number',\n 'date',\n 'url',\n 'hex',\n ];\n const ruleType = rule.type;\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(\n util.format(\n options.messages.types[ruleType],\n rule.fullField,\n rule.type,\n ),\n );\n }\n // straight typeof check\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(\n util.format(options.messages.types[ruleType], rule.fullField, rule.type),\n );\n }\n}\n\nexport default type;\n","import required from './required';\nimport whitespace from './whitespace';\nimport type from './type';\nimport range from './range';\nimport enumRule from './enum';\nimport pattern from './pattern';\n\nexport default {\n required,\n whitespace,\n type,\n range,\n enum: enumRule,\n pattern,\n};\n","import * as util from '../util';\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(util.format(options.messages.whitespace, rule.fullField));\n }\n}\n\nexport default whitespace;\n","import * as util from '../util';\n\n/**\n * Rule for validating minimum and maximum allowed values.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction range(rule, value, source, errors, options) {\n const len = typeof rule.len === 'number';\n const min = typeof rule.min === 'number';\n const max = typeof rule.max === 'number';\n // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n const spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n let val = value;\n let key = null;\n const num = typeof value === 'number';\n const str = typeof value === 'string';\n const arr = Array.isArray(value);\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n }\n // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n if (!key) {\n return false;\n }\n if (arr) {\n val = value.length;\n }\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n if (len) {\n if (val !== rule.len) {\n errors.push(\n util.format(options.messages[key].len, rule.fullField, rule.len),\n );\n }\n } else if (min && !max && val < rule.min) {\n errors.push(\n util.format(options.messages[key].min, rule.fullField, rule.min),\n );\n } else if (max && !min && val > rule.max) {\n errors.push(\n util.format(options.messages[key].max, rule.fullField, rule.max),\n );\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(\n util.format(\n options.messages[key].range,\n rule.fullField,\n rule.min,\n rule.max,\n ),\n );\n }\n}\n\nexport default range;\n","import * as util from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Rule for validating a value exists in an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, source, errors, options) {\n rule[ENUM] = Array.isArray(rule[ENUM]) ? rule[ENUM] : [];\n if (rule[ENUM].indexOf(value) === -1) {\n errors.push(\n util.format(\n options.messages[ENUM],\n rule.fullField,\n rule[ENUM].join(', '),\n ),\n );\n }\n}\n\nexport default enumerable;\n","import * as util from '../util';\n\n/**\n * Rule for validating a regular expression pattern.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n if (!rule.pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n } else if (typeof rule.pattern === 'string') {\n const _pattern = new RegExp(rule.pattern);\n if (!_pattern.test(value)) {\n errors.push(\n util.format(\n options.messages.pattern.mismatch,\n rule.fullField,\n value,\n rule.pattern,\n ),\n );\n }\n }\n }\n}\n\nexport default pattern;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction type(rule, value, callback, source, options) {\n const ruleType = rule.type;\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, ruleType);\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default type;\n","import string from './string';\nimport method from './method';\nimport number from './number';\nimport boolean from './boolean';\nimport regexp from './regexp';\nimport integer from './integer';\nimport float from './float';\nimport array from './array';\nimport object from './object';\nimport enumValidator from './enum';\nimport pattern from './pattern';\nimport date from './date';\nimport required from './required';\nimport type from './type';\nimport any from './any';\n\nexport default {\n string,\n method,\n number,\n boolean,\n regexp,\n integer,\n float,\n array,\n object,\n enum: enumValidator,\n pattern,\n date,\n url: type,\n hex: type,\n email: type,\n required,\n any,\n};\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for string types.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction string(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'string');\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default string;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a function.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction method(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default method;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction number(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default number;\n","import { isEmptyValue } from '../util';\nimport rules from '../rule/index.js';\n\n/**\n * Validates a boolean.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction boolean(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default boolean;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates the regular expression type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction regexp(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default regexp;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is an integer.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction integer(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default integer;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a number is a floating point number.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction floatFn(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default floatFn;\n","import rules from '../rule/index';\nimport { isEmptyValue } from '../util';\n/**\n * Validates an array.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction array(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options, 'array');\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default array;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates an object.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction object(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default object;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nconst ENUM = 'enum';\n\n/**\n * Validates an enumerable list.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction enumerable(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default enumerable;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Validates a regular expression pattern.\n *\n * Performs validation when a rule only contains\n * a pattern property but is not declared as a string type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction pattern(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n callback(errors);\n}\n\nexport default pattern;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\nfunction date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n // console.log('validate on %s value', value);\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n if (!isEmptyValue(value, 'date')) {\n let dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n callback(errors);\n}\n\nexport default date;\n","import rules from '../rule/index.js';\n\nfunction required(rule, value, callback, source, options) {\n const errors = [];\n const type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n}\n\nexport default required;\n","import rules from '../rule/index.js';\nimport { isEmptyValue } from '../util';\n\n/**\n * Performs validation for any type.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param callback The callback function.\n * @param source The source object being validated.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\nfunction any(rule, value, callback, source, options) {\n const errors = [];\n const validate =\n rule.required || (!rule.required && source.hasOwnProperty(rule.field));\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n rules.required(rule, value, source, errors, options);\n }\n callback(errors);\n}\n\nexport default any;\n","export function newMessages() {\n return {\n default: 'Validation error on field %s',\n required: '%s is required',\n enum: '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid',\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n boolean: '%s is not a %s',\n integer: '%s is not an %s',\n float: '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s',\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters',\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s',\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length',\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s',\n },\n clone() {\n const cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n },\n };\n}\n\nexport const messages = newMessages();\n","import {\n format,\n complementError,\n asyncMap,\n warning,\n deepMerge,\n convertFieldsError,\n} from './util';\nimport validators from './validator/index';\nimport { messages as defaultMessages, newMessages } from './messages';\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\nfunction Schema(descriptor) {\n this.rules = null;\n this._messages = defaultMessages;\n this.define(descriptor);\n}\n\nSchema.prototype = {\n messages(messages) {\n if (messages) {\n this._messages = deepMerge(newMessages(), messages);\n }\n return this._messages;\n },\n define(rules) {\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n this.rules = {};\n let z;\n let item;\n for (z in rules) {\n if (rules.hasOwnProperty(z)) {\n item = rules[z];\n this.rules[z] = Array.isArray(item) ? item : [item];\n }\n }\n },\n validate(source_, o = {}, oc = () => {}) {\n let source = source_;\n let options = o;\n let callback = oc;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback();\n }\n return Promise.resolve();\n }\n\n function complete(results) {\n let i;\n let errors = [];\n let fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n errors = errors.concat(...e);\n } else {\n errors.push(e);\n }\n }\n\n for (i = 0; i < results.length; i++) {\n add(results[i]);\n }\n if (!errors.length) {\n errors = null;\n fields = null;\n } else {\n fields = convertFieldsError(errors);\n }\n callback(errors, fields);\n }\n\n if (options.messages) {\n let messages = this.messages();\n if (messages === defaultMessages) {\n messages = newMessages();\n }\n deepMerge(messages, options.messages);\n options.messages = messages;\n } else {\n options.messages = this.messages();\n }\n let arr;\n let value;\n const series = {};\n const keys = options.keys || Object.keys(this.rules);\n keys.forEach(z => {\n arr = this.rules[z];\n value = source[z];\n arr.forEach(r => {\n let rule = r;\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = { ...source };\n }\n value = source[z] = rule.transform(value);\n }\n if (typeof rule === 'function') {\n rule = {\n validator: rule,\n };\n } else {\n rule = { ...rule };\n }\n rule.validator = this.getValidationMethod(rule);\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = this.getType(rule);\n if (!rule.validator) {\n return;\n }\n series[z] = series[z] || [];\n series[z].push({\n rule,\n value,\n source,\n field: z,\n });\n });\n });\n const errorFields = {};\n return asyncMap(\n series,\n options,\n (data, doIt) => {\n const rule = data.rule;\n let deep =\n (rule.type === 'object' || rule.type === 'array') &&\n (typeof rule.fields === 'object' ||\n typeof rule.defaultField === 'object');\n deep = deep && (rule.required || (!rule.required && data.value));\n rule.field = data.field;\n\n function addFullfield(key, schema) {\n return {\n ...schema,\n fullField: `${rule.fullField}.${key}`,\n };\n }\n\n function cb(e = []) {\n let errors = e;\n if (!Array.isArray(errors)) {\n errors = [errors];\n }\n if (!options.suppressWarning && errors.length) {\n Schema.warning('async-validator:', errors);\n }\n if (errors.length && rule.message !== undefined) {\n errors = [].concat(rule.message);\n }\n\n errors = errors.map(complementError(rule));\n\n if (options.first && errors.length) {\n errorFields[rule.field] = 1;\n return doIt(errors);\n }\n if (!deep) {\n doIt(errors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n errors = [].concat(rule.message).map(complementError(rule));\n } else if (options.error) {\n errors = [\n options.error(\n rule,\n format(options.messages.required, rule.field),\n ),\n ];\n }\n return doIt(errors);\n }\n\n let fieldsSchema = {};\n if (rule.defaultField) {\n for (const k in data.value) {\n if (data.value.hasOwnProperty(k)) {\n fieldsSchema[k] = rule.defaultField;\n }\n }\n }\n fieldsSchema = {\n ...fieldsSchema,\n ...data.rule.fields,\n };\n for (const f in fieldsSchema) {\n if (fieldsSchema.hasOwnProperty(f)) {\n const fieldSchema = Array.isArray(fieldsSchema[f])\n ? fieldsSchema[f]\n : [fieldsSchema[f]];\n fieldsSchema[f] = fieldSchema.map(addFullfield.bind(null, f));\n }\n }\n const schema = new Schema(fieldsSchema);\n schema.messages(options.messages);\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n schema.validate(data.value, data.rule.options || options, errs => {\n const finalErrors = [];\n if (errors && errors.length) {\n finalErrors.push(...errors);\n }\n if (errs && errs.length) {\n finalErrors.push(...errs);\n }\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n let res;\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n res = rule.validator(rule, data.value, cb, data.source, options);\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(rule.message || `${rule.field} fails`);\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n if (res && res.then) {\n res.then(\n () => cb(),\n e => cb(e),\n );\n }\n },\n results => {\n complete(results);\n },\n );\n },\n getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n if (\n typeof rule.validator !== 'function' &&\n rule.type &&\n !validators.hasOwnProperty(rule.type)\n ) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n return rule.type || 'string';\n },\n getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n const keys = Object.keys(rule);\n const messageIndex = keys.indexOf('message');\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n return validators[this.getType(rule)] || false;\n },\n};\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error(\n 'Cannot register a validator by type, validator is not a function',\n );\n }\n validators[type] = validator;\n};\n\nSchema.warning = warning;\n\nSchema.messages = defaultMessages;\n\nSchema.validators = validators;\n\nexport default Schema;\n","export var INTERNAL_PROPS_MARK = 'RC_SELECT_INTERNAL_PROPS_MARK';","// Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport { IIconOptions, IIconSubset, registerIcons } from '@uifabric/styling';\n\nexport function initializeIcons(baseUrl: string = '', options?: IIconOptions): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none',\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons\"`,\n src: `url('${baseUrl}fabric-icons-a13498cf.woff') format('woff')`,\n },\n icons: {\n GlobalNavButton: '\\uE700',\n ChevronDown: '\\uE70D',\n ChevronUp: '\\uE70E',\n Edit: '\\uE70F',\n Add: '\\uE710',\n Cancel: '\\uE711',\n More: '\\uE712',\n Settings: '\\uE713',\n Mail: '\\uE715',\n Filter: '\\uE71C',\n Search: '\\uE721',\n Share: '\\uE72D',\n BlockedSite: '\\uE72F',\n FavoriteStar: '\\uE734',\n FavoriteStarFill: '\\uE735',\n CheckMark: '\\uE73E',\n Delete: '\\uE74D',\n ChevronLeft: '\\uE76B',\n ChevronRight: '\\uE76C',\n Calendar: '\\uE787',\n Megaphone: '\\uE789',\n Undo: '\\uE7A7',\n Flag: '\\uE7C1',\n Page: '\\uE7C3',\n Pinned: '\\uE840',\n View: '\\uE890',\n Clear: '\\uE894',\n Download: '\\uE896',\n Upload: '\\uE898',\n Folder: '\\uE8B7',\n Sort: '\\uE8CB',\n AlignRight: '\\uE8E2',\n AlignLeft: '\\uE8E4',\n Tag: '\\uE8EC',\n AddFriend: '\\uE8FA',\n Info: '\\uE946',\n SortLines: '\\uE9D0',\n List: '\\uEA37',\n CircleRing: '\\uEA3A',\n Heart: '\\uEB51',\n HeartFill: '\\uEB52',\n Tiles: '\\uECA5',\n Embed: '\\uECCE',\n Glimmer: '\\uECF4',\n Ascending: '\\uEDC0',\n Descending: '\\uEDC1',\n SortUp: '\\uEE68',\n SortDown: '\\uEE69',\n SyncToPC: '\\uEE6E',\n LargeGrid: '\\uEECB',\n SkypeCheck: '\\uEF80',\n SkypeClock: '\\uEF81',\n SkypeMinus: '\\uEF82',\n ClearFilter: '\\uEF8F',\n Flow: '\\uEF90',\n StatusCircleCheckmark: '\\uF13E',\n MoreVertical: '\\uF2BC',\n },\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-0\"`,\n src: `url('${baseUrl}fabric-icons-0-467ee27f.woff') format('woff')`\n },\n icons: {\n 'PageLink': '\\uE302',\n 'CommentSolid': '\\uE30E',\n 'ChangeEntitlements': '\\uE310',\n 'Installation': '\\uE311',\n 'WebAppBuilderModule': '\\uE313',\n 'WebAppBuilderFragment': '\\uE314',\n 'WebAppBuilderSlot': '\\uE315',\n 'BullseyeTargetEdit': '\\uE319',\n 'WebAppBuilderFragmentCreate': '\\uE31B',\n 'PageData': '\\uE31C',\n 'PageHeaderEdit': '\\uE31D',\n 'ProductList': '\\uE31E',\n 'UnpublishContent': '\\uE31F',\n 'DependencyAdd': '\\uE344',\n 'DependencyRemove': '\\uE345',\n 'EntitlementPolicy': '\\uE346',\n 'EntitlementRedemption': '\\uE347',\n 'SchoolDataSyncLogo': '\\uE34C',\n 'PinSolid12': '\\uE352',\n 'PinSolidOff12': '\\uE353',\n 'AddLink': '\\uE35E',\n 'SharepointAppIcon16': '\\uE365',\n 'DataflowsLink': '\\uE366',\n 'TimePicker': '\\uE367',\n 'UserWarning': '\\uE368',\n 'ComplianceAudit': '\\uE369',\n 'InternetSharing': '\\uE704',\n 'Brightness': '\\uE706',\n 'MapPin': '\\uE707',\n 'Airplane': '\\uE709',\n 'Tablet': '\\uE70A',\n 'QuickNote': '\\uE70B',\n 'Video': '\\uE714',\n 'People': '\\uE716',\n 'Phone': '\\uE717',\n 'Pin': '\\uE718',\n 'Shop': '\\uE719',\n 'Stop': '\\uE71A',\n 'Link': '\\uE71B',\n 'AllApps': '\\uE71D',\n 'Zoom': '\\uE71E',\n 'ZoomOut': '\\uE71F',\n 'Microphone': '\\uE720',\n 'Camera': '\\uE722',\n 'Attach': '\\uE723',\n 'Send': '\\uE724',\n 'FavoriteList': '\\uE728',\n 'PageSolid': '\\uE729',\n 'Forward': '\\uE72A',\n 'Back': '\\uE72B',\n 'Refresh': '\\uE72C',\n 'Lock': '\\uE72E',\n 'ReportHacked': '\\uE730',\n 'EMI': '\\uE731',\n 'MiniLink': '\\uE732',\n 'Blocked': '\\uE733',\n 'ReadingMode': '\\uE736',\n 'Favicon': '\\uE737',\n 'Remove': '\\uE738',\n 'Checkbox': '\\uE739',\n 'CheckboxComposite': '\\uE73A',\n 'CheckboxFill': '\\uE73B',\n 'CheckboxIndeterminate': '\\uE73C',\n 'CheckboxCompositeReversed': '\\uE73D',\n 'BackToWindow': '\\uE73F',\n 'FullScreen': '\\uE740',\n 'Print': '\\uE749',\n 'Up': '\\uE74A',\n 'Down': '\\uE74B',\n 'OEM': '\\uE74C',\n 'Save': '\\uE74E',\n 'ReturnKey': '\\uE751',\n 'Cloud': '\\uE753',\n 'Flashlight': '\\uE754',\n 'CommandPrompt': '\\uE756',\n 'Sad': '\\uE757',\n 'RealEstate': '\\uE758',\n 'SIPMove': '\\uE759',\n 'EraseTool': '\\uE75C',\n 'GripperTool': '\\uE75E',\n 'Dialpad': '\\uE75F',\n 'PageLeft': '\\uE760',\n 'PageRight': '\\uE761',\n 'MultiSelect': '\\uE762',\n 'KeyboardClassic': '\\uE765',\n 'Play': '\\uE768',\n 'Pause': '\\uE769',\n 'InkingTool': '\\uE76D',\n 'Emoji2': '\\uE76E',\n 'GripperBarHorizontal': '\\uE76F',\n 'System': '\\uE770',\n 'Personalize': '\\uE771',\n 'SearchAndApps': '\\uE773',\n 'Globe': '\\uE774',\n 'EaseOfAccess': '\\uE776',\n 'ContactInfo': '\\uE779',\n 'Unpin': '\\uE77A',\n 'Contact': '\\uE77B',\n 'Memo': '\\uE77C',\n 'IncomingCall': '\\uE77E'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-1\"`,\n src: `url('${baseUrl}fabric-icons-1-4d521695.woff') format('woff')`\n },\n icons: {\n 'Paste': '\\uE77F',\n 'WindowsLogo': '\\uE782',\n 'Error': '\\uE783',\n 'GripperBarVertical': '\\uE784',\n 'Unlock': '\\uE785',\n 'Slideshow': '\\uE786',\n 'Trim': '\\uE78A',\n 'AutoEnhanceOn': '\\uE78D',\n 'AutoEnhanceOff': '\\uE78E',\n 'Color': '\\uE790',\n 'SaveAs': '\\uE792',\n 'Light': '\\uE793',\n 'Filters': '\\uE795',\n 'AspectRatio': '\\uE799',\n 'Contrast': '\\uE7A1',\n 'Redo': '\\uE7A6',\n 'Crop': '\\uE7A8',\n 'PhotoCollection': '\\uE7AA',\n 'Album': '\\uE7AB',\n 'Rotate': '\\uE7AD',\n 'PanoIndicator': '\\uE7B0',\n 'Translate': '\\uE7B2',\n 'RedEye': '\\uE7B3',\n 'ViewOriginal': '\\uE7B4',\n 'ThumbnailView': '\\uE7B6',\n 'Package': '\\uE7B8',\n 'Telemarketer': '\\uE7B9',\n 'Warning': '\\uE7BA',\n 'Financial': '\\uE7BB',\n 'Education': '\\uE7BE',\n 'ShoppingCart': '\\uE7BF',\n 'Train': '\\uE7C0',\n 'Move': '\\uE7C2',\n 'TouchPointer': '\\uE7C9',\n 'Merge': '\\uE7D5',\n 'TurnRight': '\\uE7DB',\n 'Ferry': '\\uE7E3',\n 'Highlight': '\\uE7E6',\n 'PowerButton': '\\uE7E8',\n 'Tab': '\\uE7E9',\n 'Admin': '\\uE7EF',\n 'TVMonitor': '\\uE7F4',\n 'Speakers': '\\uE7F5',\n 'Game': '\\uE7FC',\n 'HorizontalTabKey': '\\uE7FD',\n 'UnstackSelected': '\\uE7FE',\n 'StackIndicator': '\\uE7FF',\n 'Nav2DMapView': '\\uE800',\n 'StreetsideSplitMinimize': '\\uE802',\n 'Car': '\\uE804',\n 'Bus': '\\uE806',\n 'EatDrink': '\\uE807',\n 'SeeDo': '\\uE808',\n 'LocationCircle': '\\uE80E',\n 'Home': '\\uE80F',\n 'SwitcherStartEnd': '\\uE810',\n 'ParkingLocation': '\\uE811',\n 'IncidentTriangle': '\\uE814',\n 'Touch': '\\uE815',\n 'MapDirections': '\\uE816',\n 'CaretHollow': '\\uE817',\n 'CaretSolid': '\\uE818',\n 'History': '\\uE81C',\n 'Location': '\\uE81D',\n 'MapLayers': '\\uE81E',\n 'SearchNearby': '\\uE820',\n 'Work': '\\uE821',\n 'Recent': '\\uE823',\n 'Hotel': '\\uE824',\n 'Bank': '\\uE825',\n 'LocationDot': '\\uE827',\n 'Dictionary': '\\uE82D',\n 'ChromeBack': '\\uE830',\n 'FolderOpen': '\\uE838',\n 'PinnedFill': '\\uE842',\n 'RevToggleKey': '\\uE845',\n 'USB': '\\uE88E',\n 'Previous': '\\uE892',\n 'Next': '\\uE893',\n 'Sync': '\\uE895',\n 'Help': '\\uE897',\n 'Emoji': '\\uE899',\n 'MailForward': '\\uE89C',\n 'ClosePane': '\\uE89F',\n 'OpenPane': '\\uE8A0',\n 'PreviewLink': '\\uE8A1',\n 'ZoomIn': '\\uE8A3',\n 'Bookmarks': '\\uE8A4',\n 'Document': '\\uE8A5',\n 'ProtectedDocument': '\\uE8A6',\n 'OpenInNewWindow': '\\uE8A7',\n 'MailFill': '\\uE8A8',\n 'ViewAll': '\\uE8A9',\n 'Switch': '\\uE8AB',\n 'Rename': '\\uE8AC',\n 'Go': '\\uE8AD',\n 'Remote': '\\uE8AF',\n 'SelectAll': '\\uE8B3',\n 'Orientation': '\\uE8B4',\n 'Import': '\\uE8B5'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-2\"`,\n src: `url('${baseUrl}fabric-icons-2-63c99abf.woff') format('woff')`\n },\n icons: {\n 'Picture': '\\uE8B9',\n 'ChromeClose': '\\uE8BB',\n 'ShowResults': '\\uE8BC',\n 'Message': '\\uE8BD',\n 'CalendarDay': '\\uE8BF',\n 'CalendarWeek': '\\uE8C0',\n 'MailReplyAll': '\\uE8C2',\n 'Read': '\\uE8C3',\n 'Cut': '\\uE8C6',\n 'PaymentCard': '\\uE8C7',\n 'Copy': '\\uE8C8',\n 'Important': '\\uE8C9',\n 'MailReply': '\\uE8CA',\n 'GotoToday': '\\uE8D1',\n 'Font': '\\uE8D2',\n 'FontColor': '\\uE8D3',\n 'FolderFill': '\\uE8D5',\n 'Permissions': '\\uE8D7',\n 'DisableUpdates': '\\uE8D8',\n 'Unfavorite': '\\uE8D9',\n 'Italic': '\\uE8DB',\n 'Underline': '\\uE8DC',\n 'Bold': '\\uE8DD',\n 'MoveToFolder': '\\uE8DE',\n 'Dislike': '\\uE8E0',\n 'Like': '\\uE8E1',\n 'AlignCenter': '\\uE8E3',\n 'OpenFile': '\\uE8E5',\n 'ClearSelection': '\\uE8E6',\n 'FontDecrease': '\\uE8E7',\n 'FontIncrease': '\\uE8E8',\n 'FontSize': '\\uE8E9',\n 'CellPhone': '\\uE8EA',\n 'RepeatOne': '\\uE8ED',\n 'RepeatAll': '\\uE8EE',\n 'Calculator': '\\uE8EF',\n 'Library': '\\uE8F1',\n 'PostUpdate': '\\uE8F3',\n 'NewFolder': '\\uE8F4',\n 'CalendarReply': '\\uE8F5',\n 'UnsyncFolder': '\\uE8F6',\n 'SyncFolder': '\\uE8F7',\n 'BlockContact': '\\uE8F8',\n 'Accept': '\\uE8FB',\n 'BulletedList': '\\uE8FD',\n 'Preview': '\\uE8FF',\n 'News': '\\uE900',\n 'Chat': '\\uE901',\n 'Group': '\\uE902',\n 'World': '\\uE909',\n 'Comment': '\\uE90A',\n 'DockLeft': '\\uE90C',\n 'DockRight': '\\uE90D',\n 'Repair': '\\uE90F',\n 'Accounts': '\\uE910',\n 'Street': '\\uE913',\n 'RadioBullet': '\\uE915',\n 'Stopwatch': '\\uE916',\n 'Clock': '\\uE917',\n 'WorldClock': '\\uE918',\n 'AlarmClock': '\\uE919',\n 'Photo': '\\uE91B',\n 'ActionCenter': '\\uE91C',\n 'Hospital': '\\uE91D',\n 'Timer': '\\uE91E',\n 'FullCircleMask': '\\uE91F',\n 'LocationFill': '\\uE920',\n 'ChromeMinimize': '\\uE921',\n 'ChromeRestore': '\\uE923',\n 'Annotation': '\\uE924',\n 'Fingerprint': '\\uE928',\n 'Handwriting': '\\uE929',\n 'ChromeFullScreen': '\\uE92D',\n 'Completed': '\\uE930',\n 'Label': '\\uE932',\n 'FlickDown': '\\uE935',\n 'FlickUp': '\\uE936',\n 'FlickLeft': '\\uE937',\n 'FlickRight': '\\uE938',\n 'MiniExpand': '\\uE93A',\n 'MiniContract': '\\uE93B',\n 'Streaming': '\\uE93E',\n 'MusicInCollection': '\\uE940',\n 'OneDriveLogo': '\\uE941',\n 'CompassNW': '\\uE942',\n 'Code': '\\uE943',\n 'LightningBolt': '\\uE945',\n 'CalculatorMultiply': '\\uE947',\n 'CalculatorAddition': '\\uE948',\n 'CalculatorSubtract': '\\uE949',\n 'CalculatorPercentage': '\\uE94C',\n 'CalculatorEqualTo': '\\uE94E',\n 'PrintfaxPrinterFile': '\\uE956',\n 'StorageOptical': '\\uE958',\n 'Communications': '\\uE95A',\n 'Headset': '\\uE95B',\n 'Health': '\\uE95E',\n 'Webcam2': '\\uE960',\n 'FrontCamera': '\\uE96B',\n 'ChevronUpSmall': '\\uE96D'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-3\"`,\n src: `url('${baseUrl}fabric-icons-3-089e217a.woff') format('woff')`\n },\n icons: {\n 'ChevronDownSmall': '\\uE96E',\n 'ChevronLeftSmall': '\\uE96F',\n 'ChevronRightSmall': '\\uE970',\n 'ChevronUpMed': '\\uE971',\n 'ChevronDownMed': '\\uE972',\n 'ChevronLeftMed': '\\uE973',\n 'ChevronRightMed': '\\uE974',\n 'Devices2': '\\uE975',\n 'PC1': '\\uE977',\n 'PresenceChickletVideo': '\\uE979',\n 'Reply': '\\uE97A',\n 'HalfAlpha': '\\uE97E',\n 'ConstructionCone': '\\uE98F',\n 'DoubleChevronLeftMed': '\\uE991',\n 'Volume0': '\\uE992',\n 'Volume1': '\\uE993',\n 'Volume2': '\\uE994',\n 'Volume3': '\\uE995',\n 'Chart': '\\uE999',\n 'Robot': '\\uE99A',\n 'Manufacturing': '\\uE99C',\n 'LockSolid': '\\uE9A2',\n 'FitPage': '\\uE9A6',\n 'FitWidth': '\\uE9A7',\n 'BidiLtr': '\\uE9AA',\n 'BidiRtl': '\\uE9AB',\n 'RightDoubleQuote': '\\uE9B1',\n 'Sunny': '\\uE9BD',\n 'CloudWeather': '\\uE9BE',\n 'Cloudy': '\\uE9BF',\n 'PartlyCloudyDay': '\\uE9C0',\n 'PartlyCloudyNight': '\\uE9C1',\n 'ClearNight': '\\uE9C2',\n 'RainShowersDay': '\\uE9C3',\n 'Rain': '\\uE9C4',\n 'Thunderstorms': '\\uE9C6',\n 'RainSnow': '\\uE9C7',\n 'Snow': '\\uE9C8',\n 'BlowingSnow': '\\uE9C9',\n 'Frigid': '\\uE9CA',\n 'Fog': '\\uE9CB',\n 'Squalls': '\\uE9CC',\n 'Duststorm': '\\uE9CD',\n 'Unknown': '\\uE9CE',\n 'Precipitation': '\\uE9CF',\n 'Ribbon': '\\uE9D1',\n 'AreaChart': '\\uE9D2',\n 'Assign': '\\uE9D3',\n 'FlowChart': '\\uE9D4',\n 'CheckList': '\\uE9D5',\n 'Diagnostic': '\\uE9D9',\n 'Generate': '\\uE9DA',\n 'LineChart': '\\uE9E6',\n 'Equalizer': '\\uE9E9',\n 'BarChartHorizontal': '\\uE9EB',\n 'BarChartVertical': '\\uE9EC',\n 'Freezing': '\\uE9EF',\n 'FunnelChart': '\\uE9F1',\n 'Processing': '\\uE9F5',\n 'Quantity': '\\uE9F8',\n 'ReportDocument': '\\uE9F9',\n 'StackColumnChart': '\\uE9FC',\n 'SnowShowerDay': '\\uE9FD',\n 'HailDay': '\\uEA00',\n 'WorkFlow': '\\uEA01',\n 'HourGlass': '\\uEA03',\n 'StoreLogoMed20': '\\uEA04',\n 'TimeSheet': '\\uEA05',\n 'TriangleSolid': '\\uEA08',\n 'UpgradeAnalysis': '\\uEA0B',\n 'VideoSolid': '\\uEA0C',\n 'RainShowersNight': '\\uEA0F',\n 'SnowShowerNight': '\\uEA11',\n 'Teamwork': '\\uEA12',\n 'HailNight': '\\uEA13',\n 'PeopleAdd': '\\uEA15',\n 'Glasses': '\\uEA16',\n 'DateTime2': '\\uEA17',\n 'Shield': '\\uEA18',\n 'Header1': '\\uEA19',\n 'PageAdd': '\\uEA1A',\n 'NumberedList': '\\uEA1C',\n 'PowerBILogo': '\\uEA1E',\n 'Info2': '\\uEA1F',\n 'MusicInCollectionFill': '\\uEA36',\n 'Asterisk': '\\uEA38',\n 'ErrorBadge': '\\uEA39',\n 'CircleFill': '\\uEA3B',\n 'Record2': '\\uEA3F',\n 'AllAppsMirrored': '\\uEA40',\n 'BookmarksMirrored': '\\uEA41',\n 'BulletedListMirrored': '\\uEA42',\n 'CaretHollowMirrored': '\\uEA45',\n 'CaretSolidMirrored': '\\uEA46',\n 'ChromeBackMirrored': '\\uEA47',\n 'ClearSelectionMirrored': '\\uEA48',\n 'ClosePaneMirrored': '\\uEA49',\n 'DockLeftMirrored': '\\uEA4C',\n 'DoubleChevronLeftMedMirrored': '\\uEA4D',\n 'GoMirrored': '\\uEA4F'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-4\"`,\n src: `url('${baseUrl}fabric-icons-4-a656cc0a.woff') format('woff')`\n },\n icons: {\n 'HelpMirrored': '\\uEA51',\n 'ImportMirrored': '\\uEA52',\n 'ImportAllMirrored': '\\uEA53',\n 'ListMirrored': '\\uEA55',\n 'MailForwardMirrored': '\\uEA56',\n 'MailReplyMirrored': '\\uEA57',\n 'MailReplyAllMirrored': '\\uEA58',\n 'MiniContractMirrored': '\\uEA59',\n 'MiniExpandMirrored': '\\uEA5A',\n 'OpenPaneMirrored': '\\uEA5B',\n 'ParkingLocationMirrored': '\\uEA5E',\n 'SendMirrored': '\\uEA63',\n 'ShowResultsMirrored': '\\uEA65',\n 'ThumbnailViewMirrored': '\\uEA67',\n 'Media': '\\uEA69',\n 'Devices3': '\\uEA6C',\n 'Focus': '\\uEA6F',\n 'VideoLightOff': '\\uEA74',\n 'Lightbulb': '\\uEA80',\n 'StatusTriangle': '\\uEA82',\n 'VolumeDisabled': '\\uEA85',\n 'Puzzle': '\\uEA86',\n 'EmojiNeutral': '\\uEA87',\n 'EmojiDisappointed': '\\uEA88',\n 'HomeSolid': '\\uEA8A',\n 'Ringer': '\\uEA8F',\n 'PDF': '\\uEA90',\n 'HeartBroken': '\\uEA92',\n 'StoreLogo16': '\\uEA96',\n 'MultiSelectMirrored': '\\uEA98',\n 'Broom': '\\uEA99',\n 'AddToShoppingList': '\\uEA9A',\n 'Cocktails': '\\uEA9D',\n 'Wines': '\\uEABF',\n 'Articles': '\\uEAC1',\n 'Cycling': '\\uEAC7',\n 'DietPlanNotebook': '\\uEAC8',\n 'Pill': '\\uEACB',\n 'ExerciseTracker': '\\uEACC',\n 'HandsFree': '\\uEAD0',\n 'Medical': '\\uEAD4',\n 'Running': '\\uEADA',\n 'Weights': '\\uEADB',\n 'Trackers': '\\uEADF',\n 'AddNotes': '\\uEAE3',\n 'AllCurrency': '\\uEAE4',\n 'BarChart4': '\\uEAE7',\n 'CirclePlus': '\\uEAEE',\n 'Coffee': '\\uEAEF',\n 'Cotton': '\\uEAF3',\n 'Market': '\\uEAFC',\n 'Money': '\\uEAFD',\n 'PieDouble': '\\uEB04',\n 'PieSingle': '\\uEB05',\n 'RemoveFilter': '\\uEB08',\n 'Savings': '\\uEB0B',\n 'Sell': '\\uEB0C',\n 'StockDown': '\\uEB0F',\n 'StockUp': '\\uEB11',\n 'Lamp': '\\uEB19',\n 'Source': '\\uEB1B',\n 'MSNVideos': '\\uEB1C',\n 'Cricket': '\\uEB1E',\n 'Golf': '\\uEB1F',\n 'Baseball': '\\uEB20',\n 'Soccer': '\\uEB21',\n 'MoreSports': '\\uEB22',\n 'AutoRacing': '\\uEB24',\n 'CollegeHoops': '\\uEB25',\n 'CollegeFootball': '\\uEB26',\n 'ProFootball': '\\uEB27',\n 'ProHockey': '\\uEB28',\n 'Rugby': '\\uEB2D',\n 'SubstitutionsIn': '\\uEB31',\n 'Tennis': '\\uEB33',\n 'Arrivals': '\\uEB34',\n 'Design': '\\uEB3C',\n 'Website': '\\uEB41',\n 'Drop': '\\uEB42',\n 'HistoricalWeather': '\\uEB43',\n 'SkiResorts': '\\uEB45',\n 'Snowflake': '\\uEB46',\n 'BusSolid': '\\uEB47',\n 'FerrySolid': '\\uEB48',\n 'AirplaneSolid': '\\uEB4C',\n 'TrainSolid': '\\uEB4D',\n 'Ticket': '\\uEB54',\n 'WifiWarning4': '\\uEB63',\n 'Devices4': '\\uEB66',\n 'AzureLogo': '\\uEB6A',\n 'BingLogo': '\\uEB6B',\n 'MSNLogo': '\\uEB6C',\n 'OutlookLogoInverse': '\\uEB6D',\n 'OfficeLogo': '\\uEB6E',\n 'SkypeLogo': '\\uEB6F',\n 'Door': '\\uEB75',\n 'EditMirrored': '\\uEB7E',\n 'GiftCard': '\\uEB8E',\n 'DoubleBookmark': '\\uEB8F',\n 'StatusErrorFull': '\\uEB90'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-5\"`,\n src: `url('${baseUrl}fabric-icons-5-f95ba260.woff') format('woff')`\n },\n icons: {\n 'Certificate': '\\uEB95',\n 'FastForward': '\\uEB9D',\n 'Rewind': '\\uEB9E',\n 'Photo2': '\\uEB9F',\n 'OpenSource': '\\uEBC2',\n 'Movers': '\\uEBCD',\n 'CloudDownload': '\\uEBD3',\n 'Family': '\\uEBDA',\n 'WindDirection': '\\uEBE6',\n 'Bug': '\\uEBE8',\n 'SiteScan': '\\uEBEC',\n 'BrowserScreenShot': '\\uEBED',\n 'F12DevTools': '\\uEBEE',\n 'CSS': '\\uEBEF',\n 'JS': '\\uEBF0',\n 'DeliveryTruck': '\\uEBF4',\n 'ReminderPerson': '\\uEBF7',\n 'ReminderGroup': '\\uEBF8',\n 'ReminderTime': '\\uEBF9',\n 'TabletMode': '\\uEBFC',\n 'Umbrella': '\\uEC04',\n 'NetworkTower': '\\uEC05',\n 'CityNext': '\\uEC06',\n 'CityNext2': '\\uEC07',\n 'Section': '\\uEC0C',\n 'OneNoteLogoInverse': '\\uEC0D',\n 'ToggleFilled': '\\uEC11',\n 'ToggleBorder': '\\uEC12',\n 'SliderThumb': '\\uEC13',\n 'ToggleThumb': '\\uEC14',\n 'Documentation': '\\uEC17',\n 'Badge': '\\uEC1B',\n 'Giftbox': '\\uEC1F',\n 'VisualStudioLogo': '\\uEC22',\n 'HomeGroup': '\\uEC26',\n 'ExcelLogoInverse': '\\uEC28',\n 'WordLogoInverse': '\\uEC29',\n 'PowerPointLogoInverse': '\\uEC2A',\n 'Cafe': '\\uEC32',\n 'SpeedHigh': '\\uEC4A',\n 'Commitments': '\\uEC4D',\n 'ThisPC': '\\uEC4E',\n 'MusicNote': '\\uEC4F',\n 'MicOff': '\\uEC54',\n 'PlaybackRate1x': '\\uEC57',\n 'EdgeLogo': '\\uEC60',\n 'CompletedSolid': '\\uEC61',\n 'AlbumRemove': '\\uEC62',\n 'MessageFill': '\\uEC70',\n 'TabletSelected': '\\uEC74',\n 'MobileSelected': '\\uEC75',\n 'LaptopSelected': '\\uEC76',\n 'TVMonitorSelected': '\\uEC77',\n 'DeveloperTools': '\\uEC7A',\n 'Shapes': '\\uEC7C',\n 'InsertTextBox': '\\uEC7D',\n 'LowerBrightness': '\\uEC8A',\n 'WebComponents': '\\uEC8B',\n 'OfflineStorage': '\\uEC8C',\n 'DOM': '\\uEC8D',\n 'CloudUpload': '\\uEC8E',\n 'ScrollUpDown': '\\uEC8F',\n 'DateTime': '\\uEC92',\n 'Event': '\\uECA3',\n 'Cake': '\\uECA4',\n 'Org': '\\uECA6',\n 'PartyLeader': '\\uECA7',\n 'DRM': '\\uECA8',\n 'CloudAdd': '\\uECA9',\n 'AppIconDefault': '\\uECAA',\n 'Photo2Add': '\\uECAB',\n 'Photo2Remove': '\\uECAC',\n 'Calories': '\\uECAD',\n 'POI': '\\uECAF',\n 'AddTo': '\\uECC8',\n 'RadioBtnOff': '\\uECCA',\n 'RadioBtnOn': '\\uECCB',\n 'ExploreContent': '\\uECCD',\n 'Product': '\\uECDC',\n 'ProgressLoopInner': '\\uECDE',\n 'ProgressLoopOuter': '\\uECDF',\n 'Blocked2': '\\uECE4',\n 'FangBody': '\\uECEB',\n 'Toolbox': '\\uECED',\n 'PageHeader': '\\uECEE',\n 'ChatInviteFriend': '\\uECFE',\n 'Brush': '\\uECFF',\n 'Shirt': '\\uED00',\n 'Crown': '\\uED01',\n 'Diamond': '\\uED02',\n 'ScaleUp': '\\uED09',\n 'QRCode': '\\uED14',\n 'Feedback': '\\uED15',\n 'SharepointLogoInverse': '\\uED18',\n 'YammerLogo': '\\uED19',\n 'Hide': '\\uED1A',\n 'Uneditable': '\\uED1D',\n 'ReturnToSession': '\\uED24',\n 'OpenFolderHorizontal': '\\uED25',\n 'CalendarMirrored': '\\uED28'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-6\"`,\n src: `url('${baseUrl}fabric-icons-6-ef6fd590.woff') format('woff')`\n },\n icons: {\n 'SwayLogoInverse': '\\uED29',\n 'OutOfOffice': '\\uED34',\n 'Trophy': '\\uED3F',\n 'ReopenPages': '\\uED50',\n 'EmojiTabSymbols': '\\uED58',\n 'AADLogo': '\\uED68',\n 'AccessLogo': '\\uED69',\n 'AdminALogoInverse32': '\\uED6A',\n 'AdminCLogoInverse32': '\\uED6B',\n 'AdminDLogoInverse32': '\\uED6C',\n 'AdminELogoInverse32': '\\uED6D',\n 'AdminLLogoInverse32': '\\uED6E',\n 'AdminMLogoInverse32': '\\uED6F',\n 'AdminOLogoInverse32': '\\uED70',\n 'AdminPLogoInverse32': '\\uED71',\n 'AdminSLogoInverse32': '\\uED72',\n 'AdminYLogoInverse32': '\\uED73',\n 'DelveLogoInverse': '\\uED76',\n 'ExchangeLogoInverse': '\\uED78',\n 'LyncLogo': '\\uED79',\n 'OfficeVideoLogoInverse': '\\uED7A',\n 'SocialListeningLogo': '\\uED7C',\n 'VisioLogoInverse': '\\uED7D',\n 'Balloons': '\\uED7E',\n 'Cat': '\\uED7F',\n 'MailAlert': '\\uED80',\n 'MailCheck': '\\uED81',\n 'MailLowImportance': '\\uED82',\n 'MailPause': '\\uED83',\n 'MailRepeat': '\\uED84',\n 'SecurityGroup': '\\uED85',\n 'Table': '\\uED86',\n 'VoicemailForward': '\\uED87',\n 'VoicemailReply': '\\uED88',\n 'Waffle': '\\uED89',\n 'RemoveEvent': '\\uED8A',\n 'EventInfo': '\\uED8B',\n 'ForwardEvent': '\\uED8C',\n 'WipePhone': '\\uED8D',\n 'AddOnlineMeeting': '\\uED8E',\n 'JoinOnlineMeeting': '\\uED8F',\n 'RemoveLink': '\\uED90',\n 'PeopleBlock': '\\uED91',\n 'PeopleRepeat': '\\uED92',\n 'PeopleAlert': '\\uED93',\n 'PeoplePause': '\\uED94',\n 'TransferCall': '\\uED95',\n 'AddPhone': '\\uED96',\n 'UnknownCall': '\\uED97',\n 'NoteReply': '\\uED98',\n 'NoteForward': '\\uED99',\n 'NotePinned': '\\uED9A',\n 'RemoveOccurrence': '\\uED9B',\n 'Timeline': '\\uED9C',\n 'EditNote': '\\uED9D',\n 'CircleHalfFull': '\\uED9E',\n 'Room': '\\uED9F',\n 'Unsubscribe': '\\uEDA0',\n 'Subscribe': '\\uEDA1',\n 'HardDrive': '\\uEDA2',\n 'RecurringTask': '\\uEDB2',\n 'TaskManager': '\\uEDB7',\n 'TaskManagerMirrored': '\\uEDB8',\n 'Combine': '\\uEDBB',\n 'Split': '\\uEDBC',\n 'DoubleChevronUp': '\\uEDBD',\n 'DoubleChevronLeft': '\\uEDBE',\n 'DoubleChevronRight': '\\uEDBF',\n 'TextBox': '\\uEDC2',\n 'TextField': '\\uEDC3',\n 'NumberField': '\\uEDC4',\n 'Dropdown': '\\uEDC5',\n 'PenWorkspace': '\\uEDC6',\n 'BookingsLogo': '\\uEDC7',\n 'ClassNotebookLogoInverse': '\\uEDC8',\n 'DelveAnalyticsLogo': '\\uEDCA',\n 'DocsLogoInverse': '\\uEDCB',\n 'Dynamics365Logo': '\\uEDCC',\n 'DynamicSMBLogo': '\\uEDCD',\n 'OfficeAssistantLogo': '\\uEDCE',\n 'OfficeStoreLogo': '\\uEDCF',\n 'OneNoteEduLogoInverse': '\\uEDD0',\n 'PlannerLogo': '\\uEDD1',\n 'PowerApps': '\\uEDD2',\n 'Suitcase': '\\uEDD3',\n 'ProjectLogoInverse': '\\uEDD4',\n 'CaretLeft8': '\\uEDD5',\n 'CaretRight8': '\\uEDD6',\n 'CaretUp8': '\\uEDD7',\n 'CaretDown8': '\\uEDD8',\n 'CaretLeftSolid8': '\\uEDD9',\n 'CaretRightSolid8': '\\uEDDA',\n 'CaretUpSolid8': '\\uEDDB',\n 'CaretDownSolid8': '\\uEDDC',\n 'ClearFormatting': '\\uEDDD',\n 'Superscript': '\\uEDDE',\n 'Subscript': '\\uEDDF',\n 'Strikethrough': '\\uEDE0',\n 'Export': '\\uEDE1',\n 'ExportMirrored': '\\uEDE2'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-7\"`,\n src: `url('${baseUrl}fabric-icons-7-2b97bb99.woff') format('woff')`\n },\n icons: {\n 'SingleBookmark': '\\uEDFF',\n 'SingleBookmarkSolid': '\\uEE00',\n 'DoubleChevronDown': '\\uEE04',\n 'FollowUser': '\\uEE05',\n 'ReplyAll': '\\uEE0A',\n 'WorkforceManagement': '\\uEE0F',\n 'RecruitmentManagement': '\\uEE12',\n 'Questionnaire': '\\uEE19',\n 'ManagerSelfService': '\\uEE23',\n 'ProductionFloorManagement': '\\uEE29',\n 'ProductRelease': '\\uEE2E',\n 'ProductVariant': '\\uEE30',\n 'ReplyMirrored': '\\uEE35',\n 'ReplyAllMirrored': '\\uEE36',\n 'Medal': '\\uEE38',\n 'AddGroup': '\\uEE3D',\n 'QuestionnaireMirrored': '\\uEE4B',\n 'CloudImportExport': '\\uEE55',\n 'TemporaryUser': '\\uEE58',\n 'CaretSolid16': '\\uEE62',\n 'GroupedDescending': '\\uEE66',\n 'GroupedAscending': '\\uEE67',\n 'AwayStatus': '\\uEE6A',\n 'MyMoviesTV': '\\uEE6C',\n 'GenericScan': '\\uEE6F',\n 'AustralianRules': '\\uEE70',\n 'WifiEthernet': '\\uEE77',\n 'TrackersMirrored': '\\uEE92',\n 'DateTimeMirrored': '\\uEE93',\n 'StopSolid': '\\uEE95',\n 'DoubleChevronUp12': '\\uEE96',\n 'DoubleChevronDown12': '\\uEE97',\n 'DoubleChevronLeft12': '\\uEE98',\n 'DoubleChevronRight12': '\\uEE99',\n 'CalendarAgenda': '\\uEE9A',\n 'ConnectVirtualMachine': '\\uEE9D',\n 'AddEvent': '\\uEEB5',\n 'AssetLibrary': '\\uEEB6',\n 'DataConnectionLibrary': '\\uEEB7',\n 'DocLibrary': '\\uEEB8',\n 'FormLibrary': '\\uEEB9',\n 'FormLibraryMirrored': '\\uEEBA',\n 'ReportLibrary': '\\uEEBB',\n 'ReportLibraryMirrored': '\\uEEBC',\n 'ContactCard': '\\uEEBD',\n 'CustomList': '\\uEEBE',\n 'CustomListMirrored': '\\uEEBF',\n 'IssueTracking': '\\uEEC0',\n 'IssueTrackingMirrored': '\\uEEC1',\n 'PictureLibrary': '\\uEEC2',\n 'OfficeAddinsLogo': '\\uEEC7',\n 'OfflineOneDriveParachute': '\\uEEC8',\n 'OfflineOneDriveParachuteDisabled': '\\uEEC9',\n 'TriangleSolidUp12': '\\uEECC',\n 'TriangleSolidDown12': '\\uEECD',\n 'TriangleSolidLeft12': '\\uEECE',\n 'TriangleSolidRight12': '\\uEECF',\n 'TriangleUp12': '\\uEED0',\n 'TriangleDown12': '\\uEED1',\n 'TriangleLeft12': '\\uEED2',\n 'TriangleRight12': '\\uEED3',\n 'ArrowUpRight8': '\\uEED4',\n 'ArrowDownRight8': '\\uEED5',\n 'DocumentSet': '\\uEED6',\n 'GoToDashboard': '\\uEEED',\n 'DelveAnalytics': '\\uEEEE',\n 'ArrowUpRightMirrored8': '\\uEEEF',\n 'ArrowDownRightMirrored8': '\\uEEF0',\n 'CompanyDirectory': '\\uEF0D',\n 'OpenEnrollment': '\\uEF1C',\n 'CompanyDirectoryMirrored': '\\uEF2B',\n 'OneDriveAdd': '\\uEF32',\n 'ProfileSearch': '\\uEF35',\n 'Header2': '\\uEF36',\n 'Header3': '\\uEF37',\n 'Header4': '\\uEF38',\n 'RingerSolid': '\\uEF3A',\n 'Eyedropper': '\\uEF3C',\n 'MarketDown': '\\uEF42',\n 'CalendarWorkWeek': '\\uEF51',\n 'SidePanel': '\\uEF52',\n 'GlobeFavorite': '\\uEF53',\n 'CaretTopLeftSolid8': '\\uEF54',\n 'CaretTopRightSolid8': '\\uEF55',\n 'ViewAll2': '\\uEF56',\n 'DocumentReply': '\\uEF57',\n 'PlayerSettings': '\\uEF58',\n 'ReceiptForward': '\\uEF59',\n 'ReceiptReply': '\\uEF5A',\n 'ReceiptCheck': '\\uEF5B',\n 'Fax': '\\uEF5C',\n 'RecurringEvent': '\\uEF5D',\n 'ReplyAlt': '\\uEF5E',\n 'ReplyAllAlt': '\\uEF5F',\n 'EditStyle': '\\uEF60',\n 'EditMail': '\\uEF61',\n 'Lifesaver': '\\uEF62',\n 'LifesaverLock': '\\uEF63',\n 'InboxCheck': '\\uEF64',\n 'FolderSearch': '\\uEF65'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-8\"`,\n src: `url('${baseUrl}fabric-icons-8-6fdf1528.woff') format('woff')`\n },\n icons: {\n 'CollapseMenu': '\\uEF66',\n 'ExpandMenu': '\\uEF67',\n 'Boards': '\\uEF68',\n 'SunAdd': '\\uEF69',\n 'SunQuestionMark': '\\uEF6A',\n 'LandscapeOrientation': '\\uEF6B',\n 'DocumentSearch': '\\uEF6C',\n 'PublicCalendar': '\\uEF6D',\n 'PublicContactCard': '\\uEF6E',\n 'PublicEmail': '\\uEF6F',\n 'PublicFolder': '\\uEF70',\n 'WordDocument': '\\uEF71',\n 'PowerPointDocument': '\\uEF72',\n 'ExcelDocument': '\\uEF73',\n 'GroupedList': '\\uEF74',\n 'ClassroomLogo': '\\uEF75',\n 'Sections': '\\uEF76',\n 'EditPhoto': '\\uEF77',\n 'Starburst': '\\uEF78',\n 'ShareiOS': '\\uEF79',\n 'AirTickets': '\\uEF7A',\n 'PencilReply': '\\uEF7B',\n 'Tiles2': '\\uEF7C',\n 'SkypeCircleCheck': '\\uEF7D',\n 'SkypeCircleClock': '\\uEF7E',\n 'SkypeCircleMinus': '\\uEF7F',\n 'SkypeMessage': '\\uEF83',\n 'ClosedCaption': '\\uEF84',\n 'ATPLogo': '\\uEF85',\n 'OfficeFormsLogoInverse': '\\uEF86',\n 'RecycleBin': '\\uEF87',\n 'EmptyRecycleBin': '\\uEF88',\n 'Hide2': '\\uEF89',\n 'Breadcrumb': '\\uEF8C',\n 'BirthdayCake': '\\uEF8D',\n 'TimeEntry': '\\uEF95',\n 'CRMProcesses': '\\uEFB1',\n 'PageEdit': '\\uEFB6',\n 'PageArrowRight': '\\uEFB8',\n 'PageRemove': '\\uEFBA',\n 'Database': '\\uEFC7',\n 'DataManagementSettings': '\\uEFC8',\n 'CRMServices': '\\uEFD2',\n 'EditContact': '\\uEFD3',\n 'ConnectContacts': '\\uEFD4',\n 'AppIconDefaultAdd': '\\uEFDA',\n 'AppIconDefaultList': '\\uEFDE',\n 'ActivateOrders': '\\uEFE0',\n 'DeactivateOrders': '\\uEFE1',\n 'ProductCatalog': '\\uEFE8',\n 'ScatterChart': '\\uEFEB',\n 'AccountActivity': '\\uEFF4',\n 'DocumentManagement': '\\uEFFC',\n 'CRMReport': '\\uEFFE',\n 'KnowledgeArticle': '\\uF000',\n 'Relationship': '\\uF003',\n 'HomeVerify': '\\uF00E',\n 'ZipFolder': '\\uF012',\n 'SurveyQuestions': '\\uF01B',\n 'TextDocument': '\\uF029',\n 'TextDocumentShared': '\\uF02B',\n 'PageCheckedOut': '\\uF02C',\n 'PageShared': '\\uF02D',\n 'SaveAndClose': '\\uF038',\n 'Script': '\\uF03A',\n 'Archive': '\\uF03F',\n 'ActivityFeed': '\\uF056',\n 'Compare': '\\uF057',\n 'EventDate': '\\uF059',\n 'ArrowUpRight': '\\uF069',\n 'CaretRight': '\\uF06B',\n 'SetAction': '\\uF071',\n 'ChatBot': '\\uF08B',\n 'CaretSolidLeft': '\\uF08D',\n 'CaretSolidDown': '\\uF08E',\n 'CaretSolidRight': '\\uF08F',\n 'CaretSolidUp': '\\uF090',\n 'PowerAppsLogo': '\\uF091',\n 'PowerApps2Logo': '\\uF092',\n 'SearchIssue': '\\uF09A',\n 'SearchIssueMirrored': '\\uF09B',\n 'FabricAssetLibrary': '\\uF09C',\n 'FabricDataConnectionLibrary': '\\uF09D',\n 'FabricDocLibrary': '\\uF09E',\n 'FabricFormLibrary': '\\uF09F',\n 'FabricFormLibraryMirrored': '\\uF0A0',\n 'FabricReportLibrary': '\\uF0A1',\n 'FabricReportLibraryMirrored': '\\uF0A2',\n 'FabricPublicFolder': '\\uF0A3',\n 'FabricFolderSearch': '\\uF0A4',\n 'FabricMovetoFolder': '\\uF0A5',\n 'FabricUnsyncFolder': '\\uF0A6',\n 'FabricSyncFolder': '\\uF0A7',\n 'FabricOpenFolderHorizontal': '\\uF0A8',\n 'FabricFolder': '\\uF0A9',\n 'FabricFolderFill': '\\uF0AA',\n 'FabricNewFolder': '\\uF0AB',\n 'FabricPictureLibrary': '\\uF0AC',\n 'PhotoVideoMedia': '\\uF0B1',\n 'AddFavorite': '\\uF0C8'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-9\"`,\n src: `url('${baseUrl}fabric-icons-9-c6162b42.woff') format('woff')`\n },\n icons: {\n 'AddFavoriteFill': '\\uF0C9',\n 'BufferTimeBefore': '\\uF0CF',\n 'BufferTimeAfter': '\\uF0D0',\n 'BufferTimeBoth': '\\uF0D1',\n 'PublishContent': '\\uF0D4',\n 'ClipboardList': '\\uF0E3',\n 'ClipboardListMirrored': '\\uF0E4',\n 'CannedChat': '\\uF0F2',\n 'SkypeForBusinessLogo': '\\uF0FC',\n 'TabCenter': '\\uF100',\n 'PageCheckedin': '\\uF104',\n 'PageList': '\\uF106',\n 'ReadOutLoud': '\\uF112',\n 'CaretBottomLeftSolid8': '\\uF121',\n 'CaretBottomRightSolid8': '\\uF122',\n 'FolderHorizontal': '\\uF12B',\n 'MicrosoftStaffhubLogo': '\\uF130',\n 'GiftboxOpen': '\\uF133',\n 'StatusCircleOuter': '\\uF136',\n 'StatusCircleInner': '\\uF137',\n 'StatusCircleRing': '\\uF138',\n 'StatusTriangleOuter': '\\uF139',\n 'StatusTriangleInner': '\\uF13A',\n 'StatusTriangleExclamation': '\\uF13B',\n 'StatusCircleExclamation': '\\uF13C',\n 'StatusCircleErrorX': '\\uF13D',\n 'StatusCircleInfo': '\\uF13F',\n 'StatusCircleBlock': '\\uF140',\n 'StatusCircleBlock2': '\\uF141',\n 'StatusCircleQuestionMark': '\\uF142',\n 'StatusCircleSync': '\\uF143',\n 'Toll': '\\uF160',\n 'ExploreContentSingle': '\\uF164',\n 'CollapseContent': '\\uF165',\n 'CollapseContentSingle': '\\uF166',\n 'InfoSolid': '\\uF167',\n 'GroupList': '\\uF168',\n 'ProgressRingDots': '\\uF16A',\n 'CaloriesAdd': '\\uF172',\n 'BranchFork': '\\uF173',\n 'MuteChat': '\\uF17A',\n 'AddHome': '\\uF17B',\n 'AddWork': '\\uF17C',\n 'MobileReport': '\\uF18A',\n 'ScaleVolume': '\\uF18C',\n 'HardDriveGroup': '\\uF18F',\n 'FastMode': '\\uF19A',\n 'ToggleLeft': '\\uF19E',\n 'ToggleRight': '\\uF19F',\n 'TriangleShape': '\\uF1A7',\n 'RectangleShape': '\\uF1A9',\n 'CubeShape': '\\uF1AA',\n 'Trophy2': '\\uF1AE',\n 'BucketColor': '\\uF1B6',\n 'BucketColorFill': '\\uF1B7',\n 'Taskboard': '\\uF1C2',\n 'SingleColumn': '\\uF1D3',\n 'DoubleColumn': '\\uF1D4',\n 'TripleColumn': '\\uF1D5',\n 'ColumnLeftTwoThirds': '\\uF1D6',\n 'ColumnRightTwoThirds': '\\uF1D7',\n 'AccessLogoFill': '\\uF1DB',\n 'AnalyticsLogo': '\\uF1DE',\n 'AnalyticsQuery': '\\uF1DF',\n 'NewAnalyticsQuery': '\\uF1E0',\n 'AnalyticsReport': '\\uF1E1',\n 'WordLogo': '\\uF1E3',\n 'WordLogoFill': '\\uF1E4',\n 'ExcelLogo': '\\uF1E5',\n 'ExcelLogoFill': '\\uF1E6',\n 'OneNoteLogo': '\\uF1E7',\n 'OneNoteLogoFill': '\\uF1E8',\n 'OutlookLogo': '\\uF1E9',\n 'OutlookLogoFill': '\\uF1EA',\n 'PowerPointLogo': '\\uF1EB',\n 'PowerPointLogoFill': '\\uF1EC',\n 'PublisherLogo': '\\uF1ED',\n 'PublisherLogoFill': '\\uF1EE',\n 'ScheduleEventAction': '\\uF1EF',\n 'FlameSolid': '\\uF1F3',\n 'ServerProcesses': '\\uF1FE',\n 'Server': '\\uF201',\n 'SaveAll': '\\uF203',\n 'LinkedInLogo': '\\uF20A',\n 'Decimals': '\\uF218',\n 'SidePanelMirrored': '\\uF221',\n 'ProtectRestrict': '\\uF22A',\n 'Blog': '\\uF22B',\n 'UnknownMirrored': '\\uF22E',\n 'PublicContactCardMirrored': '\\uF230',\n 'GridViewSmall': '\\uF232',\n 'GridViewMedium': '\\uF233',\n 'GridViewLarge': '\\uF234',\n 'Step': '\\uF241',\n 'StepInsert': '\\uF242',\n 'StepShared': '\\uF243',\n 'StepSharedAdd': '\\uF244',\n 'StepSharedInsert': '\\uF245',\n 'ViewDashboard': '\\uF246',\n 'ViewList': '\\uF247'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-10\"`,\n src: `url('${baseUrl}fabric-icons-10-c4ded8e4.woff') format('woff')`\n },\n icons: {\n 'ViewListGroup': '\\uF248',\n 'ViewListTree': '\\uF249',\n 'TriggerAuto': '\\uF24A',\n 'TriggerUser': '\\uF24B',\n 'PivotChart': '\\uF24C',\n 'StackedBarChart': '\\uF24D',\n 'StackedLineChart': '\\uF24E',\n 'BuildQueue': '\\uF24F',\n 'BuildQueueNew': '\\uF250',\n 'UserFollowed': '\\uF25C',\n 'ContactLink': '\\uF25F',\n 'Stack': '\\uF26F',\n 'Bullseye': '\\uF272',\n 'VennDiagram': '\\uF273',\n 'FiveTileGrid': '\\uF274',\n 'FocalPoint': '\\uF277',\n 'Insert': '\\uF278',\n 'RingerRemove': '\\uF279',\n 'TeamsLogoInverse': '\\uF27A',\n 'TeamsLogo': '\\uF27B',\n 'TeamsLogoFill': '\\uF27C',\n 'SkypeForBusinessLogoFill': '\\uF27D',\n 'SharepointLogo': '\\uF27E',\n 'SharepointLogoFill': '\\uF27F',\n 'DelveLogo': '\\uF280',\n 'DelveLogoFill': '\\uF281',\n 'OfficeVideoLogo': '\\uF282',\n 'OfficeVideoLogoFill': '\\uF283',\n 'ExchangeLogo': '\\uF284',\n 'ExchangeLogoFill': '\\uF285',\n 'Signin': '\\uF286',\n 'DocumentApproval': '\\uF28B',\n 'CloneToDesktop': '\\uF28C',\n 'InstallToDrive': '\\uF28D',\n 'Blur': '\\uF28E',\n 'Build': '\\uF28F',\n 'ProcessMetaTask': '\\uF290',\n 'BranchFork2': '\\uF291',\n 'BranchLocked': '\\uF292',\n 'BranchCommit': '\\uF293',\n 'BranchCompare': '\\uF294',\n 'BranchMerge': '\\uF295',\n 'BranchPullRequest': '\\uF296',\n 'BranchSearch': '\\uF297',\n 'BranchShelveset': '\\uF298',\n 'RawSource': '\\uF299',\n 'MergeDuplicate': '\\uF29A',\n 'RowsGroup': '\\uF29B',\n 'RowsChild': '\\uF29C',\n 'Deploy': '\\uF29D',\n 'Redeploy': '\\uF29E',\n 'ServerEnviroment': '\\uF29F',\n 'VisioDiagram': '\\uF2A0',\n 'HighlightMappedShapes': '\\uF2A1',\n 'TextCallout': '\\uF2A2',\n 'IconSetsFlag': '\\uF2A4',\n 'VisioLogo': '\\uF2A7',\n 'VisioLogoFill': '\\uF2A8',\n 'VisioDocument': '\\uF2A9',\n 'TimelineProgress': '\\uF2AA',\n 'TimelineDelivery': '\\uF2AB',\n 'Backlog': '\\uF2AC',\n 'TeamFavorite': '\\uF2AD',\n 'TaskGroup': '\\uF2AE',\n 'TaskGroupMirrored': '\\uF2AF',\n 'ScopeTemplate': '\\uF2B0',\n 'AssessmentGroupTemplate': '\\uF2B1',\n 'NewTeamProject': '\\uF2B2',\n 'CommentAdd': '\\uF2B3',\n 'CommentNext': '\\uF2B4',\n 'CommentPrevious': '\\uF2B5',\n 'ShopServer': '\\uF2B6',\n 'LocaleLanguage': '\\uF2B7',\n 'QueryList': '\\uF2B8',\n 'UserSync': '\\uF2B9',\n 'UserPause': '\\uF2BA',\n 'StreamingOff': '\\uF2BB',\n 'ArrowTallUpLeft': '\\uF2BD',\n 'ArrowTallUpRight': '\\uF2BE',\n 'ArrowTallDownLeft': '\\uF2BF',\n 'ArrowTallDownRight': '\\uF2C0',\n 'FieldEmpty': '\\uF2C1',\n 'FieldFilled': '\\uF2C2',\n 'FieldChanged': '\\uF2C3',\n 'FieldNotChanged': '\\uF2C4',\n 'RingerOff': '\\uF2C5',\n 'PlayResume': '\\uF2C6',\n 'BulletedList2': '\\uF2C7',\n 'BulletedList2Mirrored': '\\uF2C8',\n 'ImageCrosshair': '\\uF2C9',\n 'GitGraph': '\\uF2CA',\n 'Repo': '\\uF2CB',\n 'RepoSolid': '\\uF2CC',\n 'FolderQuery': '\\uF2CD',\n 'FolderList': '\\uF2CE',\n 'FolderListMirrored': '\\uF2CF',\n 'LocationOutline': '\\uF2D0',\n 'POISolid': '\\uF2D1',\n 'CalculatorNotEqualTo': '\\uF2D2',\n 'BoxSubtractSolid': '\\uF2D3'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-11\"`,\n src: `url('${baseUrl}fabric-icons-11-2a8393d6.woff') format('woff')`\n },\n icons: {\n 'BoxAdditionSolid': '\\uF2D4',\n 'BoxMultiplySolid': '\\uF2D5',\n 'BoxPlaySolid': '\\uF2D6',\n 'BoxCheckmarkSolid': '\\uF2D7',\n 'CirclePauseSolid': '\\uF2D8',\n 'CirclePause': '\\uF2D9',\n 'MSNVideosSolid': '\\uF2DA',\n 'CircleStopSolid': '\\uF2DB',\n 'CircleStop': '\\uF2DC',\n 'NavigateBack': '\\uF2DD',\n 'NavigateBackMirrored': '\\uF2DE',\n 'NavigateForward': '\\uF2DF',\n 'NavigateForwardMirrored': '\\uF2E0',\n 'UnknownSolid': '\\uF2E1',\n 'UnknownMirroredSolid': '\\uF2E2',\n 'CircleAddition': '\\uF2E3',\n 'CircleAdditionSolid': '\\uF2E4',\n 'FilePDB': '\\uF2E5',\n 'FileTemplate': '\\uF2E6',\n 'FileSQL': '\\uF2E7',\n 'FileJAVA': '\\uF2E8',\n 'FileASPX': '\\uF2E9',\n 'FileCSS': '\\uF2EA',\n 'FileSass': '\\uF2EB',\n 'FileLess': '\\uF2EC',\n 'FileHTML': '\\uF2ED',\n 'JavaScriptLanguage': '\\uF2EE',\n 'CSharpLanguage': '\\uF2EF',\n 'CSharp': '\\uF2F0',\n 'VisualBasicLanguage': '\\uF2F1',\n 'VB': '\\uF2F2',\n 'CPlusPlusLanguage': '\\uF2F3',\n 'CPlusPlus': '\\uF2F4',\n 'FSharpLanguage': '\\uF2F5',\n 'FSharp': '\\uF2F6',\n 'TypeScriptLanguage': '\\uF2F7',\n 'PythonLanguage': '\\uF2F8',\n 'PY': '\\uF2F9',\n 'CoffeeScript': '\\uF2FA',\n 'MarkDownLanguage': '\\uF2FB',\n 'FullWidth': '\\uF2FE',\n 'FullWidthEdit': '\\uF2FF',\n 'Plug': '\\uF300',\n 'PlugSolid': '\\uF301',\n 'PlugConnected': '\\uF302',\n 'PlugDisconnected': '\\uF303',\n 'UnlockSolid': '\\uF304',\n 'Variable': '\\uF305',\n 'Parameter': '\\uF306',\n 'CommentUrgent': '\\uF307',\n 'Storyboard': '\\uF308',\n 'DiffInline': '\\uF309',\n 'DiffSideBySide': '\\uF30A',\n 'ImageDiff': '\\uF30B',\n 'ImagePixel': '\\uF30C',\n 'FileBug': '\\uF30D',\n 'FileCode': '\\uF30E',\n 'FileComment': '\\uF30F',\n 'BusinessHoursSign': '\\uF310',\n 'FileImage': '\\uF311',\n 'FileSymlink': '\\uF312',\n 'AutoFillTemplate': '\\uF313',\n 'WorkItem': '\\uF314',\n 'WorkItemBug': '\\uF315',\n 'LogRemove': '\\uF316',\n 'ColumnOptions': '\\uF317',\n 'Packages': '\\uF318',\n 'BuildIssue': '\\uF319',\n 'AssessmentGroup': '\\uF31A',\n 'VariableGroup': '\\uF31B',\n 'FullHistory': '\\uF31C',\n 'Wheelchair': '\\uF31F',\n 'SingleColumnEdit': '\\uF321',\n 'DoubleColumnEdit': '\\uF322',\n 'TripleColumnEdit': '\\uF323',\n 'ColumnLeftTwoThirdsEdit': '\\uF324',\n 'ColumnRightTwoThirdsEdit': '\\uF325',\n 'StreamLogo': '\\uF329',\n 'PassiveAuthentication': '\\uF32A',\n 'AlertSolid': '\\uF331',\n 'MegaphoneSolid': '\\uF332',\n 'TaskSolid': '\\uF333',\n 'ConfigurationSolid': '\\uF334',\n 'BugSolid': '\\uF335',\n 'CrownSolid': '\\uF336',\n 'Trophy2Solid': '\\uF337',\n 'QuickNoteSolid': '\\uF338',\n 'ConstructionConeSolid': '\\uF339',\n 'PageListSolid': '\\uF33A',\n 'PageListMirroredSolid': '\\uF33B',\n 'StarburstSolid': '\\uF33C',\n 'ReadingModeSolid': '\\uF33D',\n 'SadSolid': '\\uF33E',\n 'HealthSolid': '\\uF33F',\n 'ShieldSolid': '\\uF340',\n 'GiftBoxSolid': '\\uF341',\n 'ShoppingCartSolid': '\\uF342',\n 'MailSolid': '\\uF343',\n 'ChatSolid': '\\uF344',\n 'RibbonSolid': '\\uF345'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-12\"`,\n src: `url('${baseUrl}fabric-icons-12-7e945a1e.woff') format('woff')`\n },\n icons: {\n 'FinancialSolid': '\\uF346',\n 'FinancialMirroredSolid': '\\uF347',\n 'HeadsetSolid': '\\uF348',\n 'PermissionsSolid': '\\uF349',\n 'ParkingSolid': '\\uF34A',\n 'ParkingMirroredSolid': '\\uF34B',\n 'DiamondSolid': '\\uF34C',\n 'AsteriskSolid': '\\uF34D',\n 'OfflineStorageSolid': '\\uF34E',\n 'BankSolid': '\\uF34F',\n 'DecisionSolid': '\\uF350',\n 'Parachute': '\\uF351',\n 'ParachuteSolid': '\\uF352',\n 'FiltersSolid': '\\uF353',\n 'ColorSolid': '\\uF354',\n 'ReviewSolid': '\\uF355',\n 'ReviewRequestSolid': '\\uF356',\n 'ReviewRequestMirroredSolid': '\\uF357',\n 'ReviewResponseSolid': '\\uF358',\n 'FeedbackRequestSolid': '\\uF359',\n 'FeedbackRequestMirroredSolid': '\\uF35A',\n 'FeedbackResponseSolid': '\\uF35B',\n 'WorkItemBar': '\\uF35C',\n 'WorkItemBarSolid': '\\uF35D',\n 'Separator': '\\uF35E',\n 'NavigateExternalInline': '\\uF35F',\n 'PlanView': '\\uF360',\n 'TimelineMatrixView': '\\uF361',\n 'EngineeringGroup': '\\uF362',\n 'ProjectCollection': '\\uF363',\n 'CaretBottomRightCenter8': '\\uF364',\n 'CaretBottomLeftCenter8': '\\uF365',\n 'CaretTopRightCenter8': '\\uF366',\n 'CaretTopLeftCenter8': '\\uF367',\n 'DonutChart': '\\uF368',\n 'ChevronUnfold10': '\\uF369',\n 'ChevronFold10': '\\uF36A',\n 'DoubleChevronDown8': '\\uF36B',\n 'DoubleChevronUp8': '\\uF36C',\n 'DoubleChevronLeft8': '\\uF36D',\n 'DoubleChevronRight8': '\\uF36E',\n 'ChevronDownEnd6': '\\uF36F',\n 'ChevronUpEnd6': '\\uF370',\n 'ChevronLeftEnd6': '\\uF371',\n 'ChevronRightEnd6': '\\uF372',\n 'ContextMenu': '\\uF37C',\n 'AzureAPIManagement': '\\uF37F',\n 'AzureServiceEndpoint': '\\uF380',\n 'VSTSLogo': '\\uF381',\n 'VSTSAltLogo1': '\\uF382',\n 'VSTSAltLogo2': '\\uF383',\n 'FileTypeSolution': '\\uF387',\n 'WordLogoInverse16': '\\uF390',\n 'WordLogo16': '\\uF391',\n 'WordLogoFill16': '\\uF392',\n 'PowerPointLogoInverse16': '\\uF393',\n 'PowerPointLogo16': '\\uF394',\n 'PowerPointLogoFill16': '\\uF395',\n 'ExcelLogoInverse16': '\\uF396',\n 'ExcelLogo16': '\\uF397',\n 'ExcelLogoFill16': '\\uF398',\n 'OneNoteLogoInverse16': '\\uF399',\n 'OneNoteLogo16': '\\uF39A',\n 'OneNoteLogoFill16': '\\uF39B',\n 'OutlookLogoInverse16': '\\uF39C',\n 'OutlookLogo16': '\\uF39D',\n 'OutlookLogoFill16': '\\uF39E',\n 'PublisherLogoInverse16': '\\uF39F',\n 'PublisherLogo16': '\\uF3A0',\n 'PublisherLogoFill16': '\\uF3A1',\n 'VisioLogoInverse16': '\\uF3A2',\n 'VisioLogo16': '\\uF3A3',\n 'VisioLogoFill16': '\\uF3A4',\n 'TestBeaker': '\\uF3A5',\n 'TestBeakerSolid': '\\uF3A6',\n 'TestExploreSolid': '\\uF3A7',\n 'TestAutoSolid': '\\uF3A8',\n 'TestUserSolid': '\\uF3A9',\n 'TestImpactSolid': '\\uF3AA',\n 'TestPlan': '\\uF3AB',\n 'TestStep': '\\uF3AC',\n 'TestParameter': '\\uF3AD',\n 'TestSuite': '\\uF3AE',\n 'TestCase': '\\uF3AF',\n 'Sprint': '\\uF3B0',\n 'SignOut': '\\uF3B1',\n 'TriggerApproval': '\\uF3B2',\n 'Rocket': '\\uF3B3',\n 'AzureKeyVault': '\\uF3B4',\n 'Onboarding': '\\uF3BA',\n 'Transition': '\\uF3BC',\n 'LikeSolid': '\\uF3BF',\n 'DislikeSolid': '\\uF3C0',\n 'CRMCustomerInsightsApp': '\\uF3C8',\n 'EditCreate': '\\uF3C9',\n 'PlayReverseResume': '\\uF3E4',\n 'PlayReverse': '\\uF3E5',\n 'SearchData': '\\uF3F1',\n 'UnSetColor': '\\uF3F9',\n 'DeclineCall': '\\uF405'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-13\"`,\n src: `url('${baseUrl}fabric-icons-13-c3989a02.woff') format('woff')`\n },\n icons: {\n 'RectangularClipping': '\\uF407',\n 'TeamsLogo16': '\\uF40A',\n 'TeamsLogoFill16': '\\uF40B',\n 'Spacer': '\\uF40D',\n 'SkypeLogo16': '\\uF40E',\n 'SkypeForBusinessLogo16': '\\uF40F',\n 'SkypeForBusinessLogoFill16': '\\uF410',\n 'FilterSolid': '\\uF412',\n 'MailUndelivered': '\\uF415',\n 'MailTentative': '\\uF416',\n 'MailTentativeMirrored': '\\uF417',\n 'MailReminder': '\\uF418',\n 'ReceiptUndelivered': '\\uF419',\n 'ReceiptTentative': '\\uF41A',\n 'ReceiptTentativeMirrored': '\\uF41B',\n 'Inbox': '\\uF41C',\n 'IRMReply': '\\uF41D',\n 'IRMReplyMirrored': '\\uF41E',\n 'IRMForward': '\\uF41F',\n 'IRMForwardMirrored': '\\uF420',\n 'VoicemailIRM': '\\uF421',\n 'EventAccepted': '\\uF422',\n 'EventTentative': '\\uF423',\n 'EventTentativeMirrored': '\\uF424',\n 'EventDeclined': '\\uF425',\n 'IDBadge': '\\uF427',\n 'BackgroundColor': '\\uF42B',\n 'OfficeFormsLogoInverse16': '\\uF433',\n 'OfficeFormsLogo': '\\uF434',\n 'OfficeFormsLogoFill': '\\uF435',\n 'OfficeFormsLogo16': '\\uF436',\n 'OfficeFormsLogoFill16': '\\uF437',\n 'OfficeFormsLogoInverse24': '\\uF43A',\n 'OfficeFormsLogo24': '\\uF43B',\n 'OfficeFormsLogoFill24': '\\uF43C',\n 'PageLock': '\\uF43F',\n 'NotExecuted': '\\uF440',\n 'NotImpactedSolid': '\\uF441',\n 'FieldReadOnly': '\\uF442',\n 'FieldRequired': '\\uF443',\n 'BacklogBoard': '\\uF444',\n 'ExternalBuild': '\\uF445',\n 'ExternalTFVC': '\\uF446',\n 'ExternalXAML': '\\uF447',\n 'IssueSolid': '\\uF448',\n 'DefectSolid': '\\uF449',\n 'LadybugSolid': '\\uF44A',\n 'NugetLogo': '\\uF44C',\n 'TFVCLogo': '\\uF44D',\n 'ProjectLogo32': '\\uF47E',\n 'ProjectLogoFill32': '\\uF47F',\n 'ProjectLogo16': '\\uF480',\n 'ProjectLogoFill16': '\\uF481',\n 'SwayLogo32': '\\uF482',\n 'SwayLogoFill32': '\\uF483',\n 'SwayLogo16': '\\uF484',\n 'SwayLogoFill16': '\\uF485',\n 'ClassNotebookLogo32': '\\uF486',\n 'ClassNotebookLogoFill32': '\\uF487',\n 'ClassNotebookLogo16': '\\uF488',\n 'ClassNotebookLogoFill16': '\\uF489',\n 'ClassNotebookLogoInverse32': '\\uF48A',\n 'ClassNotebookLogoInverse16': '\\uF48B',\n 'StaffNotebookLogo32': '\\uF48C',\n 'StaffNotebookLogoFill32': '\\uF48D',\n 'StaffNotebookLogo16': '\\uF48E',\n 'StaffNotebookLogoFill16': '\\uF48F',\n 'StaffNotebookLogoInverted32': '\\uF490',\n 'StaffNotebookLogoInverted16': '\\uF491',\n 'KaizalaLogo': '\\uF492',\n 'TaskLogo': '\\uF493',\n 'ProtectionCenterLogo32': '\\uF494',\n 'GallatinLogo': '\\uF496',\n 'Globe2': '\\uF49A',\n 'Guitar': '\\uF49B',\n 'Breakfast': '\\uF49C',\n 'Brunch': '\\uF49D',\n 'BeerMug': '\\uF49E',\n 'Vacation': '\\uF49F',\n 'Teeth': '\\uF4A0',\n 'Taxi': '\\uF4A1',\n 'Chopsticks': '\\uF4A2',\n 'SyncOccurence': '\\uF4A3',\n 'UnsyncOccurence': '\\uF4A4',\n 'GIF': '\\uF4A9',\n 'PrimaryCalendar': '\\uF4AE',\n 'SearchCalendar': '\\uF4AF',\n 'VideoOff': '\\uF4B0',\n 'MicrosoftFlowLogo': '\\uF4B1',\n 'BusinessCenterLogo': '\\uF4B2',\n 'ToDoLogoBottom': '\\uF4B3',\n 'ToDoLogoTop': '\\uF4B4',\n 'EditSolid12': '\\uF4B5',\n 'EditSolidMirrored12': '\\uF4B6',\n 'UneditableSolid12': '\\uF4B7',\n 'UneditableSolidMirrored12': '\\uF4B8',\n 'UneditableMirrored': '\\uF4B9',\n 'AdminALogo32': '\\uF4BA',\n 'AdminALogoFill32': '\\uF4BB',\n 'ToDoLogoInverse': '\\uF4BC'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-14\"`,\n src: `url('${baseUrl}fabric-icons-14-5cf58db8.woff') format('woff')`\n },\n icons: {\n 'Snooze': '\\uF4BD',\n 'WaffleOffice365': '\\uF4E0',\n 'ImageSearch': '\\uF4E8',\n 'NewsSearch': '\\uF4E9',\n 'VideoSearch': '\\uF4EA',\n 'R': '\\uF4EB',\n 'FontColorA': '\\uF4EC',\n 'FontColorSwatch': '\\uF4ED',\n 'LightWeight': '\\uF4EE',\n 'NormalWeight': '\\uF4EF',\n 'SemiboldWeight': '\\uF4F0',\n 'GroupObject': '\\uF4F1',\n 'UngroupObject': '\\uF4F2',\n 'AlignHorizontalLeft': '\\uF4F3',\n 'AlignHorizontalCenter': '\\uF4F4',\n 'AlignHorizontalRight': '\\uF4F5',\n 'AlignVerticalTop': '\\uF4F6',\n 'AlignVerticalCenter': '\\uF4F7',\n 'AlignVerticalBottom': '\\uF4F8',\n 'HorizontalDistributeCenter': '\\uF4F9',\n 'VerticalDistributeCenter': '\\uF4FA',\n 'Ellipse': '\\uF4FB',\n 'Line': '\\uF4FC',\n 'Octagon': '\\uF4FD',\n 'Hexagon': '\\uF4FE',\n 'Pentagon': '\\uF4FF',\n 'RightTriangle': '\\uF500',\n 'HalfCircle': '\\uF501',\n 'QuarterCircle': '\\uF502',\n 'ThreeQuarterCircle': '\\uF503',\n '6PointStar': '\\uF504',\n '12PointStar': '\\uF505',\n 'ArrangeBringToFront': '\\uF506',\n 'ArrangeSendToBack': '\\uF507',\n 'ArrangeSendBackward': '\\uF508',\n 'ArrangeBringForward': '\\uF509',\n 'BorderDash': '\\uF50A',\n 'BorderDot': '\\uF50B',\n 'LineStyle': '\\uF50C',\n 'LineThickness': '\\uF50D',\n 'WindowEdit': '\\uF50E',\n 'HintText': '\\uF50F',\n 'MediaAdd': '\\uF510',\n 'AnchorLock': '\\uF511',\n 'AutoHeight': '\\uF512',\n 'ChartSeries': '\\uF513',\n 'ChartXAngle': '\\uF514',\n 'ChartYAngle': '\\uF515',\n 'Combobox': '\\uF516',\n 'LineSpacing': '\\uF517',\n 'Padding': '\\uF518',\n 'PaddingTop': '\\uF519',\n 'PaddingBottom': '\\uF51A',\n 'PaddingLeft': '\\uF51B',\n 'PaddingRight': '\\uF51C',\n 'NavigationFlipper': '\\uF51D',\n 'AlignJustify': '\\uF51E',\n 'TextOverflow': '\\uF51F',\n 'VisualsFolder': '\\uF520',\n 'VisualsStore': '\\uF521',\n 'PictureCenter': '\\uF522',\n 'PictureFill': '\\uF523',\n 'PicturePosition': '\\uF524',\n 'PictureStretch': '\\uF525',\n 'PictureTile': '\\uF526',\n 'Slider': '\\uF527',\n 'SliderHandleSize': '\\uF528',\n 'DefaultRatio': '\\uF529',\n 'NumberSequence': '\\uF52A',\n 'GUID': '\\uF52B',\n 'ReportAdd': '\\uF52C',\n 'DashboardAdd': '\\uF52D',\n 'MapPinSolid': '\\uF52E',\n 'WebPublish': '\\uF52F',\n 'PieSingleSolid': '\\uF530',\n 'BlockedSolid': '\\uF531',\n 'DrillDown': '\\uF532',\n 'DrillDownSolid': '\\uF533',\n 'DrillExpand': '\\uF534',\n 'DrillShow': '\\uF535',\n 'SpecialEvent': '\\uF536',\n 'OneDriveFolder16': '\\uF53B',\n 'FunctionalManagerDashboard': '\\uF542',\n 'BIDashboard': '\\uF543',\n 'CodeEdit': '\\uF544',\n 'RenewalCurrent': '\\uF545',\n 'RenewalFuture': '\\uF546',\n 'SplitObject': '\\uF547',\n 'BulkUpload': '\\uF548',\n 'DownloadDocument': '\\uF549',\n 'GreetingCard': '\\uF54B',\n 'Flower': '\\uF54E',\n 'WaitlistConfirm': '\\uF550',\n 'WaitlistConfirmMirrored': '\\uF551',\n 'LaptopSecure': '\\uF552',\n 'DragObject': '\\uF553',\n 'EntryView': '\\uF554',\n 'EntryDecline': '\\uF555',\n 'ContactCardSettings': '\\uF556',\n 'ContactCardSettingsMirrored': '\\uF557'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-15\"`,\n src: `url('${baseUrl}fabric-icons-15-3807251b.woff') format('woff')`\n },\n icons: {\n 'CalendarSettings': '\\uF558',\n 'CalendarSettingsMirrored': '\\uF559',\n 'HardDriveLock': '\\uF55A',\n 'HardDriveUnlock': '\\uF55B',\n 'AccountManagement': '\\uF55C',\n 'ReportWarning': '\\uF569',\n 'TransitionPop': '\\uF5B2',\n 'TransitionPush': '\\uF5B3',\n 'TransitionEffect': '\\uF5B4',\n 'LookupEntities': '\\uF5B5',\n 'ExploreData': '\\uF5B6',\n 'AddBookmark': '\\uF5B7',\n 'SearchBookmark': '\\uF5B8',\n 'DrillThrough': '\\uF5B9',\n 'MasterDatabase': '\\uF5BA',\n 'CertifiedDatabase': '\\uF5BB',\n 'MaximumValue': '\\uF5BC',\n 'MinimumValue': '\\uF5BD',\n 'VisualStudioIDELogo32': '\\uF5D0',\n 'PasteAsText': '\\uF5D5',\n 'PasteAsCode': '\\uF5D6',\n 'BrowserTab': '\\uF5D7',\n 'BrowserTabScreenshot': '\\uF5D8',\n 'DesktopScreenshot': '\\uF5D9',\n 'FileYML': '\\uF5DA',\n 'ClipboardSolid': '\\uF5DC',\n 'FabricUserFolder': '\\uF5E5',\n 'FabricNetworkFolder': '\\uF5E6',\n 'BullseyeTarget': '\\uF5F0',\n 'AnalyticsView': '\\uF5F1',\n 'Video360Generic': '\\uF609',\n 'Untag': '\\uF60B',\n 'Leave': '\\uF627',\n 'Trending12': '\\uF62D',\n 'Blocked12': '\\uF62E',\n 'Warning12': '\\uF62F',\n 'CheckedOutByOther12': '\\uF630',\n 'CheckedOutByYou12': '\\uF631',\n 'CircleShapeSolid': '\\uF63C',\n 'SquareShapeSolid': '\\uF63D',\n 'TriangleShapeSolid': '\\uF63E',\n 'DropShapeSolid': '\\uF63F',\n 'RectangleShapeSolid': '\\uF640',\n 'ZoomToFit': '\\uF649',\n 'InsertColumnsLeft': '\\uF64A',\n 'InsertColumnsRight': '\\uF64B',\n 'InsertRowsAbove': '\\uF64C',\n 'InsertRowsBelow': '\\uF64D',\n 'DeleteColumns': '\\uF64E',\n 'DeleteRows': '\\uF64F',\n 'DeleteRowsMirrored': '\\uF650',\n 'DeleteTable': '\\uF651',\n 'AccountBrowser': '\\uF652',\n 'VersionControlPush': '\\uF664',\n 'StackedColumnChart2': '\\uF666',\n 'TripleColumnWide': '\\uF66E',\n 'QuadColumn': '\\uF66F',\n 'WhiteBoardApp16': '\\uF673',\n 'WhiteBoardApp32': '\\uF674',\n 'PinnedSolid': '\\uF676',\n 'InsertSignatureLine': '\\uF677',\n 'ArrangeByFrom': '\\uF678',\n 'Phishing': '\\uF679',\n 'CreateMailRule': '\\uF67A',\n 'PublishCourse': '\\uF699',\n 'DictionaryRemove': '\\uF69A',\n 'UserRemove': '\\uF69B',\n 'UserEvent': '\\uF69C',\n 'Encryption': '\\uF69D',\n 'PasswordField': '\\uF6AA',\n 'OpenInNewTab': '\\uF6AB',\n 'Hide3': '\\uF6AC',\n 'VerifiedBrandSolid': '\\uF6AD',\n 'MarkAsProtected': '\\uF6AE',\n 'AuthenticatorApp': '\\uF6B1',\n 'WebTemplate': '\\uF6B2',\n 'DefenderTVM': '\\uF6B3',\n 'MedalSolid': '\\uF6B9',\n 'D365TalentLearn': '\\uF6BB',\n 'D365TalentInsight': '\\uF6BC',\n 'D365TalentHRCore': '\\uF6BD',\n 'BacklogList': '\\uF6BF',\n 'ButtonControl': '\\uF6C0',\n 'TableGroup': '\\uF6D9',\n 'MountainClimbing': '\\uF6DB',\n 'TagUnknown': '\\uF6DF',\n 'TagUnknownMirror': '\\uF6E0',\n 'TagUnknown12': '\\uF6E1',\n 'TagUnknown12Mirror': '\\uF6E2',\n 'Link12': '\\uF6E3',\n 'Presentation': '\\uF6E4',\n 'Presentation12': '\\uF6E5',\n 'Lock12': '\\uF6E6',\n 'BuildDefinition': '\\uF6E9',\n 'ReleaseDefinition': '\\uF6EA',\n 'SaveTemplate': '\\uF6EC',\n 'UserGauge': '\\uF6ED',\n 'BlockedSiteSolid12': '\\uF70A',\n 'TagSolid': '\\uF70E',\n 'OfficeChat': '\\uF70F'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-16\"`,\n src: `url('${baseUrl}fabric-icons-16-9cf93f3b.woff') format('woff')`\n },\n icons: {\n 'OfficeChatSolid': '\\uF710',\n 'MailSchedule': '\\uF72E',\n 'WarningSolid': '\\uF736',\n 'Blocked2Solid': '\\uF737',\n 'SkypeCircleArrow': '\\uF747',\n 'SkypeArrow': '\\uF748',\n 'SyncStatus': '\\uF751',\n 'SyncStatusSolid': '\\uF752',\n 'ProjectDocument': '\\uF759',\n 'ToDoLogoOutline': '\\uF75B',\n 'VisioOnlineLogoFill32': '\\uF75F',\n 'VisioOnlineLogo32': '\\uF760',\n 'VisioOnlineLogoCloud32': '\\uF761',\n 'VisioDiagramSync': '\\uF762',\n 'Event12': '\\uF763',\n 'EventDateMissed12': '\\uF764',\n 'UserOptional': '\\uF767',\n 'ResponsesMenu': '\\uF768',\n 'DoubleDownArrow': '\\uF769',\n 'DistributeDown': '\\uF76A',\n 'BookmarkReport': '\\uF76B',\n 'FilterSettings': '\\uF76C',\n 'GripperDotsVertical': '\\uF772',\n 'MailAttached': '\\uF774',\n 'AddIn': '\\uF775',\n 'LinkedDatabase': '\\uF779',\n 'TableLink': '\\uF77A',\n 'PromotedDatabase': '\\uF77D',\n 'BarChartVerticalFilter': '\\uF77E',\n 'BarChartVerticalFilterSolid': '\\uF77F',\n 'MicOff2': '\\uF781',\n 'MicrosoftTranslatorLogo': '\\uF782',\n 'ShowTimeAs': '\\uF787',\n 'FileRequest': '\\uF789',\n 'WorkItemAlert': '\\uF78F',\n 'PowerBILogo16': '\\uF790',\n 'PowerBILogoBackplate16': '\\uF791',\n 'BulletedListText': '\\uF792',\n 'BulletedListBullet': '\\uF793',\n 'BulletedListTextMirrored': '\\uF794',\n 'BulletedListBulletMirrored': '\\uF795',\n 'NumberedListText': '\\uF796',\n 'NumberedListNumber': '\\uF797',\n 'NumberedListTextMirrored': '\\uF798',\n 'NumberedListNumberMirrored': '\\uF799',\n 'RemoveLinkChain': '\\uF79A',\n 'RemoveLinkX': '\\uF79B',\n 'FabricTextHighlight': '\\uF79C',\n 'ClearFormattingA': '\\uF79D',\n 'ClearFormattingEraser': '\\uF79E',\n 'Photo2Fill': '\\uF79F',\n 'IncreaseIndentText': '\\uF7A0',\n 'IncreaseIndentArrow': '\\uF7A1',\n 'DecreaseIndentText': '\\uF7A2',\n 'DecreaseIndentArrow': '\\uF7A3',\n 'IncreaseIndentTextMirrored': '\\uF7A4',\n 'IncreaseIndentArrowMirrored': '\\uF7A5',\n 'DecreaseIndentTextMirrored': '\\uF7A6',\n 'DecreaseIndentArrowMirrored': '\\uF7A7',\n 'CheckListText': '\\uF7A8',\n 'CheckListCheck': '\\uF7A9',\n 'CheckListTextMirrored': '\\uF7AA',\n 'CheckListCheckMirrored': '\\uF7AB',\n 'NumberSymbol': '\\uF7AC',\n 'Coupon': '\\uF7BC',\n 'VerifiedBrand': '\\uF7BD',\n 'ReleaseGate': '\\uF7BE',\n 'ReleaseGateCheck': '\\uF7BF',\n 'ReleaseGateError': '\\uF7C0',\n 'M365InvoicingLogo': '\\uF7C1',\n 'RemoveFromShoppingList': '\\uF7D5',\n 'ShieldAlert': '\\uF7D7',\n 'FabricTextHighlightComposite': '\\uF7DA',\n 'Dataflows': '\\uF7DD',\n 'GenericScanFilled': '\\uF7DE',\n 'DiagnosticDataBarTooltip': '\\uF7DF',\n 'SaveToMobile': '\\uF7E0',\n 'Orientation2': '\\uF7E1',\n 'ScreenCast': '\\uF7E2',\n 'ShowGrid': '\\uF7E3',\n 'SnapToGrid': '\\uF7E4',\n 'ContactList': '\\uF7E5',\n 'NewMail': '\\uF7EA',\n 'EyeShadow': '\\uF7EB',\n 'FabricFolderConfirm': '\\uF7FF',\n 'InformationBarriers': '\\uF803',\n 'CommentActive': '\\uF804',\n 'ColumnVerticalSectionEdit': '\\uF806',\n 'WavingHand': '\\uF807',\n 'ShakeDevice': '\\uF80A',\n 'SmartGlassRemote': '\\uF80B',\n 'Rotate90Clockwise': '\\uF80D',\n 'Rotate90CounterClockwise': '\\uF80E',\n 'CampaignTemplate': '\\uF811',\n 'ChartTemplate': '\\uF812',\n 'PageListFilter': '\\uF813',\n 'SecondaryNav': '\\uF814',\n 'ColumnVerticalSection': '\\uF81E',\n 'SkypeCircleSlash': '\\uF825',\n 'SkypeSlash': '\\uF826'\n }\n };\n\n registerIcons(subset, options);\n}\n"," // Your use of the content in the files referenced here is subject to the terms of the license at https://aka.ms/fluentui-assets-license\n\nimport {\n IIconOptions,\n IIconSubset,\n registerIcons\n} from '@uifabric/styling';\n\nexport function initializeIcons(\n baseUrl: string = '',\n options?: IIconOptions\n): void {\n const subset: IIconSubset = {\n style: {\n MozOsxFontSmoothing: 'grayscale',\n WebkitFontSmoothing: 'antialiased',\n fontStyle: 'normal',\n fontWeight: 'normal',\n speak: 'none'\n },\n fontFace: {\n fontFamily: `\"FabricMDL2Icons-17\"`,\n src: `url('${baseUrl}fabric-icons-17-0c4ed701.woff') format('woff')`\n },\n icons: {\n 'CustomizeToolbar': '\\uF828',\n 'DuplicateRow': '\\uF82A',\n 'RemoveFromTrash': '\\uF82B',\n 'MailOptions': '\\uF82C',\n 'Childof': '\\uF82D',\n 'Footer': '\\uF82E',\n 'Header': '\\uF82F',\n 'BarChartVerticalFill': '\\uF830',\n 'StackedColumnChart2Fill': '\\uF831',\n 'PlainText': '\\uF834',\n 'AccessibiltyChecker': '\\uF835',\n 'DatabaseSync': '\\uF842',\n 'ReservationOrders': '\\uF845',\n 'TabOneColumn': '\\uF849',\n 'TabTwoColumn': '\\uF84A',\n 'TabThreeColumn': '\\uF84B',\n 'BulletedTreeList': '\\uF84C',\n 'MicrosoftTranslatorLogoGreen': '\\uF852',\n 'MicrosoftTranslatorLogoBlue': '\\uF853',\n 'InternalInvestigation': '\\uF854',\n 'AddReaction': '\\uF85D',\n 'ContactHeart': '\\uF862',\n 'VisuallyImpaired': '\\uF866',\n 'EventToDoLogo': '\\uF869',\n 'Variable2': '\\uF86D',\n 'ModelingView': '\\uF871',\n 'DisconnectVirtualMachine': '\\uF873',\n 'ReportLock': '\\uF875',\n 'Uneditable2': '\\uF876',\n 'Uneditable2Mirrored': '\\uF877',\n 'BarChartVerticalEdit': '\\uF89D',\n 'GlobalNavButtonActive': '\\uF89F',\n 'PollResults': '\\uF8A0',\n 'Rerun': '\\uF8A1',\n 'QandA': '\\uF8A2',\n 'QandAMirror': '\\uF8A3',\n 'BookAnswers': '\\uF8A4',\n 'AlertSettings': '\\uF8B6',\n 'TrimStart': '\\uF8BB',\n 'TrimEnd': '\\uF8BC',\n 'TableComputed': '\\uF8F5',\n 'DecreaseIndentLegacy': '\\uE290',\n 'IncreaseIndentLegacy': '\\uE291',\n 'SizeLegacy': '\\uE2B2'\n }\n };\n\n registerIcons(subset, options);\n}\n","import { registerIconAlias } from '@uifabric/styling';\n\nexport const registerIconAliases = () => {\n registerIconAlias('trash', 'delete');\n registerIconAlias('onedrive', 'onedrivelogo');\n registerIconAlias('alertsolid12', 'eventdatemissed12');\n registerIconAlias('sixpointstar', '6pointstar');\n registerIconAlias('twelvepointstar', '12pointstar');\n registerIconAlias('toggleon', 'toggleleft');\n registerIconAlias('toggleoff', 'toggleright');\n};\n\nexport default registerIconAliases;\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport classNames from 'classnames';\n/**\n * Fill component to provided the scroll content real height.\n */\n\nvar Filler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var height = _ref.height,\n offset = _ref.offset,\n children = _ref.children,\n prefixCls = _ref.prefixCls,\n onInnerResize = _ref.onInnerResize;\n var outerStyle = {};\n var innerStyle = {\n display: 'flex',\n flexDirection: 'column'\n };\n\n if (offset !== undefined) {\n outerStyle = {\n height: height,\n position: 'relative',\n overflow: 'hidden'\n };\n innerStyle = _objectSpread(_objectSpread({}, innerStyle), {}, {\n transform: \"translateY(\".concat(offset, \"px)\"),\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0\n });\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n style: outerStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref2) {\n var offsetHeight = _ref2.offsetHeight;\n\n if (offsetHeight && onInnerResize) {\n onInnerResize();\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: innerStyle,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-holder-inner\"), prefixCls)),\n ref: ref\n }, children)));\n});\nFiller.displayName = 'Filler';\nexport default Filler;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nvar MIN_SIZE = 20;\n\nfunction getPageY(e) {\n return 'touches' in e ? e.touches[0].pageY : e.pageY;\n}\n\nvar ScrollBar = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollBar, _React$Component);\n\n var _super = _createSuper(ScrollBar);\n\n function ScrollBar() {\n var _this;\n\n _classCallCheck(this, ScrollBar);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.moveRaf = null;\n _this.scrollbarRef = /*#__PURE__*/React.createRef();\n _this.thumbRef = /*#__PURE__*/React.createRef();\n _this.visibleTimeout = null;\n _this.state = {\n dragging: false,\n pageY: null,\n startTop: null,\n visible: false\n };\n\n _this.delayHidden = function () {\n clearTimeout(_this.visibleTimeout);\n\n _this.setState({\n visible: true\n });\n\n _this.visibleTimeout = setTimeout(function () {\n _this.setState({\n visible: false\n });\n }, 2000);\n };\n\n _this.onScrollbarTouchStart = function (e) {\n e.preventDefault();\n };\n\n _this.onContainerMouseDown = function (e) {\n e.stopPropagation();\n e.preventDefault();\n };\n\n _this.patchEvents = function () {\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseup', _this.onMouseUp);\n\n _this.thumbRef.current.addEventListener('touchmove', _this.onMouseMove);\n\n _this.thumbRef.current.addEventListener('touchend', _this.onMouseUp);\n };\n\n _this.removeEvents = function () {\n window.removeEventListener('mousemove', _this.onMouseMove);\n window.removeEventListener('mouseup', _this.onMouseUp);\n\n _this.scrollbarRef.current.removeEventListener('touchstart', _this.onScrollbarTouchStart);\n\n _this.thumbRef.current.removeEventListener('touchstart', _this.onMouseDown);\n\n _this.thumbRef.current.removeEventListener('touchmove', _this.onMouseMove);\n\n _this.thumbRef.current.removeEventListener('touchend', _this.onMouseUp);\n\n raf.cancel(_this.moveRaf);\n };\n\n _this.onMouseDown = function (e) {\n var onStartMove = _this.props.onStartMove;\n\n _this.setState({\n dragging: true,\n pageY: getPageY(e),\n startTop: _this.getTop()\n });\n\n onStartMove();\n\n _this.patchEvents();\n\n e.stopPropagation();\n e.preventDefault();\n };\n\n _this.onMouseMove = function (e) {\n var _this$state = _this.state,\n dragging = _this$state.dragging,\n pageY = _this$state.pageY,\n startTop = _this$state.startTop;\n var onScroll = _this.props.onScroll;\n raf.cancel(_this.moveRaf);\n\n if (dragging) {\n var offsetY = getPageY(e) - pageY;\n var newTop = startTop + offsetY;\n\n var enableScrollRange = _this.getEnableScrollRange();\n\n var enableHeightRange = _this.getEnableHeightRange();\n\n var ptg = enableHeightRange ? newTop / enableHeightRange : 0;\n var newScrollTop = Math.ceil(ptg * enableScrollRange);\n _this.moveRaf = raf(function () {\n onScroll(newScrollTop);\n });\n }\n };\n\n _this.onMouseUp = function () {\n var onStopMove = _this.props.onStopMove;\n\n _this.setState({\n dragging: false\n });\n\n onStopMove();\n\n _this.removeEvents();\n };\n\n _this.getSpinHeight = function () {\n var _this$props = _this.props,\n height = _this$props.height,\n count = _this$props.count;\n var baseHeight = height / count * 10;\n baseHeight = Math.max(baseHeight, MIN_SIZE);\n baseHeight = Math.min(baseHeight, height / 2);\n return Math.floor(baseHeight);\n };\n\n _this.getEnableScrollRange = function () {\n var _this$props2 = _this.props,\n scrollHeight = _this$props2.scrollHeight,\n height = _this$props2.height;\n return scrollHeight - height || 0;\n };\n\n _this.getEnableHeightRange = function () {\n var height = _this.props.height;\n\n var spinHeight = _this.getSpinHeight();\n\n return height - spinHeight || 0;\n };\n\n _this.getTop = function () {\n var scrollTop = _this.props.scrollTop;\n\n var enableScrollRange = _this.getEnableScrollRange();\n\n var enableHeightRange = _this.getEnableHeightRange();\n\n if (scrollTop === 0 || enableScrollRange === 0) {\n return 0;\n }\n\n var ptg = scrollTop / enableScrollRange;\n return ptg * enableHeightRange;\n };\n\n _this.showScroll = function () {\n var _this$props3 = _this.props,\n height = _this$props3.height,\n scrollHeight = _this$props3.scrollHeight;\n return scrollHeight > height;\n };\n\n return _this;\n }\n\n _createClass(ScrollBar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollbarRef.current.addEventListener('touchstart', this.onScrollbarTouchStart);\n this.thumbRef.current.addEventListener('touchstart', this.onMouseDown);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.scrollTop !== this.props.scrollTop) {\n this.delayHidden();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.removeEvents();\n clearTimeout(this.visibleTimeout);\n }\n }, {\n key: \"render\",\n value: // ====================== Render =======================\n function render() {\n var _this$state2 = this.state,\n dragging = _this$state2.dragging,\n visible = _this$state2.visible;\n var prefixCls = this.props.prefixCls;\n var spinHeight = this.getSpinHeight();\n var top = this.getTop();\n var canScroll = this.showScroll();\n var mergedVisible = canScroll && visible;\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: this.scrollbarRef,\n className: classNames(\"\".concat(prefixCls, \"-scrollbar\"), _defineProperty({}, \"\".concat(prefixCls, \"-scrollbar-show\"), canScroll)),\n style: {\n width: 8,\n top: 0,\n bottom: 0,\n right: 0,\n position: 'absolute',\n display: mergedVisible ? null : 'none'\n },\n onMouseDown: this.onContainerMouseDown,\n onMouseMove: this.delayHidden\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this.thumbRef,\n className: classNames(\"\".concat(prefixCls, \"-scrollbar-thumb\"), _defineProperty({}, \"\".concat(prefixCls, \"-scrollbar-thumb-moving\"), dragging)),\n style: {\n width: '100%',\n height: spinHeight,\n top: top,\n left: 0,\n position: 'absolute',\n background: 'rgba(0, 0, 0, 0.5)',\n borderRadius: 99,\n cursor: 'pointer',\n userSelect: 'none'\n },\n onMouseDown: this.onMouseDown\n }));\n }\n }]);\n\n return ScrollBar;\n}(React.Component);\n\nexport { ScrollBar as default };","import * as React from 'react';\nexport function Item(_ref) {\n var children = _ref.children,\n setRef = _ref.setRef;\n var refFunc = React.useCallback(function (node) {\n setRef(node);\n }, []);\n return /*#__PURE__*/React.cloneElement(children, {\n ref: refFunc\n });\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// Firefox has low performance of map.\nvar CacheMap = /*#__PURE__*/function () {\n function CacheMap() {\n _classCallCheck(this, CacheMap);\n\n this.maps = void 0;\n this.maps = {};\n this.maps.prototype = null;\n }\n\n _createClass(CacheMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.maps[key] = value;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.maps[key];\n }\n }]);\n\n return CacheMap;\n}();\n\nexport default CacheMap;","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport CacheMap from '../utils/CacheMap';\nexport default function useHeights(getKey, onItemAdd, onItemRemove) {\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n updatedMark = _React$useState2[0],\n setUpdatedMark = _React$useState2[1];\n\n var instanceRef = useRef(new Map());\n var heightsRef = useRef(new CacheMap());\n var heightUpdateIdRef = useRef(0);\n\n function collectHeight() {\n heightUpdateIdRef.current += 1;\n var currentId = heightUpdateIdRef.current;\n Promise.resolve().then(function () {\n // Only collect when it's latest call\n if (currentId !== heightUpdateIdRef.current) return;\n instanceRef.current.forEach(function (element, key) {\n if (element && element.offsetParent) {\n var htmlElement = findDOMNode(element);\n var offsetHeight = htmlElement.offsetHeight;\n\n if (heightsRef.current.get(key) !== offsetHeight) {\n heightsRef.current.set(key, htmlElement.offsetHeight);\n }\n }\n }); // Always trigger update mark to tell parent that should re-calculate heights when resized\n\n setUpdatedMark(function (c) {\n return c + 1;\n });\n });\n }\n\n function setInstanceRef(item, instance) {\n var key = getKey(item);\n var origin = instanceRef.current.get(key);\n\n if (instance) {\n instanceRef.current.set(key, instance);\n collectHeight();\n } else {\n instanceRef.current.delete(key);\n } // Instance changed\n\n\n if (!origin !== !instance) {\n if (instance) {\n onItemAdd === null || onItemAdd === void 0 ? void 0 : onItemAdd(item);\n } else {\n onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(item);\n }\n }\n }\n\n return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {\n var scrollRef = React.useRef();\n return function (arg) {\n // When not argument provided, we think dev may want to show the scrollbar\n if (arg === null || arg === undefined) {\n triggerFlash();\n return;\n } // Normal scroll logic\n\n\n raf.cancel(scrollRef.current);\n\n if (typeof arg === 'number') {\n syncScrollTop(arg);\n } else if (arg && _typeof(arg) === 'object') {\n var index;\n var align = arg.align;\n\n if ('index' in arg) {\n index = arg.index;\n } else {\n index = data.findIndex(function (item) {\n return getKey(item) === arg.key;\n });\n }\n\n var _arg$offset = arg.offset,\n offset = _arg$offset === void 0 ? 0 : _arg$offset; // We will retry 3 times in case dynamic height shaking\n\n var syncScroll = function syncScroll(times, targetAlign) {\n if (times < 0 || !containerRef.current) return;\n var height = containerRef.current.clientHeight;\n var needCollectHeight = false;\n var newTargetAlign = targetAlign; // Go to next frame if height not exist\n\n if (height) {\n var mergedAlign = targetAlign || align; // Get top & bottom\n\n var stackTop = 0;\n var itemTop = 0;\n var itemBottom = 0;\n var maxLen = Math.min(data.length, index);\n\n for (var i = 0; i <= maxLen; i += 1) {\n var key = getKey(data[i]);\n itemTop = stackTop;\n var cacheHeight = heights.get(key);\n itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n stackTop = itemBottom;\n\n if (i === index && cacheHeight === undefined) {\n needCollectHeight = true;\n }\n } // Scroll to\n\n\n var targetTop = null;\n\n switch (mergedAlign) {\n case 'top':\n targetTop = itemTop - offset;\n break;\n\n case 'bottom':\n targetTop = itemBottom - height + offset;\n break;\n\n default:\n {\n var scrollTop = containerRef.current.scrollTop;\n var scrollBottom = scrollTop + height;\n\n if (itemTop < scrollTop) {\n newTargetAlign = 'top';\n } else if (itemBottom > scrollBottom) {\n newTargetAlign = 'bottom';\n }\n }\n }\n\n if (targetTop !== null && targetTop !== containerRef.current.scrollTop) {\n syncScrollTop(targetTop);\n }\n } // We will retry since element may not sync height as it described\n\n\n scrollRef.current = raf(function () {\n if (needCollectHeight) {\n collectHeight();\n }\n\n syncScroll(times - 1, newTargetAlign);\n });\n };\n\n syncScroll(3);\n }\n };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport * as React from 'react';\nimport { findListDiffIndex } from '../utils/algorithmUtil';\nexport default function useDiffItem(data, getKey, onDiff) {\n var _React$useState = React.useState(data),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevData = _React$useState2[0],\n setPrevData = _React$useState2[1];\n\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n diffItem = _React$useState4[0],\n setDiffItem = _React$useState4[1];\n\n React.useEffect(function () {\n var diff = findListDiffIndex(prevData || [], data || [], getKey);\n\n if ((diff === null || diff === void 0 ? void 0 : diff.index) !== undefined) {\n onDiff === null || onDiff === void 0 ? void 0 : onDiff(diff.index);\n setDiffItem(data[diff.index]);\n }\n\n setPrevData(data);\n }, [data]);\n return [diffItem];\n}","/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nexport function getIndexByStartLoc(min, max, start, index) {\n var beforeCount = start - min;\n var afterCount = max - start;\n var balanceCount = Math.min(beforeCount, afterCount) * 2; // Balance\n\n if (index <= balanceCount) {\n var stepIndex = Math.floor(index / 2);\n\n if (index % 2) {\n return start + stepIndex + 1;\n }\n\n return start - stepIndex;\n } // One is out of range\n\n\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n\n return start + (index - beforeCount);\n}\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\n\nexport function findListDiffIndex(originList, targetList, getKey) {\n var originLen = originList.length;\n var targetLen = targetList.length;\n var shortList;\n var longList;\n\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n\n var notExistKey = {\n __EMPTY_ITEM__: true\n };\n\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n\n return notExistKey;\n } // Loop to find diff one\n\n\n var diffIndex = null;\n var multiple = Math.abs(originLen - targetLen) !== 1;\n\n for (var i = 0; i < longList.length; i += 1) {\n var shortKey = getItemKey(shortList[i]);\n var longKey = getItemKey(longList[i]);\n\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple: multiple\n };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isFF = (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default (function (isScrollAtTop, isScrollAtBottom) {\n // Do lock for a wheel when scrolling\n var lockRef = useRef(false);\n var lockTimeoutRef = useRef(null);\n\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(function () {\n lockRef.current = false;\n }, 50);\n } // Pass to ref since global add is in closure\n\n\n var scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n return function (deltaY) {\n var smoothOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var originScroll = // Pass origin wheel when on the top\n deltaY < 0 && scrollPingRef.current.top || // Pass origin wheel when on the bottom\n deltaY > 0 && scrollPingRef.current.bottom;\n\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n\n return !lockRef.current && originScroll;\n };\n});","var _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"component\", \"onScroll\", \"onVisibleChange\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { useRef, useState, useLayoutEffect } from 'react';\nimport classNames from 'classnames';\nimport Filler from './Filler';\nimport ScrollBar from './ScrollBar';\nimport useChildren from './hooks/useChildren';\nimport useHeights from './hooks/useHeights';\nimport useScrollTo from './hooks/useScrollTo';\nimport useDiffItem from './hooks/useDiffItem';\nimport useFrameWheel from './hooks/useFrameWheel';\nimport useMobileTouchMove from './hooks/useMobileTouchMove';\nimport useOriginScroll from './hooks/useOriginScroll';\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n onVisibleChange = props.onVisibleChange,\n restProps = _objectWithoutProperties(props, _excluded); // ================================= MISC =================================\n\n\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var inVirtual = useVirtual && data && itemHeight * data.length > height;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n scrollTop = _useState2[0],\n setScrollTop = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n scrollMoving = _useState4[0],\n setScrollMoving = _useState4[1];\n\n var mergedClassName = classNames(prefixCls, className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n var scrollBarRef = useRef(); // Hack on scrollbar to enable flash call\n // =============================== Item Key ===============================\n\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n\n return item === null || item === void 0 ? void 0 : item[itemKey];\n }, [itemKey]);\n var sharedConfig = {\n getKey: getKey\n }; // ================================ Scroll ================================\n\n function syncScrollTop(newTop) {\n setScrollTop(function (origin) {\n var value;\n\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n } // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n\n\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n\n diffItemRef.current = diffItem; // ================================ Height ================================\n\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3]; // ========================== Visible Calculation =========================\n\n\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n } // Always use virtual scroll bar in avoid shaking\n\n\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n\n for (var i = 0; i < dataLen; i += 1) {\n var item = mergedData[i];\n var key = getKey(item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight); // Check item top in the range\n\n // Check item top in the range\n if (currentItemBottom >= scrollTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n } // Check item bottom in the range. We will render additional one item for motion usage\n\n\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > scrollTop + height && endIndex === undefined) {\n endIndex = i;\n }\n\n itemTop = currentItemBottom;\n } // Fallback to normal if not match. This code should never reach\n\n /* istanbul ignore next */\n\n\n // Fallback to normal if not match. This code should never reach\n\n /* istanbul ignore next */\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n }\n\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n } // Give cache to improve scroll experience\n\n\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, scrollTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n offset = _React$useMemo.offset;\n\n rangeRef.current.start = start;\n rangeRef.current.end = end; // =============================== In Range ===============================\n\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n\n function keepInRange(newScrollTop) {\n var newTop = newScrollTop;\n\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n\n var isScrollAtTop = scrollTop <= 0;\n var isScrollAtBottom = scrollTop >= maxScrollHeight;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom); // ================================ Scroll ================================\n\n function onScrollBar(newScrollTop) {\n var newTop = newScrollTop;\n syncScrollTop(newTop);\n } // When data size reduce. It may trigger native scroll event back to fit scroll position\n\n\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n\n if (newScrollTop !== scrollTop) {\n syncScrollTop(newScrollTop);\n } // Trigger origin onScroll\n\n\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n } // Since this added in global,should use ref to keep update\n\n\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, function (offsetY) {\n syncScrollTop(function (top) {\n var newTop = top + offsetY;\n return newTop;\n });\n }),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1]; // Mobile touch move\n\n\n useMobileTouchMove(useVirtual, componentRef, function (deltaY, smoothOffset) {\n if (originScroll(deltaY, smoothOffset)) {\n return false;\n }\n\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaY: deltaY\n });\n return true;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\n e.preventDefault();\n }\n }\n\n componentRef.current.addEventListener('wheel', onRawWheel);\n componentRef.current.addEventListener('DOMMouseScroll', onFireFoxScroll);\n componentRef.current.addEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n return function () {\n componentRef.current.removeEventListener('wheel', onRawWheel);\n componentRef.current.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentRef.current.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual]); // ================================= Ref ==================================\n\n var scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, collectHeight, syncScrollTop, function () {\n var _scrollBarRef$current;\n\n (_scrollBarRef$current = scrollBarRef.current) === null || _scrollBarRef$current === void 0 ? void 0 : _scrollBarRef$current.delayHidden();\n });\n React.useImperativeHandle(ref, function () {\n return {\n scrollTo: scrollTo\n };\n }); // ================================ Effect ================================\n\n /** We need told outside that some list not rendered */\n\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]); // ================================ Render ================================\n\n var listChildren = useChildren(mergedData, start, end, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, restProps), /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offset: offset,\n onInnerResize: collectHeight,\n ref: fillerInnerRef\n }, listChildren)), useVirtual && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: scrollBarRef,\n prefixCls: prefixCls,\n scrollTop: scrollTop,\n height: height,\n scrollHeight: scrollHeight,\n count: mergedData.length,\n onScroll: onScrollBar,\n onStartMove: function onStartMove() {\n setScrollMoving(true);\n },\n onStopMove: function onStopMove() {\n setScrollMoving(false);\n }\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","import { useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport isFF from '../utils/isFirefox';\nimport useOriginScroll from './useOriginScroll';\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, onWheelDelta) {\n var offsetRef = useRef(0);\n var nextFrameRef = useRef(null); // Firefox patch\n\n var wheelValueRef = useRef(null);\n var isMouseScrollRef = useRef(false); // Scroll status sync\n\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);\n\n function onWheel(event) {\n if (!inVirtual) return;\n raf.cancel(nextFrameRef.current);\n var deltaY = event.deltaY;\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY; // Do nothing when scroll at the edge, Skip check when is in scroll\n\n if (originScroll(deltaY)) return; // Proxy of scroll events\n\n if (!isFF) {\n event.preventDefault();\n }\n\n nextFrameRef.current = raf(function () {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n var patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple);\n offsetRef.current = 0;\n });\n } // A patch for firefox\n\n\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n\n return [onWheel, onFireFoxScroll];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nvar SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n var touchedRef = useRef(false);\n var touchYRef = useRef(0);\n var elementRef = useRef(null); // Smooth scroll\n\n var intervalRef = useRef(null);\n var cleanUpEvents;\n\n var onTouchMove = function onTouchMove(e) {\n if (touchedRef.current) {\n var currentY = Math.ceil(e.touches[0].pageY);\n var offsetY = touchYRef.current - currentY;\n touchYRef.current = currentY;\n\n if (callback(offsetY)) {\n e.preventDefault();\n } // Smooth interval\n\n\n clearInterval(intervalRef.current);\n intervalRef.current = setInterval(function () {\n offsetY *= SMOOTH_PTG;\n\n if (!callback(offsetY, true) || Math.abs(offsetY) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n };\n\n var onTouchEnd = function onTouchEnd() {\n touchedRef.current = false;\n cleanUpEvents();\n };\n\n var onTouchStart = function onTouchStart(e) {\n cleanUpEvents();\n\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove);\n elementRef.current.addEventListener('touchend', onTouchEnd);\n }\n };\n\n cleanUpEvents = function cleanUpEvents() {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n\n React.useLayoutEffect(function () {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart);\n }\n\n return function () {\n listRef.current.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","import * as React from 'react';\nimport { Item } from '../Item';\nexport default function useChildren(list, startIndex, endIndex, setNodeRef, renderFunc, _ref) {\n var getKey = _ref.getKey;\n return list.slice(startIndex, endIndex + 1).map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {// style: status === 'MEASURE_START' ? { visibility: 'hidden' } : {},\n });\n var key = getKey(item);\n return /*#__PURE__*/React.createElement(Item, {\n key: key,\n setRef: function setRef(ele) {\n return setNodeRef(item, ele);\n }\n }, node);\n });\n}","import List from './List';\nexport default List;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\n\nvar Input = function Input(_ref, ref) {\n var _inputNode2, _inputNode2$props;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n inputElement = _ref.inputElement,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n autoFocus = _ref.autoFocus,\n autoComplete = _ref.autoComplete,\n editable = _ref.editable,\n accessibilityIndex = _ref.accessibilityIndex,\n value = _ref.value,\n maxLength = _ref.maxLength,\n _onKeyDown = _ref.onKeyDown,\n _onMouseDown = _ref.onMouseDown,\n _onChange = _ref.onChange,\n onPaste = _ref.onPaste,\n _onCompositionStart = _ref.onCompositionStart,\n _onCompositionEnd = _ref.onCompositionEnd,\n open = _ref.open,\n attrs = _ref.attrs;\n var inputNode = inputElement || /*#__PURE__*/React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n _inputNode$props = _inputNode.props,\n onOriginKeyDown = _inputNode$props.onKeyDown,\n onOriginChange = _inputNode$props.onChange,\n onOriginMouseDown = _inputNode$props.onMouseDown,\n onOriginCompositionStart = _inputNode$props.onCompositionStart,\n onOriginCompositionEnd = _inputNode$props.onCompositionEnd,\n style = _inputNode$props.style;\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread({\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n type: 'search',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 ? void 0 : (_inputNode2$props = _inputNode2.props) === null || _inputNode2$props === void 0 ? void 0 : _inputNode2$props.className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n role: 'combobox',\n 'aria-expanded': open,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': \"\".concat(id, \"_list_\").concat(accessibilityIndex)\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\n\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from '../utils/commonUtil';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from '../TransBtn';\nimport Input from './Input';\nimport useLayoutEffect from '../hooks/useLayoutEffect';\n\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\n\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n accessibilityIndex = props.accessibilityIndex,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onToggleOpen = props.onToggleOpen,\n onSelect = props.onSelect,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\"); // ===================== Search ======================\n\n var inputValue = open || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || showSearch && (open || focused); // We measure width and set to the input immediately\n\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]); // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n\n function defaultRenderSelector(content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(selectionPrefixCls, \"-item\"), _defineProperty({}, \"\".concat(selectionPrefixCls, \"-item-disabled\"), itemDisabled))\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-item-content\")\n }, content), closable && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(selectionPrefixCls, \"-item-remove\"),\n onMouseDown: onPreventMouseDown,\n onClick: onClose,\n customizeIcon: removeIcon\n }, \"\\xD7\"));\n }\n\n function customizeRenderSelector(value, content, itemDisabled, closable, onClose) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\n\n return /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: onMouseDown\n }, tagRender({\n label: content,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose\n }));\n }\n\n function renderItem(_ref) {\n var itemDisabled = _ref.disabled,\n label = _ref.label,\n value = _ref.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onSelect(value, {\n selected: false\n });\n };\n\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(displayLabel, itemDisabled, closable, onClose);\n }\n\n function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return defaultRenderSelector(content, false);\n } // >>> Input Node\n\n\n var inputNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(selectionPrefixCls, \"-search\"),\n style: {\n width: inputWidth\n },\n onFocus: function onFocus() {\n setFocused(true);\n },\n onBlur: function onBlur() {\n setFocused(false);\n }\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n accessibilityIndex: accessibilityIndex,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\")); // >>> Selections\n\n var selectionNode = /*#__PURE__*/React.createElement(Overflow, {\n prefixCls: \"\".concat(selectionPrefixCls, \"-overflow\"),\n data: values,\n renderItem: renderItem,\n renderRest: renderRest,\n suffix: inputNode,\n itemKey: \"key\",\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\n\nexport default SelectSelector;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from './Input';\n\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n accessibilityIndex = props.accessibilityIndex,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n maxLength = props.maxLength,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]); // Not show text when closed expect combobox mode\n\n var hasTextInput = mode !== 'combobox' && !open ? false : !!inputValue;\n var title = item && (typeof item.label === 'string' || typeof item.label === 'number') ? item.label.toString() : undefined;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n accessibilityIndex: accessibilityIndex,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item && !hasTextInput && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: title\n }, item.label), !item && !hasTextInput && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\")\n }, placeholder));\n};\n\nexport default SingleSelector;","import * as React from 'react';\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\n\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null); // Clean up\n\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport MultipleSelector from './MultipleSelector';\nimport SingleSelector from './SingleSelector';\nimport useLock from '../hooks/useLock';\n\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n multiple = props.multiple,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef; // ======================= Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n }); // ====================== Input ======================\n\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit(event.target.value);\n }\n\n if (![KeyCode.SHIFT, KeyCode.TAB, KeyCode.BACKSPACE, KeyCode.ESC].includes(which)) {\n onToggleOpen(true);\n }\n };\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n\n\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n }; // When paste come, ignore next onChange\n\n\n var pastedTextRef = useRef(null);\n\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false; // Trigger search again to support `tokenSeparators` with typewriting\n\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n\n var onInputChange = function onInputChange(event) {\n var value = event.target.value; // Pasted text should replace back to origin content\n\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/[\\r\\n]+$/, '').replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n if (event.target !== inputRef.current && !inputMouseDown) {\n event.preventDefault();\n }\n\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open) {\n onSearch('', true, false);\n }\n\n onToggleOpen();\n }\n }; // ================= Inner Selector ==================\n\n\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = multiple ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\n\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\n\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = typeof dropdownMatchSelectWidth !== 'number' ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n }\n };\n};\n\nvar SelectTrigger = function SelectTrigger(props, ref) {\n var prefixCls = props.prefixCls,\n disabled = props.disabled,\n visible = props.visible,\n children = props.children,\n popupElement = props.popupElement,\n containerWidth = props.containerWidth,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n onPopupVisibleChange = props.onPopupVisibleChange,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"containerWidth\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\"]);\n\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n\n var builtInPlacements = React.useMemo(function () {\n return getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [dropdownMatchSelectWidth]); // ===================== Motion ======================\n\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName; // ======================= Ref =======================\n\n var popupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n return popupRef.current;\n }\n };\n });\n\n var popupStyle = _objectSpread({\n minWidth: containerWidth\n }, dropdownStyle);\n\n if (typeof dropdownMatchSelectWidth === 'number') {\n popupStyle.width = dropdownMatchSelectWidth;\n } else if (dropdownMatchSelectWidth) {\n popupStyle.width = containerWidth;\n }\n\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: direction === 'rtl' ? 'bottomRight' : 'bottomLeft',\n builtinPlacements: builtInPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n ref: popupRef\n }, popupNode),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classNames(dropdownClassName, _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-empty\"), empty)),\n popupStyle: popupStyle,\n getTriggerDOMNode: getTriggerDOMNode,\n onPopupVisibleChange: onPopupVisibleChange\n }), children);\n};\n\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n */\nimport * as React from 'react';\nimport { useState, useRef, useEffect, useMemo } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Selector from './Selector';\nimport SelectTrigger from './SelectTrigger';\nimport { INTERNAL_PROPS_MARK } from './interface/generator';\nimport { toInnerValue, toOuterValues, removeLastEnabledValue, getUUID } from './utils/commonUtil';\nimport TransBtn from './TransBtn';\nimport useLock from './hooks/useLock';\nimport useDelayReset from './hooks/useDelayReset';\nimport useLayoutEffect from './hooks/useLayoutEffect';\nimport { getSeparatedContent } from './utils/valueUtil';\nimport useSelectTriggerControl from './hooks/useSelectTriggerControl';\nimport useCacheDisplayValue from './hooks/useCacheDisplayValue';\nimport useCacheOptions from './hooks/useCacheOptions';\nvar DEFAULT_OMIT_PROPS = ['removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'tabIndex'];\n/**\n * This function is in internal usage.\n * Do not use it in your prod env since we may refactor this.\n */\n\nexport default function generateSelector(config) {\n var defaultPrefixCls = config.prefixCls,\n OptionList = config.components.optionList,\n convertChildrenToData = config.convertChildrenToData,\n flattenOptions = config.flattenOptions,\n getLabeledValue = config.getLabeledValue,\n filterOptions = config.filterOptions,\n isValueDisabled = config.isValueDisabled,\n findValueOption = config.findValueOption,\n warningProps = config.warningProps,\n fillOptionsWithMissingValue = config.fillOptionsWithMissingValue,\n omitDOMProps = config.omitDOMProps; // Use raw define since `React.FC` not support generic\n\n function Select(props, ref) {\n var _classNames2;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? defaultPrefixCls : _props$prefixCls,\n className = props.className,\n id = props.id,\n open = props.open,\n defaultOpen = props.defaultOpen,\n options = props.options,\n children = props.children,\n mode = props.mode,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n showSearch = props.showSearch,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n _props$optionFilterPr = props.optionFilterProp,\n optionFilterProp = _props$optionFilterPr === void 0 ? 'value' : _props$optionFilterPr,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSearch = props.onSearch,\n allowClear = props.allowClear,\n clearIcon = props.clearIcon,\n showArrow = props.showArrow,\n inputIcon = props.inputIcon,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n disabled = props.disabled,\n loading = props.loading,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n optionLabelProp = props.optionLabelProp,\n backfill = props.backfill,\n tabIndex = props.tabIndex,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n getPopupContainer = props.getPopupContainer,\n _props$listHeight = props.listHeight,\n listHeight = _props$listHeight === void 0 ? 200 : _props$listHeight,\n _props$listItemHeight = props.listItemHeight,\n listItemHeight = _props$listItemHeight === void 0 ? 20 : _props$listItemHeight,\n animation = props.animation,\n transitionName = props.transitionName,\n virtual = props.virtual,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n direction = props.direction,\n tokenSeparators = props.tokenSeparators,\n tagRender = props.tagRender,\n onPopupScroll = props.onPopupScroll,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n onClear = props.onClear,\n _props$internalProps = props.internalProps,\n internalProps = _props$internalProps === void 0 ? {} : _props$internalProps,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"className\", \"id\", \"open\", \"defaultOpen\", \"options\", \"children\", \"mode\", \"value\", \"defaultValue\", \"labelInValue\", \"showSearch\", \"inputValue\", \"searchValue\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"autoClearSearchValue\", \"onSearch\", \"allowClear\", \"clearIcon\", \"showArrow\", \"inputIcon\", \"menuItemSelectedIcon\", \"disabled\", \"loading\", \"defaultActiveFirstOption\", \"notFoundContent\", \"optionLabelProp\", \"backfill\", \"tabIndex\", \"getInputElement\", \"getRawInputElement\", \"getPopupContainer\", \"listHeight\", \"listItemHeight\", \"animation\", \"transitionName\", \"virtual\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"showAction\", \"direction\", \"tokenSeparators\", \"tagRender\", \"onPopupScroll\", \"onDropdownVisibleChange\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\", \"onChange\", \"onSelect\", \"onDeselect\", \"onClear\", \"internalProps\"]);\n\n var useInternalProps = internalProps.mark === INTERNAL_PROPS_MARK;\n var domProps = omitDOMProps ? omitDOMProps(restProps) : restProps;\n DEFAULT_OMIT_PROPS.forEach(function (prop) {\n delete domProps[prop];\n });\n var containerRef = useRef(null);\n var triggerRef = useRef(null);\n var selectorRef = useRef(null);\n var listRef = useRef(null);\n var tokenWithEnter = useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n /** Used for component focused management */\n\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2]; // Inner id for accessibility usage. Only work in client side\n\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n innerId = _useState2[0],\n setInnerId = _useState2[1];\n\n useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n var mergedId = id || innerId; // optionLabelProp\n\n var mergedOptionLabelProp = optionLabelProp;\n\n if (mergedOptionLabelProp === undefined) {\n mergedOptionLabelProp = options ? 'label' : 'children';\n } // labelInValue\n\n\n var mergedLabelInValue = mode === 'combobox' ? false : labelInValue;\n var isMultiple = mode === 'tags' || mode === 'multiple';\n var mergedShowSearch = showSearch !== undefined ? showSearch : isMultiple || mode === 'combobox'; // ======================== Mobile ========================\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n mobile = _useState4[0],\n setMobile = _useState4[1];\n\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ============================== Ref ===============================\n\n var selectorDomRef = useRef(null);\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2, _listRef$current;\n\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo\n };\n }); // ============================= Value ==============================\n\n var _useMergedState = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n /** Unique raw values */\n\n\n var _useMemo = useMemo(function () {\n return toInnerValue(mergedValue, {\n labelInValue: mergedLabelInValue,\n combobox: mode === 'combobox'\n });\n }, [mergedValue, mergedLabelInValue]),\n _useMemo2 = _slicedToArray(_useMemo, 2),\n mergedRawValue = _useMemo2[0],\n mergedValueMap = _useMemo2[1];\n /** We cache a set of raw values to speed up check */\n\n\n var rawValues = useMemo(function () {\n return new Set(mergedRawValue);\n }, [mergedRawValue]); // ============================= Option =============================\n // Set by option list active, it will merge into search input when mode is `combobox`\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n activeValue = _useState6[0],\n setActiveValue = _useState6[1];\n\n var _useState7 = useState(''),\n _useState8 = _slicedToArray(_useState7, 2),\n innerSearchValue = _useState8[0],\n setInnerSearchValue = _useState8[1];\n\n var mergedSearchValue = innerSearchValue;\n\n if (mode === 'combobox' && mergedValue !== undefined) {\n mergedSearchValue = mergedValue;\n } else if (searchValue !== undefined) {\n mergedSearchValue = searchValue;\n } else if (inputValue) {\n mergedSearchValue = inputValue;\n }\n\n var mergedOptions = useMemo(function () {\n var newOptions = options;\n\n if (newOptions === undefined) {\n newOptions = convertChildrenToData(children);\n }\n /**\n * `tags` should fill un-list item.\n * This is not cool here since TreeSelect do not need this\n */\n\n\n if (mode === 'tags' && fillOptionsWithMissingValue) {\n newOptions = fillOptionsWithMissingValue(newOptions, mergedValue, mergedOptionLabelProp, labelInValue);\n }\n\n return newOptions || [];\n }, [options, children, mode, mergedValue]);\n var mergedFlattenOptions = useMemo(function () {\n return flattenOptions(mergedOptions, props);\n }, [mergedOptions]);\n var getValueOption = useCacheOptions(mergedFlattenOptions); // Display options for OptionList\n\n var displayOptions = useMemo(function () {\n if (!mergedSearchValue || !mergedShowSearch) {\n return _toConsumableArray(mergedOptions);\n }\n\n var filteredOptions = filterOptions(mergedSearchValue, mergedOptions, {\n optionFilterProp: optionFilterProp,\n filterOption: mode === 'combobox' && filterOption === undefined ? function () {\n return true;\n } : filterOption\n });\n\n if (mode === 'tags' && filteredOptions.every(function (opt) {\n return opt[optionFilterProp] !== mergedSearchValue;\n })) {\n filteredOptions.unshift({\n value: mergedSearchValue,\n label: mergedSearchValue,\n key: '__RC_SELECT_TAG_PLACEHOLDER__'\n });\n }\n\n if (filterSort && Array.isArray(filteredOptions)) {\n return _toConsumableArray(filteredOptions).sort(filterSort);\n }\n\n return filteredOptions;\n }, [mergedOptions, mergedSearchValue, mode, mergedShowSearch, filterSort]);\n var displayFlattenOptions = useMemo(function () {\n return flattenOptions(displayOptions, props);\n }, [displayOptions]);\n useEffect(function () {\n if (listRef.current && listRef.current.scrollTo) {\n listRef.current.scrollTo(0);\n }\n }, [mergedSearchValue]); // ============================ Selector ============================\n\n var displayValues = useMemo(function () {\n var tmpValues = mergedRawValue.map(function (val) {\n var valueOptions = getValueOption([val]);\n var displayValue = getLabeledValue(val, {\n options: valueOptions,\n prevValueMap: mergedValueMap,\n labelInValue: mergedLabelInValue,\n optionLabelProp: mergedOptionLabelProp\n });\n return _objectSpread(_objectSpread({}, displayValue), {}, {\n disabled: isValueDisabled(val, valueOptions)\n });\n });\n\n if (!mode && tmpValues.length === 1 && tmpValues[0].value === null && tmpValues[0].label === null) {\n return [];\n }\n\n return tmpValues;\n }, [mergedValue, mergedOptions, mode]); // Polyfill with cache label\n\n displayValues = useCacheDisplayValue(displayValues);\n\n var triggerSelect = function triggerSelect(newValue, isSelect, source) {\n var newValueOption = getValueOption([newValue]);\n var outOption = findValueOption([newValue], newValueOption)[0];\n\n if (!internalProps.skipTriggerSelect) {\n // Skip trigger `onSelect` or `onDeselect` if configured\n var selectValue = mergedLabelInValue ? getLabeledValue(newValue, {\n options: newValueOption,\n prevValueMap: mergedValueMap,\n labelInValue: mergedLabelInValue,\n optionLabelProp: mergedOptionLabelProp\n }) : newValue;\n\n if (isSelect && onSelect) {\n onSelect(selectValue, outOption);\n } else if (!isSelect && onDeselect) {\n onDeselect(selectValue, outOption);\n }\n } // Trigger internal event\n\n\n if (useInternalProps) {\n if (isSelect && internalProps.onRawSelect) {\n internalProps.onRawSelect(newValue, outOption, source);\n } else if (!isSelect && internalProps.onRawDeselect) {\n internalProps.onRawDeselect(newValue, outOption, source);\n }\n }\n }; // We need cache options here in case user update the option list\n\n\n var _useState9 = useState([]),\n _useState10 = _slicedToArray(_useState9, 2),\n prevValueOptions = _useState10[0],\n setPrevValueOptions = _useState10[1];\n\n var triggerChange = function triggerChange(newRawValues) {\n if (useInternalProps && internalProps.skipTriggerChange) {\n return;\n }\n\n var newRawValuesOptions = getValueOption(newRawValues);\n var outValues = toOuterValues(Array.from(newRawValues), {\n labelInValue: mergedLabelInValue,\n options: newRawValuesOptions,\n getLabeledValue: getLabeledValue,\n prevValueMap: mergedValueMap,\n optionLabelProp: mergedOptionLabelProp\n });\n var outValue = isMultiple ? outValues : outValues[0]; // Skip trigger if prev & current value is both empty\n\n if (onChange && (mergedRawValue.length !== 0 || outValues.length !== 0)) {\n var outOptions = findValueOption(newRawValues, newRawValuesOptions, {\n prevValueOptions: prevValueOptions\n }); // We will cache option in case it removed by ajax\n\n setPrevValueOptions(outOptions.map(function (option, index) {\n var clone = _objectSpread({}, option);\n\n Object.defineProperty(clone, '_INTERNAL_OPTION_VALUE_', {\n get: function get() {\n return newRawValues[index];\n }\n });\n return clone;\n }));\n onChange(outValue, isMultiple ? outOptions : outOptions[0]);\n }\n\n setMergedValue(outValue);\n };\n\n var onInternalSelect = function onInternalSelect(newValue, _ref) {\n var selected = _ref.selected,\n source = _ref.source;\n\n if (disabled) {\n return;\n }\n\n var newRawValue;\n\n if (isMultiple) {\n newRawValue = new Set(mergedRawValue);\n\n if (selected) {\n newRawValue.add(newValue);\n } else {\n newRawValue.delete(newValue);\n }\n } else {\n newRawValue = new Set();\n newRawValue.add(newValue);\n } // Multiple always trigger change and single should change if value changed\n\n\n if (isMultiple || !isMultiple && Array.from(mergedRawValue)[0] !== newValue) {\n triggerChange(Array.from(newRawValue));\n } // Trigger `onSelect`. Single mode always trigger select\n\n\n triggerSelect(newValue, !isMultiple || selected, source); // Clean search value if single or configured\n\n if (mode === 'combobox') {\n setInnerSearchValue(String(newValue));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setInnerSearchValue('');\n setActiveValue('');\n }\n };\n\n var onInternalOptionSelect = function onInternalOptionSelect(newValue, info) {\n onInternalSelect(newValue, _objectSpread(_objectSpread({}, info), {}, {\n source: 'option'\n }));\n };\n\n var onInternalSelectionSelect = function onInternalSelectionSelect(newValue, info) {\n onInternalSelect(newValue, _objectSpread(_objectSpread({}, info), {}, {\n source: 'selection'\n }));\n }; // ============================= Input ==============================\n // Only works in `combobox`\n\n\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null; // Used for customize replacement for `rc-cascader`\n\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement(); // ============================== Open ==============================\n\n var _useMergedState3 = useMergedState(undefined, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n innerOpen = _useMergedState4[0],\n setInnerOpen = _useMergedState4[1];\n\n var mergedOpen = innerOpen; // Not trigger `open` in `combobox` when `notFoundContent` is empty\n\n var emptyListContent = !notFoundContent && !displayOptions.length;\n\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n\n var triggerOpen = emptyListContent ? false : mergedOpen;\n\n var onToggleOpen = function onToggleOpen(newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n\n if (innerOpen !== nextOpen && !disabled) {\n setInnerOpen(nextOpen);\n\n if (onDropdownVisibleChange) {\n onDropdownVisibleChange(nextOpen);\n }\n }\n }; // Used for raw custom input trigger\n\n\n var onTriggerVisibleChange;\n\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n useSelectTriggerControl(function () {\n var _triggerRef$current;\n\n return [containerRef.current, (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement()];\n }, triggerOpen, onToggleOpen); // ============================= Search =============================\n\n var triggerSearch = function triggerSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n setActiveValue(null); // Check if match the `tokenSeparators`\n\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators);\n var patchRawValues = patchLabels;\n\n if (mode === 'combobox') {\n // Only typing will trigger onChange\n if (fromTyping) {\n triggerChange([newSearchText]);\n }\n } else if (patchLabels) {\n newSearchText = '';\n\n if (mode !== 'tags') {\n patchRawValues = patchLabels.map(function (label) {\n var item = mergedFlattenOptions.find(function (_ref2) {\n var data = _ref2.data;\n return data[mergedOptionLabelProp] === label;\n });\n return item ? item.data.value : null;\n }).filter(function (val) {\n return val !== null;\n });\n }\n\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), _toConsumableArray(patchRawValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true, 'input');\n }); // Should close when paste finish\n\n onToggleOpen(false); // Tell Selector that break next actions\n\n ret = false;\n }\n\n setInnerSearchValue(newSearchText);\n\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText);\n }\n\n return ret;\n }; // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n\n\n var onSearchSubmit = function onSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), [searchText])));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true, 'input');\n });\n setInnerSearchValue('');\n }; // Close dropdown when disabled change\n\n\n useEffect(function () {\n if (innerOpen && !!disabled) {\n setInnerOpen(false);\n }\n }, [disabled]); // Close will clean up single mode search text\n\n useEffect(function () {\n if (!mergedOpen && !isMultiple && mode !== 'combobox') {\n triggerSearch('', false, false);\n }\n }, [mergedOpen]); // ============================ Keyboard ============================\n\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1]; // KeyDown\n\n\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which;\n\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n } // We only manage open state here, close logic should handle by list component\n\n\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n\n setClearLock(!!mergedSearchValue); // Remove value by `backspace`\n\n if (which === KeyCode.BACKSPACE && !clearLock && isMultiple && !mergedSearchValue && mergedRawValue.length) {\n var removeInfo = removeLastEnabledValue(displayValues, mergedRawValue);\n\n if (removeInfo.removedValue !== null) {\n triggerChange(removeInfo.values);\n triggerSelect(removeInfo.removedValue, false, 'input');\n }\n }\n\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n\n (_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n\n if (onKeyDown) {\n onKeyDown.apply(void 0, [event].concat(rest));\n }\n }; // KeyUp\n\n\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n\n if (mergedOpen && listRef.current) {\n var _listRef$current3;\n\n (_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n\n if (onKeyUp) {\n onKeyUp.apply(void 0, [event].concat(rest));\n }\n }; // ========================== Focus / Blur ==========================\n\n /** Record real focus status */\n\n\n var focusRef = useRef(false);\n\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n } // `showAction` should handle `focus` if set\n\n\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n\n focusRef.current = true;\n };\n\n var onContainerBlur = function onContainerBlur() {\n setMockFocused(false, function () {\n focusRef.current = false;\n onToggleOpen(false);\n });\n\n if (disabled) {\n return;\n }\n\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n triggerSearch('', false, false);\n triggerChange(Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), [mergedSearchValue]))));\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n setInnerSearchValue('');\n }\n }\n\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n var activeTimeoutIds = [];\n useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current2;\n\n var target = event.target;\n var popupElement = (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement(); // We should give focus back to selector if clicked item is not focusable\n\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n\n cancelSetMockFocused();\n\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n\n if (onMouseDown) {\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n\n onMouseDown.apply(void 0, [event].concat(restArgs));\n }\n }; // ========================= Accessibility ==========================\n\n\n var _useState11 = useState(0),\n _useState12 = _slicedToArray(_useState11, 2),\n accessibilityIndex = _useState12[0],\n setAccessibilityIndex = _useState12[1];\n\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n\n var onActiveValue = function onActiveValue(active, index) {\n var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref3$source = _ref3.source,\n source = _ref3$source === void 0 ? 'keyboard' : _ref3$source;\n\n setAccessibilityIndex(index);\n\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }; // ============================= Popup ==============================\n\n\n var _useState13 = useState(null),\n _useState14 = _slicedToArray(_useState13, 2),\n containerWidth = _useState14[0],\n setContainerWidth = _useState14[1];\n\n var _useState15 = useState({}),\n _useState16 = _slicedToArray(_useState15, 2),\n forceUpdate = _useState16[1]; // We need force update here since popup dom is render async\n\n\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n useLayoutEffect(function () {\n if (triggerOpen) {\n var _containerRef$current;\n\n var newWidth = Math.ceil((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.offsetWidth);\n\n if (containerWidth !== newWidth && !Number.isNaN(newWidth)) {\n setContainerWidth(newWidth);\n }\n }\n }, [triggerOpen]);\n var popupNode = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef,\n prefixCls: prefixCls,\n id: mergedId,\n open: mergedOpen,\n childrenAsData: !options,\n options: displayOptions,\n flattenOptions: displayFlattenOptions,\n multiple: isMultiple,\n values: rawValues,\n height: listHeight,\n itemHeight: listItemHeight,\n onSelect: onInternalOptionSelect,\n onToggleOpen: onToggleOpen,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n notFoundContent: notFoundContent,\n onScroll: onPopupScroll,\n searchValue: mergedSearchValue,\n menuItemSelectedIcon: menuItemSelectedIcon,\n virtual: virtual !== false && dropdownMatchSelectWidth !== false,\n onMouseEnter: onPopupMouseEnter\n }); // ============================= Clear ==============================\n\n var clearNode;\n\n var onClearMouseDown = function onClearMouseDown() {\n // Trigger internal `onClear` event\n if (useInternalProps && internalProps.onClear) {\n internalProps.onClear();\n }\n\n if (onClear) {\n onClear();\n }\n\n triggerChange([]);\n triggerSearch('', false, false);\n };\n\n if (!disabled && allowClear && (mergedRawValue.length || mergedSearchValue)) {\n clearNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: clearIcon\n }, \"\\xD7\");\n } // ============================= Arrow ==============================\n\n\n var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !isMultiple && mode !== 'combobox';\n var arrowNode;\n\n if (mergedShowArrow) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: inputIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n } // ============================ Warning =============================\n\n\n if (process.env.NODE_ENV !== 'production' && warningProps) {\n warningProps(props);\n } // ============================= Render =============================\n\n\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), isMultiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !isMultiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-allow-clear\"), allowClear), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-arrow\"), mergedShowArrow), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), mergedOpen), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch), _classNames2));\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: popupNode,\n containerWidth: containerWidth,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n getPopupContainer: getPopupContainer,\n empty: !mergedOptions.length,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n },\n onPopupVisibleChange: onTriggerVisibleChange\n }, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: composeRef(selectorDomRef, customizeRawInputElement.props.ref)\n }) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: mergedId,\n showSearch: mergedShowSearch,\n mode: mode,\n accessibilityIndex: accessibilityIndex,\n multiple: isMultiple,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n searchValue: mergedSearchValue,\n activeValue: activeValue,\n onSearch: triggerSearch,\n onSearchSubmit: onSearchSubmit,\n onSelect: onInternalSelectionSelect,\n tokenWithEnter: tokenWithEnter\n }))); // Render raw\n\n if (customizeRawInputElement) {\n return selectorNode;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(mergedRawValue.join(', '))), selectorNode, arrowNode, clearNode);\n }\n\n var RefSelect = /*#__PURE__*/React.forwardRef(Select);\n return RefSelect;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\n\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n\n var delayRef = React.useRef(null);\n\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n\n if (callback) {\n callback();\n }\n }, timeout);\n };\n\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\nexport default function useCacheOptions(options) {\n var prevOptionMapRef = React.useRef(null);\n var optionMap = React.useMemo(function () {\n var map = new Map();\n options.forEach(function (item) {\n var value = item.data.value;\n map.set(value, item);\n });\n return map;\n }, [options]);\n prevOptionMapRef.current = optionMap;\n\n var getValueOption = function getValueOption(vals) {\n return vals.map(function (value) {\n return prevOptionMapRef.current.get(value);\n }).filter(Boolean);\n };\n\n return getValueOption;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function useCacheDisplayValue(values) {\n var prevValuesRef = React.useRef(values);\n var mergedValues = React.useMemo(function () {\n // Create value - label map\n var valueLabels = new Map();\n prevValuesRef.current.forEach(function (_ref) {\n var value = _ref.value,\n label = _ref.label;\n\n if (value !== label) {\n valueLabels.set(value, label);\n }\n });\n var resultValues = values.map(function (item) {\n var cacheLabel = valueLabels.get(item.value);\n\n if (item.isCacheable && cacheLabel) {\n return _objectSpread(_objectSpread({}, item), {}, {\n label: cacheLabel\n });\n }\n\n return item;\n });\n prevValuesRef.current = resultValues;\n return resultValues;\n }, [values]);\n return mergedValues;\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var target = event.target;\n\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\n\n if (propsRef.current.open && elements().filter(function (element) {\n return element;\n }).every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return getPath(this.data, path);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, options);\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n str = str.replace(match[0], todo.safeValue(value));\n todo.regex.lastIndex = 0;\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].includes(this.formatSeparator) && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, options);\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\n\nexport default i18next;\n","import _includes from \"./_includes.js\";\n\nvar _Set =\n/*#__PURE__*/\nfunction () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n }; //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n\n\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n }; //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n\n\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n\n return false;\n }\n } // these types can all utilise the native Set\n\n\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n }\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n\n return false;\n }\n\n return true;\n }\n\n /* falls through */\n\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n } // scan through all previously applied items\n\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n} // A simple Set type that honours R.equals semantics\n\n\nexport default _Set;","import _Set from \"./internal/_Set.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\n\nvar uniqBy =\n/*#__PURE__*/\n_curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n\n if (set.add(appliedItem)) {\n result.push(item);\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default uniqBy;","export default function _identity(x) {\n return x;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _identity from \"./internal/_identity.js\";\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nexport default identity;","import { concatStyleSets, HighContrastSelector } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport type { IButtonStyles } from '../Button.types';\nimport type { ITheme } from '../../../Styling';\n\nconst DEFAULT_BUTTON_HEIGHT = '40px';\nconst DEFAULT_PADDING = '0 4px';\n\nexport const getStyles = memoizeFunction(\n (theme: ITheme, customStyles?: IButtonStyles): IButtonStyles => {\n const baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme);\n const actionButtonStyles: IButtonStyles = {\n root: {\n padding: DEFAULT_PADDING,\n height: DEFAULT_BUTTON_HEIGHT,\n color: theme.palette.neutralPrimary,\n backgroundColor: 'transparent',\n border: '1px solid transparent',\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Window',\n },\n },\n },\n\n rootHovered: {\n color: theme.palette.themePrimary,\n selectors: {\n [HighContrastSelector]: {\n color: 'Highlight',\n },\n },\n },\n\n iconHovered: {\n color: theme.palette.themePrimary,\n },\n\n rootPressed: {\n color: theme.palette.black,\n },\n\n rootExpanded: {\n color: theme.palette.themePrimary,\n },\n\n iconPressed: {\n color: theme.palette.themeDarker,\n },\n\n rootDisabled: {\n color: theme.palette.neutralTertiary,\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n },\n },\n },\n\n rootChecked: {\n color: theme.palette.black,\n },\n\n iconChecked: {\n color: theme.palette.themeDarker,\n },\n\n flexContainer: {\n justifyContent: 'flex-start',\n },\n\n icon: {\n color: theme.palette.themeDarkAlt,\n },\n\n iconDisabled: {\n color: 'inherit',\n },\n\n menuIcon: {\n color: theme.palette.neutralSecondary,\n },\n\n textContainer: {\n flexGrow: 0,\n },\n };\n\n return concatStyleSets(baseButtonStyles, actionButtonStyles, customStyles)!;\n },\n);\n","import * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './ActionButton.styles';\nimport type { IButtonProps } from '../Button.types';\n\n/**\n * {@docCategory Button}\n */\n@customizable('ActionButton', ['theme', 'styles'], true)\nexport class ActionButton extends React.Component {\n public render(): JSX.Element {\n const { styles, theme } = this.props;\n\n return (\n \n );\n }\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RCNotification from 'rc-notification';\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport createUseMessage from './hooks/useMessage';\nimport { globalConfig } from '../config-provider';\nvar messageInstance;\nvar defaultDuration = 3;\nvar defaultTop;\nvar key = 1;\nvar localPrefixCls = '';\nvar transitionName = 'move-up';\nvar hasTransitionName = false;\nvar getContainer;\nvar maxCount;\nvar rtl = false;\nexport function getKeyThenIncreaseKey() {\n return key++;\n}\n\nfunction setMessageConfig(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n\n if (options.prefixCls !== undefined) {\n localPrefixCls = options.prefixCls;\n }\n\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n }\n\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n\n hasTransitionName = true;\n }\n\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n}\n\nfunction getRCNotificationInstance(args, callback) {\n var customizePrefixCls = args.prefixCls;\n\n var _globalConfig = globalConfig(),\n getPrefixCls = _globalConfig.getPrefixCls,\n getRootPrefixCls = _globalConfig.getRootPrefixCls;\n\n var prefixCls = getPrefixCls('message', customizePrefixCls || localPrefixCls);\n var rootPrefixCls = getRootPrefixCls(args.rootPrefixCls, prefixCls);\n\n if (messageInstance) {\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n instance: messageInstance\n });\n return;\n }\n\n var instanceConfig = {\n prefixCls: prefixCls,\n transitionName: hasTransitionName ? transitionName : \"\".concat(rootPrefixCls, \"-\").concat(transitionName),\n style: {\n top: defaultTop\n },\n getContainer: getContainer,\n maxCount: maxCount\n };\n RCNotification.newInstance(instanceConfig, function (instance) {\n if (messageInstance) {\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n instance: messageInstance\n });\n return;\n }\n\n messageInstance = instance;\n\n if (process.env.NODE_ENV === 'test') {\n messageInstance.config = instanceConfig;\n }\n\n callback({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n instance: instance\n });\n });\n}\n\nvar typeToIcon = {\n info: InfoCircleFilled,\n success: CheckCircleFilled,\n error: CloseCircleFilled,\n warning: ExclamationCircleFilled,\n loading: LoadingOutlined\n};\n\nfunction getRCNoticeProps(args, prefixCls) {\n var _classNames;\n\n var duration = args.duration !== undefined ? args.duration : defaultDuration;\n var IconComponent = typeToIcon[args.type];\n var messageClass = classNames(\"\".concat(prefixCls, \"-custom-content\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(args.type), args.type), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), rtl === true), _classNames));\n return {\n key: args.key,\n duration: duration,\n style: args.style || {},\n className: args.className,\n content: /*#__PURE__*/React.createElement(\"div\", {\n className: messageClass\n }, args.icon || IconComponent && /*#__PURE__*/React.createElement(IconComponent, null), /*#__PURE__*/React.createElement(\"span\", null, args.content)),\n onClose: args.onClose,\n onClick: args.onClick\n };\n}\n\nfunction notice(args) {\n var target = args.key || key++;\n var closePromise = new Promise(function (resolve) {\n var callback = function callback() {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n\n return resolve(true);\n };\n\n getRCNotificationInstance(args, function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n instance.notice(getRCNoticeProps(_extends(_extends({}, args), {\n key: target,\n onClose: callback\n }), prefixCls));\n });\n });\n\n var result = function result() {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n\n result.promise = closePromise;\n return result;\n}\n\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\n\nvar api = {\n open: notice,\n config: setMessageConfig,\n destroy: function destroy(messageKey) {\n if (messageInstance) {\n if (messageKey) {\n var _messageInstance = messageInstance,\n removeNotice = _messageInstance.removeNotice;\n removeNotice(messageKey);\n } else {\n var _messageInstance2 = messageInstance,\n destroy = _messageInstance2.destroy;\n destroy();\n messageInstance = null;\n }\n }\n }\n};\nexport function attachTypeApi(originalApi, type) {\n originalApi[type] = function (content, duration, onClose) {\n if (isArgsProps(content)) {\n return originalApi.open(_extends(_extends({}, content), {\n type: type\n }));\n }\n\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n\n return originalApi.open({\n content: content,\n duration: duration,\n type: type,\n onClose: onClose\n });\n };\n}\n['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n return attachTypeApi(api, type);\n});\napi.warn = api.warning;\napi.useMessage = createUseMessage(getRCNotificationInstance, getRCNoticeProps);\n/** @private test Only function. Not work on production */\n\nexport var getInstance = function getInstance() {\n return process.env.NODE_ENV === 'test' ? messageInstance : null;\n};\nexport default api;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useRCNotification from \"rc-notification/es/useNotification\";\nimport { ConfigConsumer } from '../../config-provider';\nimport { attachTypeApi, getKeyThenIncreaseKey } from '..';\nexport default function createUseMessage(getRcNotificationInstance, getRCNoticeProps) {\n var useMessage = function useMessage() {\n // We can only get content by render\n var getPrefixCls; // We create a proxy to handle delay created instance\n\n var innerInstance = null;\n var proxy = {\n add: function add(noticeProps, holderCallback) {\n innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n }\n };\n\n var _useRCNotification = useRCNotification(proxy),\n _useRCNotification2 = _slicedToArray(_useRCNotification, 2),\n hookNotify = _useRCNotification2[0],\n holder = _useRCNotification2[1];\n\n function notify(args) {\n var customizePrefixCls = args.prefixCls;\n var mergedPrefixCls = getPrefixCls('message', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var target = args.key || getKeyThenIncreaseKey();\n var closePromise = new Promise(function (resolve) {\n var callback = function callback() {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n\n return resolve(true);\n };\n\n getRcNotificationInstance(_extends(_extends({}, args), {\n prefixCls: mergedPrefixCls,\n rootPrefixCls: rootPrefixCls\n }), function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n innerInstance = instance;\n hookNotify(getRCNoticeProps(_extends(_extends({}, args), {\n key: target,\n onClose: callback\n }), prefixCls));\n });\n });\n\n var result = function result() {\n if (innerInstance) {\n innerInstance.removeNotice(target);\n }\n };\n\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n\n result.promise = closePromise;\n return result;\n } // Fill functions\n\n\n var hookApiRef = React.useRef({});\n hookApiRef.current.open = notify;\n ['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n return attachTypeApi(hookApiRef.current, type);\n });\n return [hookApiRef.current, /*#__PURE__*/React.createElement(ConfigConsumer, {\n key: \"holder\"\n }, function (context) {\n getPrefixCls = context.getPrefixCls;\n return holder;\n })];\n };\n\n return useMessage;\n}","import { extractStyleParts } from './extractStyleParts';\nimport { IStyle, IStyleBaseArray } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { styleToClassName } from './styleToClassName';\n\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function mergeStyles(...args: (IStyle | IStyleBaseArray | false | null | undefined)[]): string {\n return mergeCss(args, getStyleOptions());\n}\n\n/**\n * Concatenation helper, which can merge class names together. Skips over falsey values.\n * Accepts a set of options that will be used when calculating styles.\n *\n * @public\n */\nexport function mergeCss(\n args: (IStyle | IStyleBaseArray | false | null | undefined) | (IStyle | IStyleBaseArray | false | null | undefined)[],\n options?: IStyleOptions,\n): string {\n const styleArgs = args instanceof Array ? args : [args];\n const { classes, objects } = extractStyleParts(styleArgs);\n\n if (objects.length) {\n classes.push(styleToClassName(options || {}, objects));\n }\n\n return classes.join(' ');\n}\n","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * No lists have been harmed in the application of this function.\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @see R.without\n * @example\n *\n * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\n\nvar remove =\n/*#__PURE__*/\n_curry3(function remove(start, count, list) {\n var result = Array.prototype.slice.call(list, 0);\n result.splice(start, count);\n return result;\n});\n\nexport default remove;","import * as React from 'react';\nimport { createComponent } from '@fluentui/foundation-legacy';\nimport { TextView } from './Text.view';\nimport { TextStyles as styles } from './Text.styles';\nimport type { ITextProps } from './Text.types';\n\nexport const Text: React.FunctionComponent = createComponent(TextView, {\n displayName: 'Text',\n styles,\n});\n\nexport default Text;\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport { withSlots, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties } from '../../Utilities';\nimport type { ITextComponent, ITextProps, ITextSlots } from './Text.types';\n\nexport const TextView: ITextComponent['view'] = props => {\n // eslint-disable-next-line eqeqeq\n if (props.children == null) {\n return null;\n }\n\n const { block, className, as: RootType = 'span', variant, nowrap, ...rest } = props;\n\n const Slots = getSlots(props, {\n root: RootType,\n });\n\n return ;\n};\n","import type { ITextComponent, ITextStyles, ITextStylesReturnType, ITextProps } from './Text.types';\nimport type { ITheme } from '../../Styling';\n\nexport const TextStyles: ITextComponent['styles'] = (props: ITextProps, theme: ITheme): ITextStylesReturnType => {\n const { as, className, block, nowrap, variant } = props;\n const { fonts, semanticColors } = theme;\n const variantObject = fonts[variant || 'medium'];\n\n return {\n root: [\n variantObject,\n {\n color: variantObject.color || semanticColors.bodyText,\n display: block ? (as === 'td' ? 'table-cell' : 'block') : 'inline',\n mozOsxFontSmoothing: variantObject.MozOsxFontSmoothing,\n webkitFontSmoothing: variantObject.WebkitFontSmoothing,\n },\n nowrap && {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n className,\n ],\n } as ITextStyles;\n};\n","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"resetWarned\", {\n enumerable: true,\n get: function get() {\n return _warning.resetWarned;\n }\n});\nexports[\"default\"] = void 0;\n\nvar _warning = _interopRequireWildcard(require(\"rc-util/lib/warning\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = function _default(valid, component, message) {\n (0, _warning[\"default\"])(valid, \"[antd: \".concat(component, \"] \").concat(message));\n};\n\nexports[\"default\"] = _default;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = omit;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nfunction omit(obj, fields) {\n var clone = (0, _objectSpread2.default)({}, obj);\n\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n\n return clone;\n}","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _LoadingOutlined = _interopRequireDefault(require('./lib/icons/LoadingOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _LoadingOutlined;\n exports.default = _default;\n module.exports = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CloseCircleFilled = _interopRequireDefault(require('./lib/icons/CloseCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CloseCircleFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.injectCSS = injectCSS;\nexports.updateCSS = updateCSS;\n\nvar _canUseDom = _interopRequireDefault(require(\"./canUseDom\"));\n\nvar MARK_KEY = \"rc-util-key\";\n\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n\n var head = document.querySelector('head');\n return head || document.body;\n}\n\nfunction injectCSS(css) {\n var _option$csp;\n\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!(0, _canUseDom.default)()) {\n return null;\n }\n\n var styleNode = document.createElement('style');\n\n if ((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) {\n var _option$csp2;\n\n styleNode.nonce = (_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce;\n }\n\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n\n if (option.prepend && container.prepend) {\n // Use `prepend` first\n container.prepend(styleNode);\n } else if (option.prepend && firstChild) {\n // Fallback to `insertBefore` like IE not support `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n\n return styleNode;\n}\n\nvar containerCache = new Map();\n\nfunction updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option); // Get real parent\n\n if (!containerCache.has(container)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n parentNode.removeChild(placeholderStyle);\n }\n\n var existNode = Array.from(containerCache.get(container).children).find(function (node) {\n return node.tagName === 'STYLE' && node[MARK_KEY] === key;\n });\n\n if (existNode) {\n var _option$csp3, _option$csp4;\n\n if (((_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce) && existNode.nonce !== ((_option$csp4 = option.csp) === null || _option$csp4 === void 0 ? void 0 : _option$csp4.nonce)) {\n var _option$csp5;\n\n existNode.nonce = (_option$csp5 = option.csp) === null || _option$csp5 === void 0 ? void 0 : _option$csp5.nonce;\n }\n\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n\n return existNode;\n }\n\n var newNode = injectCSS(css, option);\n newNode[MARK_KEY] = key;\n return newNode;\n}","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckCircleFilled = _interopRequireDefault(require('./lib/icons/CheckCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckCircleFilled;\n exports.default = _default;\n module.exports = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CloseOutlined = _interopRequireDefault(require('./lib/icons/CloseOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CloseOutlined;\n exports.default = _default;\n module.exports = _default;","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its 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'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nmodule.exports = _createForOfIteratorHelper;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","'use strict';\nmodule.exports = function (obj, predicate) {\n\tvar ret = {};\n\tvar keys = Object.keys(obj);\n\tvar isArr = Array.isArray(predicate);\n\n\tfor (var i = 0; i < keys.length; i++) {\n\t\tvar key = keys[i];\n\t\tvar val = obj[key];\n\n\t\tif (isArr ? predicate.indexOf(key) !== -1 : predicate(key, val, obj)) {\n\t\t\tret[key] = val;\n\t\t}\n\t}\n\n\treturn ret;\n};\n","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = useMemo;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n\n return cacheRef.current.value;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.ANT_MARK = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _devWarning = _interopRequireDefault(require(\"../_util/devWarning\"));\n\nvar _locale = require(\"../modal/locale\");\n\nvar _context = _interopRequireDefault(require(\"./context\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar ANT_MARK = 'internalMark';\nexports.ANT_MARK = ANT_MARK;\n\nvar LocaleProvider = /*#__PURE__*/function (_React$Component) {\n (0, _inherits2[\"default\"])(LocaleProvider, _React$Component);\n\n var _super = (0, _createSuper2[\"default\"])(LocaleProvider);\n\n function LocaleProvider(props) {\n var _this;\n\n (0, _classCallCheck2[\"default\"])(this, LocaleProvider);\n _this = _super.call(this, props);\n (0, _locale.changeConfirmLocale)(props.locale && props.locale.Modal);\n (0, _devWarning[\"default\"])(props._ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale');\n return _this;\n }\n\n (0, _createClass2[\"default\"])(LocaleProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n (0, _locale.changeConfirmLocale)(this.props.locale && this.props.locale.Modal);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var locale = this.props.locale;\n\n if (prevProps.locale !== locale) {\n (0, _locale.changeConfirmLocale)(locale && locale.Modal);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n (0, _locale.changeConfirmLocale)();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n locale = _this$props.locale,\n children = _this$props.children;\n return /*#__PURE__*/React.createElement(_context[\"default\"].Provider, {\n value: (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, locale), {\n exist: true\n })\n }, children);\n }\n }]);\n return LocaleProvider;\n}(React.Component);\n\nexports[\"default\"] = LocaleProvider;\nLocaleProvider.defaultProps = {\n locale: {}\n};","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.changeConfirmLocale = changeConfirmLocale;\nexports.getConfirmLocale = getConfirmLocale;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _default = _interopRequireDefault(require(\"../locale/default\"));\n\nvar runtimeLocale = (0, _extends2[\"default\"])({}, _default[\"default\"].Modal);\n\nfunction changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = (0, _extends2[\"default\"])({}, _default[\"default\"].Modal);\n }\n}\n\nfunction getConfirmLocale() {\n return runtimeLocale;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: '',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages'\n};\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'Ok',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nvar _default = locale;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _en_US = _interopRequireDefault(require(\"../../date-picker/locale/en_US\"));\n\nvar _default = _en_US[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _default2 = _interopRequireDefault(require(\"../locale/default\"));\n\nvar _default = _default2[\"default\"];\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withConfigConsumer = withConfigConsumer;\nexports.ConfigConsumer = exports.ConfigContext = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _renderEmpty = _interopRequireDefault(require(\"./renderEmpty\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar defaultGetPrefixCls = function defaultGetPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"ant-\".concat(suffixCls) : 'ant';\n};\n\nvar ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n renderEmpty: _renderEmpty[\"default\"]\n});\nexports.ConfigContext = ConfigContext;\nvar ConfigConsumer = ConfigContext.Consumer;\n/** @deprecated Use hooks instead. This is a legacy function */\n\nexports.ConfigConsumer = ConfigConsumer;\n\nfunction withConfigConsumer(config) {\n return function withConfigConsumerFunc(Component) {\n // Wrap with ConfigConsumer. Since we need compatible with react 15, be care when using ref methods\n var SFC = function SFC(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configProps) {\n var basicPrefixCls = config.prefixCls;\n var getPrefixCls = configProps.getPrefixCls;\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(basicPrefixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(Component, (0, _extends2[\"default\"])({}, configProps, props, {\n prefixCls: prefixCls\n }));\n });\n };\n\n var cons = Component.constructor;\n var name = cons && cons.displayName || Component.name || 'Component';\n SFC.displayName = \"withConfigConsumer(\".concat(name, \")\");\n return SFC;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _empty = _interopRequireDefault(require(\"../empty\"));\n\nvar _ = require(\".\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar renderEmpty = function renderEmpty(componentName) {\n return /*#__PURE__*/React.createElement(_.ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var prefix = getPrefixCls('empty');\n\n switch (componentName) {\n case 'Table':\n case 'List':\n return /*#__PURE__*/React.createElement(_empty[\"default\"], {\n image: _empty[\"default\"].PRESENTED_IMAGE_SIMPLE\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return /*#__PURE__*/React.createElement(_empty[\"default\"], {\n image: _empty[\"default\"].PRESENTED_IMAGE_SIMPLE,\n className: \"\".concat(prefix, \"-small\")\n });\n\n default:\n return /*#__PURE__*/React.createElement(_empty[\"default\"], null);\n }\n });\n};\n\nvar _default = renderEmpty;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _LocaleReceiver = _interopRequireDefault(require(\"../locale-provider/LocaleReceiver\"));\n\nvar _empty = _interopRequireDefault(require(\"./empty\"));\n\nvar _simple = _interopRequireDefault(require(\"./simple\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar defaultEmptyImg = /*#__PURE__*/React.createElement(_empty[\"default\"], null);\nvar simpleEmptyImg = /*#__PURE__*/React.createElement(_simple[\"default\"], null);\n\nvar Empty = function Empty(_a) {\n var className = _a.className,\n customizePrefixCls = _a.prefixCls,\n _a$image = _a.image,\n image = _a$image === void 0 ? defaultEmptyImg : _a$image,\n description = _a.description,\n children = _a.children,\n imageStyle = _a.imageStyle,\n restProps = __rest(_a, [\"className\", \"prefixCls\", \"image\", \"description\", \"children\", \"imageStyle\"]);\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n return /*#__PURE__*/React.createElement(_LocaleReceiver[\"default\"], {\n componentName: \"Empty\"\n }, function (locale) {\n var _classNames;\n\n var prefixCls = getPrefixCls('empty', customizePrefixCls);\n var des = typeof description !== 'undefined' ? description : locale.description;\n var alt = typeof des === 'string' ? des : 'empty';\n var imageNode = null;\n\n if (typeof image === 'string') {\n imageNode = /*#__PURE__*/React.createElement(\"img\", {\n alt: alt,\n src: image\n });\n } else {\n imageNode = image;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", (0, _extends2[\"default\"])({\n className: (0, _classnames[\"default\"])(prefixCls, (_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-normal\"), image === simpleEmptyImg), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className)\n }, restProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-image\"),\n style: imageStyle\n }, imageNode), des && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, des), children && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, children));\n });\n};\n\nEmpty.PRESENTED_IMAGE_DEFAULT = defaultEmptyImg;\nEmpty.PRESENTED_IMAGE_SIMPLE = simpleEmptyImg;\nvar _default = Empty;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Empty = function Empty() {\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-default');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"184\",\n height: \"152\",\n viewBox: \"0 0 184 152\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(24 31.67)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"67.797\",\n cy: \"106.89\",\n rx: \"67.797\",\n ry: \"12.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-1\"),\n d: \"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-2\"),\n d: \"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z\",\n transform: \"translate(13.56)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-3\"),\n d: \"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-4\"),\n d: \"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"\".concat(prefixCls, \"-path-5\"),\n d: \"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n transform: \"translate(149.65 15.383)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: \"20.654\",\n cy: \"3.167\",\n rx: \"2.849\",\n ry: \"2.815\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z\"\n }))));\n};\n\nvar _default = Empty;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar Simple = function Simple() {\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('empty-img-simple');\n return /*#__PURE__*/React.createElement(\"svg\", {\n className: prefixCls,\n width: \"64\",\n height: \"41\",\n viewBox: \"0 0 64 41\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1)\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n className: \"\".concat(prefixCls, \"-ellipse\"),\n cx: \"32\",\n cy: \"33\",\n rx: \"32\",\n ry: \"7\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n className: \"\".concat(prefixCls, \"-g\"),\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z\",\n className: \"\".concat(prefixCls, \"-path\")\n }))));\n};\n\nvar _default = Simple;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _LoadingOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/LoadingOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _LoadingOutlined.default\n }));\n};\n\nLoadingOutlined.displayName = 'LoadingOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(LoadingOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexports.default = LoadingOutlined;\n","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = canUseDom;\n\nfunction canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setTwoToneColor = setTwoToneColor;\nexports.getTwoToneColor = getTwoToneColor;\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar _IconBase = _interopRequireDefault(require(\"./IconBase\"));\n\nvar _utils = require(\"../utils\");\n\nfunction setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = (0, _utils.normalizeTwoToneColors)(twoToneColor),\n _normalizeTwoToneColo2 = (0, _slicedToArray2.default)(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n\n return _IconBase.default.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\n\nfunction getTwoToneColor() {\n var colors = _IconBase.default.getTwoToneColors();\n\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n\n return [colors.primaryColor, colors.secondaryColor];\n}","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _ExclamationCircleFilled = _interopRequireDefault(require('./lib/icons/ExclamationCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _ExclamationCircleFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _ExclamationCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/ExclamationCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _ExclamationCircleFilled.default\n }));\n};\n\nExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(ExclamationCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexports.default = ExclamationCircleFilled;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CloseCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CloseCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CloseCircleFilled.default\n }));\n};\n\nCloseCircleFilled.displayName = 'CloseCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(CloseCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexports.default = CloseCircleFilled;\n","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CheckCircleFilled = function CheckCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckCircleFilled.default\n }));\n};\n\nCheckCircleFilled.displayName = 'CheckCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(CheckCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexports.default = CheckCircleFilled;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _InfoCircleFilled = _interopRequireDefault(require('./lib/icons/InfoCircleFilled'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _InfoCircleFilled;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _InfoCircleFilled = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/InfoCircleFilled\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar InfoCircleFilled = function InfoCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _InfoCircleFilled.default\n }));\n};\n\nInfoCircleFilled.displayName = 'InfoCircleFilled';\n\nvar _default = /*#__PURE__*/React.forwardRef(InfoCircleFilled);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexports.default = InfoCircleFilled;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createUseMessage;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _useNotification = _interopRequireDefault(require(\"rc-notification/lib/useNotification\"));\n\nvar _configProvider = require(\"../../config-provider\");\n\nvar _ = require(\"..\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction createUseMessage(getRcNotificationInstance, getRCNoticeProps) {\n var useMessage = function useMessage() {\n // We can only get content by render\n var getPrefixCls; // We create a proxy to handle delay created instance\n\n var innerInstance = null;\n var proxy = {\n add: function add(noticeProps, holderCallback) {\n innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n }\n };\n\n var _useRCNotification = (0, _useNotification[\"default\"])(proxy),\n _useRCNotification2 = (0, _slicedToArray2[\"default\"])(_useRCNotification, 2),\n hookNotify = _useRCNotification2[0],\n holder = _useRCNotification2[1];\n\n function notify(args) {\n var customizePrefixCls = args.prefixCls;\n var mergedPrefixCls = getPrefixCls('message', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var target = args.key || (0, _.getKeyThenIncreaseKey)();\n var closePromise = new Promise(function (resolve) {\n var callback = function callback() {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n\n return resolve(true);\n };\n\n getRcNotificationInstance((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n prefixCls: mergedPrefixCls,\n rootPrefixCls: rootPrefixCls\n }), function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n innerInstance = instance;\n hookNotify(getRCNoticeProps((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n key: target,\n onClose: callback\n }), prefixCls));\n });\n });\n\n var result = function result() {\n if (innerInstance) {\n innerInstance.removeNotice(target);\n }\n };\n\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n\n result.promise = closePromise;\n return result;\n } // Fill functions\n\n\n var hookApiRef = React.useRef({});\n hookApiRef.current.open = notify;\n ['success', 'info', 'warning', 'error', 'loading'].forEach(function (type) {\n return (0, _.attachTypeApi)(hookApiRef.current, type);\n });\n return [hookApiRef.current, /*#__PURE__*/React.createElement(_configProvider.ConfigConsumer, {\n key: \"holder\"\n }, function (context) {\n getPrefixCls = context.getPrefixCls;\n return holder;\n })];\n };\n\n return useMessage;\n}","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _createSuper2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createSuper\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar Notice = /*#__PURE__*/function (_Component) {\n (0, _inherits2.default)(Notice, _Component);\n\n var _super = (0, _createSuper2.default)(Notice);\n\n function Notice() {\n var _this;\n\n (0, _classCallCheck2.default)(this, Notice);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.closeTimer = null;\n\n _this.close = function (e) {\n if (e) {\n e.stopPropagation();\n }\n\n _this.clearCloseTimer();\n\n var _this$props = _this.props,\n onClose = _this$props.onClose,\n noticeKey = _this$props.noticeKey;\n\n if (onClose) {\n onClose(noticeKey);\n }\n };\n\n _this.startCloseTimer = function () {\n if (_this.props.duration) {\n _this.closeTimer = window.setTimeout(function () {\n _this.close();\n }, _this.props.duration * 1000);\n }\n };\n\n _this.clearCloseTimer = function () {\n if (_this.closeTimer) {\n clearTimeout(_this.closeTimer);\n _this.closeTimer = null;\n }\n };\n\n return _this;\n }\n\n (0, _createClass2.default)(Notice, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startCloseTimer();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.props.duration !== prevProps.duration || this.props.updateMark !== prevProps.updateMark || // Visible again need reset timer\n this.props.visible !== prevProps.visible && this.props.visible) {\n this.restartCloseTimer();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearCloseTimer();\n }\n }, {\n key: \"restartCloseTimer\",\n value: function restartCloseTimer() {\n this.clearCloseTimer();\n this.startCloseTimer();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n prefixCls = _this$props2.prefixCls,\n className = _this$props2.className,\n closable = _this$props2.closable,\n closeIcon = _this$props2.closeIcon,\n style = _this$props2.style,\n onClick = _this$props2.onClick,\n children = _this$props2.children,\n holder = _this$props2.holder;\n var componentClass = \"\".concat(prefixCls, \"-notice\");\n var dataOrAriaAttributeProps = Object.keys(this.props).reduce(function (acc, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n acc[key] = _this2.props[key];\n }\n\n return acc;\n }, {});\n var node = /*#__PURE__*/React.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(componentClass, className, (0, _defineProperty2.default)({}, \"\".concat(componentClass, \"-closable\"), closable)),\n style: style,\n onMouseEnter: this.clearCloseTimer,\n onMouseLeave: this.startCloseTimer,\n onClick: onClick\n }, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(componentClass, \"-content\")\n }, children), closable ? /*#__PURE__*/React.createElement(\"a\", {\n tabIndex: 0,\n onClick: this.close,\n className: \"\".concat(componentClass, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(componentClass, \"-close-x\")\n })) : null);\n\n if (holder) {\n return /*#__PURE__*/_reactDom.default.createPortal(node, holder);\n }\n\n return node;\n }\n }]);\n return Notice;\n}(React.Component);\n\nexports.default = Notice;\nNotice.defaultProps = {\n onClose: function onClose() {},\n duration: 1.5\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.getInstance = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _rcNotification = _interopRequireDefault(require(\"rc-notification\"));\n\nvar _CloseOutlined = _interopRequireDefault(require(\"@ant-design/icons/CloseOutlined\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _CheckCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/CheckCircleOutlined\"));\n\nvar _CloseCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/CloseCircleOutlined\"));\n\nvar _ExclamationCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/ExclamationCircleOutlined\"));\n\nvar _InfoCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons/InfoCircleOutlined\"));\n\nvar _useNotification = _interopRequireDefault(require(\"./hooks/useNotification\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar notificationInstance = {};\nvar defaultDuration = 4.5;\nvar defaultTop = 24;\nvar defaultBottom = 24;\nvar defaultPrefixCls = '';\nvar defaultPlacement = 'topRight';\nvar defaultGetContainer;\nvar defaultCloseIcon;\nvar rtl = false;\n\nfunction setNotificationConfig(options) {\n var duration = options.duration,\n placement = options.placement,\n bottom = options.bottom,\n top = options.top,\n getContainer = options.getContainer,\n closeIcon = options.closeIcon,\n prefixCls = options.prefixCls;\n\n if (prefixCls !== undefined) {\n defaultPrefixCls = prefixCls;\n }\n\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n\n if (placement !== undefined) {\n defaultPlacement = placement;\n } else if (options.rtl) {\n defaultPlacement = 'topLeft';\n }\n\n if (bottom !== undefined) {\n defaultBottom = bottom;\n }\n\n if (top !== undefined) {\n defaultTop = top;\n }\n\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n}\n\nfunction getPlacementStyle(placement) {\n var top = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultTop;\n var bottom = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultBottom;\n var style;\n\n switch (placement) {\n case 'topLeft':\n style = {\n left: 0,\n top: top,\n bottom: 'auto'\n };\n break;\n\n case 'topRight':\n style = {\n right: 0,\n top: top,\n bottom: 'auto'\n };\n break;\n\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom: bottom\n };\n break;\n\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom: bottom\n };\n break;\n }\n\n return style;\n}\n\nfunction getNotificationInstance(args, callback) {\n var _args$placement = args.placement,\n placement = _args$placement === void 0 ? defaultPlacement : _args$placement,\n top = args.top,\n bottom = args.bottom,\n _args$getContainer = args.getContainer,\n getContainer = _args$getContainer === void 0 ? defaultGetContainer : _args$getContainer,\n _args$closeIcon = args.closeIcon,\n closeIcon = _args$closeIcon === void 0 ? defaultCloseIcon : _args$closeIcon,\n customizePrefixCls = args.prefixCls;\n\n var _globalConfig = (0, _configProvider.globalConfig)(),\n getPrefixCls = _globalConfig.getPrefixCls;\n\n var prefixCls = getPrefixCls('notification', customizePrefixCls || defaultPrefixCls);\n var cacheKey = \"\".concat(prefixCls, \"-\").concat(placement);\n var cacheInstance = notificationInstance[cacheKey];\n\n if (cacheInstance) {\n Promise.resolve(cacheInstance).then(function (instance) {\n callback({\n prefixCls: \"\".concat(prefixCls, \"-notice\"),\n instance: instance\n });\n });\n return;\n }\n\n var closeIconToRender = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }, closeIcon || /*#__PURE__*/React.createElement(_CloseOutlined[\"default\"], {\n className: \"\".concat(prefixCls, \"-close-icon\")\n }));\n var notificationClass = (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-\").concat(placement), (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-rtl\"), rtl === true));\n notificationInstance[cacheKey] = new Promise(function (resolve) {\n _rcNotification[\"default\"].newInstance({\n prefixCls: prefixCls,\n className: notificationClass,\n style: getPlacementStyle(placement, top, bottom),\n getContainer: getContainer,\n closeIcon: closeIconToRender\n }, function (notification) {\n resolve(notification);\n callback({\n prefixCls: \"\".concat(prefixCls, \"-notice\"),\n instance: notification\n });\n });\n });\n}\n\nvar typeToIcon = {\n success: _CheckCircleOutlined[\"default\"],\n info: _InfoCircleOutlined[\"default\"],\n error: _CloseCircleOutlined[\"default\"],\n warning: _ExclamationCircleOutlined[\"default\"]\n};\n\nfunction getRCNoticeProps(args, prefixCls) {\n var durationArg = args.duration,\n icon = args.icon,\n type = args.type,\n description = args.description,\n message = args.message,\n btn = args.btn,\n onClose = args.onClose,\n onClick = args.onClick,\n key = args.key,\n style = args.style,\n className = args.className;\n var duration = durationArg === undefined ? defaultDuration : durationArg;\n var iconNode = null;\n\n if (icon) {\n iconNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-icon\")\n }, args.icon);\n } else if (type) {\n iconNode = /*#__PURE__*/React.createElement(typeToIcon[type] || null, {\n className: \"\".concat(prefixCls, \"-icon \").concat(prefixCls, \"-icon-\").concat(type)\n });\n }\n\n var autoMarginTag = !description && iconNode ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-message-single-line-auto-margin\")\n }) : null;\n return {\n content: /*#__PURE__*/React.createElement(\"div\", {\n className: iconNode ? \"\".concat(prefixCls, \"-with-icon\") : '',\n role: \"alert\"\n }, iconNode, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-message\")\n }, autoMarginTag, message), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-description\")\n }, description), btn ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-btn\")\n }, btn) : null),\n duration: duration,\n closable: true,\n onClose: onClose,\n onClick: onClick,\n key: key,\n style: style || {},\n className: (0, _classnames[\"default\"])(className, (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-\").concat(type), !!type))\n };\n}\n\nfunction notice(args) {\n getNotificationInstance(args, function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n instance.notice(getRCNoticeProps(args, prefixCls));\n });\n}\n\nvar api = {\n open: notice,\n close: function close(key) {\n Object.keys(notificationInstance).forEach(function (cacheKey) {\n return Promise.resolve(notificationInstance[cacheKey]).then(function (instance) {\n instance.removeNotice(key);\n });\n });\n },\n config: setNotificationConfig,\n destroy: function destroy() {\n Object.keys(notificationInstance).forEach(function (cacheKey) {\n Promise.resolve(notificationInstance[cacheKey]).then(function (instance) {\n instance.destroy();\n });\n delete notificationInstance[cacheKey]; // lgtm[js/missing-await]\n });\n }\n};\n['success', 'info', 'warning', 'error'].forEach(function (type) {\n api[type] = function (args) {\n return api.open((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n type: type\n }));\n };\n});\napi.warn = api.warning;\napi.useNotification = (0, _useNotification[\"default\"])(getNotificationInstance, getRCNoticeProps);\n/** @private test Only function. Not work on production */\n\nvar getInstance = function getInstance(cacheKey) {\n return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", process.env.NODE_ENV === 'test' ? notificationInstance[cacheKey] : null);\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n};\n\nexports.getInstance = getInstance;\nvar _default = api;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CloseOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CloseOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CloseOutlined.default\n }));\n};\n\nCloseOutlined.displayName = 'CloseOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CloseOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexports.default = CloseOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckCircleOutlined = _interopRequireDefault(require('./lib/icons/CheckCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CheckCircleOutlined = function CheckCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckCircleOutlined.default\n }));\n};\n\nCheckCircleOutlined.displayName = 'CheckCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CheckCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"check-circle\", \"theme\": \"outlined\" };\nexports.default = CheckCircleOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CloseCircleOutlined = _interopRequireDefault(require('./lib/icons/CloseCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CloseCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CloseCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CloseCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CloseCircleOutlined = function CloseCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CloseCircleOutlined.default\n }));\n};\n\nCloseCircleOutlined.displayName = 'CloseCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CloseCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CloseCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 00-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"close-circle\", \"theme\": \"outlined\" };\nexports.default = CloseCircleOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _ExclamationCircleOutlined = _interopRequireDefault(require('./lib/icons/ExclamationCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _ExclamationCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _ExclamationCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/ExclamationCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar ExclamationCircleOutlined = function ExclamationCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _ExclamationCircleOutlined.default\n }));\n};\n\nExclamationCircleOutlined.displayName = 'ExclamationCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(ExclamationCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ExclamationCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"outlined\" };\nexports.default = ExclamationCircleOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _InfoCircleOutlined = _interopRequireDefault(require('./lib/icons/InfoCircleOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _InfoCircleOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _InfoCircleOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/InfoCircleOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar InfoCircleOutlined = function InfoCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _InfoCircleOutlined.default\n }));\n};\n\nInfoCircleOutlined.displayName = 'InfoCircleOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(InfoCircleOutlined);\n\nexports.default = _default;","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar InfoCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"info-circle\", \"theme\": \"outlined\" };\nexports.default = InfoCircleOutlined;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createUseNotification;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _useNotification = _interopRequireDefault(require(\"rc-notification/lib/useNotification\"));\n\nvar _configProvider = require(\"../../config-provider\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction createUseNotification(getNotificationInstance, getRCNoticeProps) {\n var useNotification = function useNotification() {\n // We can only get content by render\n var getPrefixCls; // We create a proxy to handle delay created instance\n\n var innerInstance = null;\n var proxy = {\n add: function add(noticeProps, holderCallback) {\n innerInstance === null || innerInstance === void 0 ? void 0 : innerInstance.component.add(noticeProps, holderCallback);\n }\n };\n\n var _useRCNotification = (0, _useNotification[\"default\"])(proxy),\n _useRCNotification2 = (0, _slicedToArray2[\"default\"])(_useRCNotification, 2),\n hookNotify = _useRCNotification2[0],\n holder = _useRCNotification2[1];\n\n function notify(args) {\n var customizePrefixCls = args.prefixCls;\n var mergedPrefixCls = getPrefixCls('notification', customizePrefixCls);\n getNotificationInstance((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n prefixCls: mergedPrefixCls\n }), function (_ref) {\n var prefixCls = _ref.prefixCls,\n instance = _ref.instance;\n innerInstance = instance;\n hookNotify(getRCNoticeProps(args, prefixCls));\n });\n } // Fill functions\n\n\n var hookApiRef = React.useRef({});\n hookApiRef.current.open = notify;\n ['success', 'info', 'warning', 'error'].forEach(function (type) {\n hookApiRef.current[type] = function (args) {\n return hookApiRef.current.open((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, args), {\n type: type\n }));\n };\n });\n return [hookApiRef.current, /*#__PURE__*/React.createElement(_configProvider.ConfigConsumer, {\n key: \"holder\"\n }, function (context) {\n getPrefixCls = context.getPrefixCls;\n return holder;\n })];\n };\n\n return useNotification;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormItemPrefixContext = exports.FormProvider = exports.FormItemContext = exports.FormContext = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\n\nvar _rcFieldForm = require(\"rc-field-form\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: function itemRef() {}\n});\nexports.FormContext = FormContext;\nvar FormItemContext = /*#__PURE__*/React.createContext({\n updateItemErrors: function updateItemErrors() {}\n});\nexports.FormItemContext = FormItemContext;\n\nvar FormProvider = function FormProvider(props) {\n var providerProps = (0, _omit[\"default\"])(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(_rcFieldForm.FormProvider, providerProps);\n};\n\nexports.FormProvider = FormProvider;\nvar FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexports.FormItemPrefixContext = FormItemPrefixContext;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useForm;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _rcFieldForm = require(\"rc-field-form\");\n\nvar _scrollIntoViewIfNeeded = _interopRequireDefault(require(\"scroll-into-view-if-needed\"));\n\nvar _util = require(\"../util\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction toNamePathStr(name) {\n var namePath = (0, _util.toArray)(name);\n return namePath.join('_');\n}\n\nfunction useForm(form) {\n var _useRcForm = (0, _rcFieldForm.useForm)(),\n _useRcForm2 = (0, _slicedToArray2[\"default\"])(_useRcForm, 1),\n rcForm = _useRcForm2[0];\n\n var itemsRef = React.useRef({});\n var wrapForm = React.useMemo(function () {\n return form !== null && form !== void 0 ? form : (0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, rcForm), {\n __INTERNAL__: {\n itemRef: function itemRef(name) {\n return function (node) {\n var namePathStr = toNamePathStr(name);\n\n if (node) {\n itemsRef.current[namePathStr] = node;\n } else {\n delete itemsRef.current[namePathStr];\n }\n };\n }\n },\n scrollToField: function scrollToField(name) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var namePath = (0, _util.toArray)(name);\n var fieldId = (0, _util.getFieldId)(namePath, wrapForm.__INTERNAL__.name);\n var node = fieldId ? document.getElementById(fieldId) : null;\n\n if (node) {\n (0, _scrollIntoViewIfNeeded[\"default\"])(node, (0, _extends2[\"default\"])({\n scrollMode: 'if-needed',\n block: 'nearest'\n }, options));\n }\n },\n getFieldInstance: function getFieldInstance(name) {\n var namePathStr = toNamePathStr(name);\n return itemsRef.current[namePathStr];\n }\n });\n }, [form, rcForm]);\n return [wrapForm];\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toArray = toArray;\nexports.getFieldId = getFieldId;\n\nfunction toArray(candidate) {\n if (candidate === undefined || candidate === false) return [];\n return Array.isArray(candidate) ? candidate : [candidate];\n}\n\nfunction getFieldId(namePath, formName) {\n if (!namePath.length) return undefined;\n var mergedId = namePath.join('_');\n return formName ? \"\".concat(formName, \"_\").concat(mergedId) : mergedId;\n}","import _concat from \"./internal/_concat.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> (a -> a) -> [a] -> [a]\n * @param {Number} idx The index.\n * @param {Function} fn The function to apply.\n * @param {Array|Arguments} list An array-like object whose value\n * at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n * the element at index `idx` replaced with the value\n * returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd']\n * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D']\n * @symb R.adjust(-1, f, [a, b]) = [a, f(b)]\n * @symb R.adjust(0, f, [a, b]) = [f(a), b]\n */\n\nvar adjust =\n/*#__PURE__*/\n_curry3(function adjust(idx, fn, list) {\n if (idx >= list.length || idx < -list.length) {\n return list;\n }\n\n var start = idx < 0 ? list.length : 0;\n\n var _idx = start + idx;\n\n var _list = _concat(list);\n\n _list[_idx] = fn(list[_idx]);\n return _list;\n});\n\nexport default adjust;","import _curry3 from \"./internal/_curry3.js\";\nimport adjust from \"./adjust.js\";\nimport always from \"./always.js\";\n/**\n * Returns a new copy of the array with the element at the provided index\n * replaced with the given value.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} idx The index to update.\n * @param {*} x The value to exist at the given index of the returned array.\n * @param {Array|Arguments} list The source array-like object to be updated.\n * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n * @see R.adjust\n * @example\n *\n * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c']\n * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_']\n * @symb R.update(-1, a, [b, c]) = [b, a]\n * @symb R.update(0, a, [b, c]) = [a, c]\n * @symb R.update(1, a, [b, c]) = [b, a]\n */\n\nvar update =\n/*#__PURE__*/\n_curry3(function update(idx, x, list) {\n return adjust(idx, always(x), list);\n});\n\nexport default update;","import { concatStyleSets } from './concatStyleSets';\nimport { IStyleSet } from './IStyleSet';\nimport { IStyleFunctionOrObject } from './IStyleFunction';\nimport { DeepPartial } from './DeepPartial';\n\n/**\n * Concatenates style sets into one, but resolves functional sets using the given props.\n * @param styleProps - Props used to resolve functional sets.\n * @param allStyles - Style sets, which can be functions or objects.\n */\nexport function concatStyleSetsWithProps>(\n styleProps: TStyleProps,\n ...allStyles: (IStyleFunctionOrObject | undefined)[]\n): DeepPartial {\n const result: DeepPartial[] = [];\n for (const styles of allStyles) {\n if (styles) {\n result.push(typeof styles === 'function' ? styles(styleProps) : styles);\n }\n }\n if (result.length === 1) {\n return result[0] as DeepPartial;\n } else if (result.length) {\n // cliffkoh: I cannot figure out how to avoid the cast to any here.\n // It is something to do with the use of Omit in IStyleSet.\n // It might not be necessary once Omit becomes part of lib.d.ts (when we remove our own Omit and rely on\n // the official version).\n return concatStyleSets(...(result as any)) as any;\n }\n\n return {};\n}\n","import { concatStyleSets } from './concatStyleSets';\nimport { extractStyleParts } from './extractStyleParts';\nimport { IStyle } from './IStyle';\nimport { IStyleOptions } from './IStyleOptions';\nimport { IConcatenatedStyleSet, IProcessedStyleSet, IStyleSet } from './IStyleSet';\nimport { getStyleOptions } from './StyleOptionsState';\nimport { applyRegistration, styleToRegistration } from './styleToClassName';\nimport { ObjectOnly } from './ObjectOnly';\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet - The first style set to be merged and reigstered.\n */\nexport function mergeStyleSets(\n styleSet: TStyleSet | false | null | undefined,\n): IProcessedStyleSet>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n): IProcessedStyleSet & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n): IProcessedStyleSet & ObjectOnly & ObjectOnly>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSet1 - The first style set to be merged.\n * @param styleSet2 - The second style set to be merged.\n * @param styleSet3 - The third style set to be merged.\n * @param styleSet4 - The fourth style set to be merged.\n */\nexport function mergeStyleSets(\n styleSet1: TStyleSet1 | false | null | undefined,\n styleSet2: TStyleSet2 | false | null | undefined,\n styleSet3: TStyleSet3 | false | null | undefined,\n styleSet4: TStyleSet4 | false | null | undefined,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeStyles` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n */\nexport function mergeStyleSets(...styleSets: Array): IProcessedStyleSet {\n return mergeCssSets(styleSets as any, getStyleOptions());\n}\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [TStyleSet1 | false | null | undefined, TStyleSet2 | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [\n TStyleSet1 | false | null | undefined,\n TStyleSet2 | false | null | undefined,\n TStyleSet3 | false | null | undefined,\n ],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: [\n TStyleSet1 | false | null | undefined,\n TStyleSet2 | false | null | undefined,\n TStyleSet3 | false | null | undefined,\n TStyleSet4 | false | null | undefined,\n ],\n options?: IStyleOptions,\n): IProcessedStyleSet<\n ObjectOnly & ObjectOnly & ObjectOnly & ObjectOnly\n>;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures we maintain the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSet: [TStyleSet | false | null | undefined],\n options?: IStyleOptions,\n): IProcessedStyleSet;\n\n/**\n * Takes in one or more style set objects, each1consisting of a set of areas,\n * each which will produce a class name. Using this is analogous to calling\n * `mergeCss` for each property in the object, but ensures the\n * set ordering when multiple style sets are merged.\n *\n * @param styleSets - One or more style sets to be merged.\n * @param options - (optional) Options to use when creating rules.\n */\nexport function mergeCssSets(\n styleSets: Array,\n options?: IStyleOptions,\n): IProcessedStyleSet {\n const classNameSet: IProcessedStyleSet = { subComponentStyles: {} };\n\n const styleSet = styleSets[0];\n\n if (!styleSet && styleSets.length <= 1) {\n return { subComponentStyles: {} } as any;\n }\n\n const concatenatedStyleSet = concatStyleSets(...styleSets);\n\n const registrations = [];\n\n for (const styleSetArea in concatenatedStyleSet) {\n if (concatenatedStyleSet.hasOwnProperty(styleSetArea)) {\n if (styleSetArea === 'subComponentStyles') {\n classNameSet.subComponentStyles = (concatenatedStyleSet as IConcatenatedStyleSet).subComponentStyles || {};\n continue;\n }\n\n const styles: IStyle = (concatenatedStyleSet as any)[styleSetArea];\n\n const { classes, objects } = extractStyleParts(styles);\n\n if (objects?.length) {\n const registration = styleToRegistration(options || {}, { displayName: styleSetArea }, objects);\n\n if (registration) {\n registrations.push(registration);\n classNameSet[styleSetArea] = classes.concat([registration.className]).join(' ');\n }\n } else {\n classNameSet[styleSetArea] = classes.join(' ');\n }\n }\n }\n\n for (const registration of registrations) {\n if (registration) {\n applyRegistration(registration, options?.specificityMultiplier);\n }\n }\n\n return classNameSet as any;\n}\n","/**\n * Dictionary of booleans.\n *\n * @internal\n */\nexport interface IDictionary {\n [className: string]: boolean;\n}\n\n/**\n * Serializable object.\n *\n * @internal\n */\nexport interface ISerializableObject {\n toString?: () => string;\n}\n\n/**\n * css input type.\n *\n * @internal\n */\nexport type ICssInput = string | ISerializableObject | IDictionary | null | undefined | boolean;\n\n/**\n * Concatination helper, which can merge class names together. Skips over falsey values.\n *\n * @public\n */\nexport function css(...args: ICssInput[]): string {\n let classes = [];\n\n for (let arg of args) {\n if (arg) {\n if (typeof arg === 'string') {\n classes.push(arg);\n } else if (arg.hasOwnProperty('toString') && typeof arg.toString === 'function') {\n classes.push(arg.toString());\n } else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n for (let key in arg as any) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((arg as any)[key]) {\n classes.push(key);\n }\n }\n }\n }\n }\n\n return classes.join(' ');\n}\n","import * as React from 'react';\nimport { extendComponent } from './extendComponent';\nimport type { IBaseProps } from './BaseComponent.types';\n\n/**\n * Helper to manage componentRef resolution. Internally appends logic to\n * lifetime methods to resolve componentRef to the passed in object.\n *\n * Usage: call initializeComponentRef(this) in the constructor,\n */\nexport function initializeComponentRef(obj: React.Component): void {\n extendComponent(obj, {\n componentDidMount: _onMount,\n componentDidUpdate: _onUpdate,\n componentWillUnmount: _onUnmount,\n });\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onMount(this: any): void {\n _setComponentRef(this.props.componentRef, this);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onUpdate(this: any, prevProps: IBaseProps): void {\n if (prevProps.componentRef !== this.props.componentRef) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _setComponentRef((prevProps as any).componentRef, null);\n _setComponentRef(this.props.componentRef, this);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _onUnmount(this: any): void {\n _setComponentRef(this.props.componentRef, null);\n}\n\nfunction _setComponentRef(componentRef: React.RefObject, value: TInterface | null): void {\n if (componentRef) {\n if (typeof componentRef === 'object') {\n (componentRef as { current: TInterface | null }).current = value;\n } else if (typeof componentRef === 'function') {\n (componentRef as Function)(value);\n }\n }\n}\n","export function on(\n element: Element | Window | Document,\n eventName: string,\n callback: (ev: Event) => void,\n options?: boolean,\n): () => void {\n element.addEventListener(eventName, callback, options);\n\n return () => element.removeEventListener(eventName, callback, options);\n}\n","import { Async } from '@fluentui/utilities';\nimport * as React from 'react';\nimport { useConst } from './useConst';\n\n/**\n * Hook to provide an Async instance that is automatically cleaned up on dismount.\n */\nexport function useAsync() {\n const async = useConst(() => new Async());\n\n // Function that returns a function in order to dispose the async instance on unmount\n React.useEffect(() => () => async.dispose(), [async]);\n\n return async;\n}\n","// This icon file is generated automatically.\nvar WarningFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"warning\", \"theme\": \"filled\" };\nexport default WarningFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport WarningFilledSvg from \"@ant-design/icons-svg/es/asn/WarningFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar WarningFilled = function WarningFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: WarningFilledSvg\n }));\n};\n\nWarningFilled.displayName = 'WarningFilled';\nexport default /*#__PURE__*/React.forwardRef(WarningFilled);","import * as React from 'react';\n\nvar NoFound = function NoFound() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"252\",\n height: \"294\"\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .387h251.772v251.772H0z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .012)\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48\",\n fill: \"#1890FF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165\",\n fill: \"#7BB2F9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.275 222.1s2.773-1.11 6.102-3.884\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z\",\n fill: \"#520038\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254\",\n fill: \"#552950\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M110.13 74.84l-.896 1.61-.298 4.357h-2.228\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.846 74.481s1.79-.716 2.506.537\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.287 72.93s1.83 1.113 4.137.954\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.118\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.405 122.865s-5.272 7.403-9.422 10.768\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.306 107.329s.452 4.366-2.127 32.062\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92\",\n fill: \"#F4D19D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83\",\n fill: \"#F4D19D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#CC9B6E\",\n d: \"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#5BA02E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647\",\n fill: \"#92C110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.979 89.48s7.776 5.384 16.6 2.842\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.101\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nexport default NoFound;","import * as React from 'react';\n\nvar ServerError = function ServerError() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"254\",\n height: \"294\"\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 .335h253.49v253.49H0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 293.665h253.49V.401H0z\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 .067)\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134\",\n fill: \"#E4EBF7\",\n mask: \"url(#b)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68\",\n fill: \"#FF603B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z\",\n fill: \"#520038\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26\",\n fill: \"#552950\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M99.206 73.644l-.9 1.62-.3 4.38h-2.24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.926 73.284s1.8-.72 2.52.54\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.326 71.724s1.84 1.12 4.16.96\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.117\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.063\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.136\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69\",\n fill: \"#7BB2F9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.973 219.373s2.882-1.153 6.34-4.034\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.032\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593\",\n stroke: \"#DB836E\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.278 112.533s3.38-3.613 7.575-4.662\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.085\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.375 123.006s9.697-2.745 11.445-.88\",\n stroke: \"#E59788\",\n strokeWidth: \".774\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955\",\n stroke: \"#BFCDDD\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01\",\n fill: \"#A3B4C6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813\",\n fill: \"#A3B4C6\"\n }), /*#__PURE__*/React.createElement(\"mask\", {\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#A3B4C6\",\n mask: \"url(#d)\",\n d: \"M154.098 190.096h70.513v-84.617h-70.513z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751\",\n stroke: \"#7C90A5\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802\",\n fill: \"#FFF\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407\",\n fill: \"#BFCDDD\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.259 207.217v11.52M201.05 207.217v11.52\",\n stroke: \"#A3B4C6\",\n strokeWidth: \"1.124\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422\",\n fill: \"#5BA02E\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423\",\n fill: \"#92C110\",\n mask: \"url(#d)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209\",\n fill: \"#F2D7AD\",\n mask: \"url(#d)\"\n })));\n};\n\nexport default ServerError;","import * as React from 'react';\n\nvar Unauthorized = function Unauthorized() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n width: \"251\",\n height: \"294\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023\",\n fill: \"#E4EBF7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z\",\n stroke: \"#FFF\",\n strokeWidth: \"2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#FFF\",\n strokeWidth: \"2\",\n d: \"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321\",\n fill: \"#A26EF4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61\",\n fill: \"#5BA02E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611\",\n fill: \"#92C110\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17\",\n fill: \"#F2D7AD\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.18 94.656s.911 7.41-4.914 13.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437\",\n stroke: \"#E4EBF7\",\n strokeWidth: \".932\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91\",\n fill: \"#FFB594\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103\",\n fill: \"#5C2552\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32\",\n fill: \"#552950\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.132 86.786s5.269 4.957 12.679 2.327\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25\",\n fill: \"#DB836E\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073\",\n stroke: \"#5C2552\",\n strokeWidth: \"1.526\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254\",\n stroke: \"#DB836E\",\n strokeWidth: \"1.145\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M66.508 86.763s-1.598 8.83-6.697 14.078\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.114\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.31 87.934s3.013 4.121 4.06 11.785\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M64.09 84.816s-6.03 9.912-13.607 9.903\",\n stroke: \"#DB836E\",\n strokeWidth: \".795\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73\",\n fill: \"#FFC6A0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.532 85.488s4.588 5.757 11.619 6.214\",\n stroke: \"#DB836E\",\n strokeWidth: \".75\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.708 105.73s-.393 8.564-1.34 13.612\",\n stroke: \"#E4EBF7\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.784 161.512s-3.57-1.488-2.678-7.14\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z\",\n fill: \"#CBD1D1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078\",\n fill: \"#2B0849\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15\",\n fill: \"#A4AABA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954\",\n fill: \"#7BB2F9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.459 220.905s2.759-1.104 6.07-3.863\",\n stroke: \"#648BD8\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806\",\n fill: \"#FFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64\",\n fill: \"#192064\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956\",\n stroke: \"#648BD8\",\n strokeWidth: \"1.051\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nexport default Unauthorized;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport WarningFilled from \"@ant-design/icons/es/icons/WarningFilled\";\nimport { ConfigContext } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport noFound from './noFound';\nimport serverError from './serverError';\nimport unauthorized from './unauthorized';\nexport var IconMap = {\n success: CheckCircleFilled,\n error: CloseCircleFilled,\n info: ExclamationCircleFilled,\n warning: WarningFilled\n};\nexport var ExceptionMap = {\n '404': noFound,\n '500': serverError,\n '403': unauthorized\n}; // ExceptionImageMap keys\n\nvar ExceptionStatus = Object.keys(ExceptionMap);\n/**\n * Render icon if ExceptionStatus includes ,render svg image else render iconNode\n *\n * @param prefixCls\n * @param {status, icon}\n */\n\nvar renderIcon = function renderIcon(prefixCls, _ref) {\n var status = _ref.status,\n icon = _ref.icon;\n var className = classNames(\"\".concat(prefixCls, \"-icon\"));\n devWarning(!(typeof icon === 'string' && icon.length > 2), 'Result', \"`icon` is using ReactNode instead of string naming in v4. Please check `\".concat(icon, \"` at https://ant.design/components/icon\"));\n\n if (ExceptionStatus.includes(\"\".concat(status))) {\n var SVGComponent = ExceptionMap[status];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(className, \" \").concat(prefixCls, \"-image\")\n }, /*#__PURE__*/React.createElement(SVGComponent, null));\n }\n\n var iconNode = /*#__PURE__*/React.createElement(IconMap[status]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, icon || iconNode);\n};\n\nvar renderExtra = function renderExtra(prefixCls, _ref2) {\n var extra = _ref2.extra;\n return extra && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-extra\")\n }, extra);\n};\n\nvar Result = function Result(_ref3) {\n var customizePrefixCls = _ref3.prefixCls,\n customizeClassName = _ref3.className,\n subTitle = _ref3.subTitle,\n title = _ref3.title,\n style = _ref3.style,\n children = _ref3.children,\n _ref3$status = _ref3.status,\n status = _ref3$status === void 0 ? 'info' : _ref3$status,\n icon = _ref3.icon,\n extra = _ref3.extra;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var prefixCls = getPrefixCls('result', customizePrefixCls);\n var className = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(status), customizeClassName, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n style: style\n }, renderIcon(prefixCls, {\n status: status,\n icon: icon\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\")\n }, title), subTitle && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-subtitle\")\n }, subTitle), renderExtra(prefixCls, {\n extra: extra\n }), children && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children));\n};\n\nResult.PRESENTED_IMAGE_403 = ExceptionMap['403'];\nResult.PRESENTED_IMAGE_404 = ExceptionMap['404'];\nResult.PRESENTED_IMAGE_500 = ExceptionMap['500'];\nexport default Result;","import * as React from 'react';\nimport { SpinnerType, SpinnerSize } from './Spinner.types';\nimport { classNamesFunction, DelayedRender, getNativeProps, divProperties } from '../../Utilities';\nimport type { ISpinnerProps, ISpinnerStyleProps, ISpinnerStyles } from './Spinner.types';\n\nconst getClassNames = classNamesFunction();\n\nexport class SpinnerBase extends React.Component {\n public static defaultProps: ISpinnerProps = {\n size: SpinnerSize.medium,\n ariaLive: 'polite',\n labelPosition: 'bottom',\n };\n\n public render() {\n // eslint-disable-next-line deprecation/deprecation\n const { type, size, ariaLabel, ariaLive, styles, label, theme, className, labelPosition } = this.props;\n const statusMessage = ariaLabel;\n const nativeProps = getNativeProps>(this.props, divProperties, ['size']);\n\n // SpinnerType is deprecated. If someone is still using this property, rather than putting the SpinnerType into the\n // ISpinnerStyleProps, we'll map SpinnerType to its equivalent SpinnerSize and pass that in. Once SpinnerType\n // finally goes away we should delete this.\n let styleSize = size;\n if (styleSize === undefined && type !== undefined) {\n // eslint-disable-next-line deprecation/deprecation\n styleSize = type === SpinnerType.large ? SpinnerSize.large : SpinnerSize.medium;\n }\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n size: styleSize,\n className,\n labelPosition,\n });\n\n return (\n
\n
\n {label &&
{label}
}\n {statusMessage && (\n
\n \n
{statusMessage}
\n
\n
\n )}\n
\n );\n }\n}\n","import { SpinnerSize } from './Spinner.types';\nimport {\n hiddenContentStyle,\n keyframes,\n HighContrastSelector,\n getGlobalClassNames,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport type { ISpinnerStyleProps, ISpinnerStyles } from './Spinner.types';\n\nconst GlobalClassNames = {\n root: 'ms-Spinner',\n circle: 'ms-Spinner-circle',\n label: 'ms-Spinner-label',\n};\n\nconst spinAnimation = memoizeFunction(() =>\n keyframes({\n '0%': {\n transform: 'rotate(0deg)',\n },\n '100%': {\n transform: 'rotate(360deg)',\n },\n }),\n);\n\nexport const getStyles = (props: ISpinnerStyleProps): ISpinnerStyles => {\n const { theme, size, className, labelPosition } = props;\n\n const { palette } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n },\n labelPosition === 'top' && {\n flexDirection: 'column-reverse',\n },\n labelPosition === 'right' && {\n flexDirection: 'row',\n },\n labelPosition === 'left' && {\n flexDirection: 'row-reverse',\n },\n className,\n ],\n circle: [\n classNames.circle,\n {\n boxSizing: 'border-box',\n borderRadius: '50%',\n border: '1.5px solid ' + palette.themeLight,\n borderTopColor: palette.themePrimary,\n animationName: spinAnimation(),\n animationDuration: '1.3s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'cubic-bezier(.53,.21,.29,.67)',\n selectors: {\n [HighContrastSelector]: {\n borderTopColor: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n size === SpinnerSize.xSmall && [\n 'ms-Spinner--xSmall',\n {\n width: 12,\n height: 12,\n },\n ],\n size === SpinnerSize.small && [\n 'ms-Spinner--small',\n {\n width: 16,\n height: 16,\n },\n ],\n size === SpinnerSize.medium && [\n 'ms-Spinner--medium',\n {\n width: 20,\n height: 20,\n },\n ],\n size === SpinnerSize.large && [\n 'ms-Spinner--large',\n {\n width: 28,\n height: 28,\n },\n ],\n ],\n label: [\n classNames.label,\n theme.fonts.small,\n {\n color: palette.themePrimary,\n margin: '8px 0 0',\n textAlign: 'center',\n },\n labelPosition === 'top' && {\n margin: '0 0 8px',\n },\n labelPosition === 'right' && {\n margin: '0 0 0 8px',\n },\n labelPosition === 'left' && {\n margin: '0 8px 0 0',\n },\n ],\n screenReaderText: hiddenContentStyle,\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { SpinnerBase } from './Spinner.base';\nimport { getStyles } from './Spinner.styles';\nimport type { ISpinnerProps, ISpinnerStyles, ISpinnerStyleProps } from './Spinner.types';\n\nexport const Spinner: React.FunctionComponent = styled<\n ISpinnerProps,\n ISpinnerStyleProps,\n ISpinnerStyles\n>(SpinnerBase, getStyles, undefined, { scope: 'Spinner' });\n","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, namespaces.join()]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import { elementContainsAttribute } from './dom/elementContainsAttribute';\nimport { elementContains } from './dom/elementContains';\nimport { getParent } from './dom/getParent';\nimport { getWindow } from './dom/getWindow';\nimport { getDocument } from './dom/getDocument';\n\nconst IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nconst IS_VISIBLE_ATTRIBUTE = 'data-is-visible';\nconst FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nconst FOCUSZONE_SUB_ATTRIBUTE = 'data-is-sub-focuszone';\n\n/**\n * Gets the first focusable element.\n *\n * @public\n */\nexport function getFirstFocusable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n): HTMLElement | null {\n return getNextElement(\n rootElement,\n currentElement,\n true /*checkNode*/,\n false /*suppressParentTraversal*/,\n false /*suppressChildTraversal*/,\n includeElementsInFocusZones,\n );\n}\n\n/**\n * Gets the last focusable element.\n *\n * @public\n */\nexport function getLastFocusable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n): HTMLElement | null {\n return getPreviousElement(\n rootElement,\n currentElement,\n true /*checkNode*/,\n false /*suppressParentTraversal*/,\n true /*traverseChildren*/,\n includeElementsInFocusZones,\n );\n}\n\n/**\n * Gets the first tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues forward. Typical use passes rootElement.firstChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getFirstTabbable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n checkNode: boolean = true,\n): HTMLElement | null {\n return getNextElement(\n rootElement,\n currentElement,\n checkNode,\n false /*suppressParentTraversal*/,\n false /*suppressChildTraversal*/,\n includeElementsInFocusZones,\n false /*allowFocusRoot*/,\n true /*tabbable*/,\n );\n}\n\n/**\n * Gets the last tabbable element. (The difference between focusable and tabbable is that tabbable elements are\n * focusable elements that also have tabIndex != -1.)\n * @param rootElement - The parent element to search beneath.\n * @param currentElement - The descendant of rootElement to start the search at. This element is the first one checked,\n * and iteration continues in reverse. Typical use passes rootElement.lastChild.\n * @param includeElementsInFocusZones - true if traversal should go into FocusZone descendants.\n * @param checkNode - Include currentElement in search when true. Defaults to true.\n * @public\n */\nexport function getLastTabbable(\n rootElement: HTMLElement,\n currentElement: HTMLElement,\n includeElementsInFocusZones?: boolean,\n checkNode: boolean = true,\n): HTMLElement | null {\n return getPreviousElement(\n rootElement,\n currentElement,\n checkNode,\n false /*suppressParentTraversal*/,\n true /*traverseChildren*/,\n includeElementsInFocusZones,\n false /*allowFocusRoot*/,\n true /*tabbable*/,\n );\n}\n\n/**\n * Attempts to focus the first focusable element that is a child or child's child of the rootElement.\n *\n * @public\n * @param rootElement - Element to start the search for a focusable child.\n * @returns True if focus was set, false if it was not.\n */\nexport function focusFirstChild(rootElement: HTMLElement): boolean {\n let element: HTMLElement | null = getNextElement(rootElement, rootElement, true, false, false, true);\n\n if (element) {\n focusAsync(element);\n return true;\n }\n return false;\n}\n\n/**\n * Traverse to find the previous element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n */\nexport function getPreviousElement(\n rootElement: HTMLElement,\n currentElement: HTMLElement | null,\n checkNode?: boolean,\n suppressParentTraversal?: boolean,\n traverseChildren?: boolean,\n includeElementsInFocusZones?: boolean,\n allowFocusRoot?: boolean,\n tabbable?: boolean,\n): HTMLElement | null {\n if (!currentElement || (!allowFocusRoot && currentElement === rootElement)) {\n return null;\n }\n\n let isCurrentElementVisible = isElementVisible(currentElement);\n\n // Check its children.\n if (\n traverseChildren &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))\n ) {\n const childMatch = getPreviousElement(\n rootElement,\n currentElement.lastElementChild as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (childMatch) {\n if ((tabbable && isElementTabbable(childMatch, true)) || !tabbable) {\n return childMatch;\n }\n\n const childMatchSiblingMatch = getPreviousElement(\n rootElement,\n childMatch.previousElementSibling as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n if (childMatchSiblingMatch) {\n return childMatchSiblingMatch;\n }\n\n let childMatchParent = childMatch.parentElement;\n\n // At this point if we have not found any potential matches\n // start looking at the rest of the subtree under the currentParent.\n // NOTE: We do not want to recurse here because doing so could\n // cause elements to get skipped.\n while (childMatchParent && childMatchParent !== currentElement) {\n const childMatchParentMatch = getPreviousElement(\n rootElement,\n childMatchParent.previousElementSibling as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (childMatchParentMatch) {\n return childMatchParentMatch;\n }\n\n childMatchParent = childMatchParent.parentElement;\n }\n }\n }\n\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n\n // Check its previous sibling.\n const siblingMatch = getPreviousElement(\n rootElement,\n currentElement.previousElementSibling as HTMLElement,\n true,\n true,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (siblingMatch) {\n return siblingMatch;\n }\n\n // Check its parent.\n if (!suppressParentTraversal) {\n return getPreviousElement(\n rootElement,\n currentElement.parentElement,\n true,\n false,\n false,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n }\n\n return null;\n}\n\n/**\n * Traverse to find the next focusable element.\n * If tabbable is true, the element must have tabIndex != -1.\n *\n * @public\n * @param checkNode - Include currentElement in search when true.\n */\nexport function getNextElement(\n rootElement: HTMLElement,\n currentElement: HTMLElement | null,\n checkNode?: boolean,\n suppressParentTraversal?: boolean,\n suppressChildTraversal?: boolean,\n includeElementsInFocusZones?: boolean,\n allowFocusRoot?: boolean,\n tabbable?: boolean,\n): HTMLElement | null {\n if (!currentElement || (currentElement === rootElement && suppressChildTraversal && !allowFocusRoot)) {\n return null;\n }\n\n let isCurrentElementVisible = isElementVisible(currentElement);\n\n // Check the current node, if it's not the first traversal.\n if (checkNode && isCurrentElementVisible && isElementTabbable(currentElement, tabbable)) {\n return currentElement;\n }\n\n // Check its children.\n if (\n !suppressChildTraversal &&\n isCurrentElementVisible &&\n (includeElementsInFocusZones || !(isElementFocusZone(currentElement) || isElementFocusSubZone(currentElement)))\n ) {\n const childMatch = getNextElement(\n rootElement,\n currentElement.firstElementChild as HTMLElement,\n true,\n true,\n false,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (childMatch) {\n return childMatch;\n }\n }\n\n if (currentElement === rootElement) {\n return null;\n }\n\n // Check its sibling.\n const siblingMatch = getNextElement(\n rootElement,\n currentElement.nextElementSibling as HTMLElement,\n true,\n true,\n false,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n\n if (siblingMatch) {\n return siblingMatch;\n }\n\n if (!suppressParentTraversal) {\n return getNextElement(\n rootElement,\n currentElement.parentElement,\n false,\n false,\n true,\n includeElementsInFocusZones,\n allowFocusRoot,\n tabbable,\n );\n }\n\n return null;\n}\n\n/**\n * Determines if an element is visible.\n *\n * @public\n */\nexport function isElementVisible(element: HTMLElement | undefined | null): boolean {\n // If the element is not valid, return false.\n if (!element || !element.getAttribute) {\n return false;\n }\n\n const visibilityAttribute = element.getAttribute(IS_VISIBLE_ATTRIBUTE);\n\n // If the element is explicitly marked with the visibility attribute, return that value as boolean.\n if (visibilityAttribute !== null && visibilityAttribute !== undefined) {\n return visibilityAttribute === 'true';\n }\n\n // Fallback to other methods of determining actual visibility.\n return (\n element.offsetHeight !== 0 ||\n element.offsetParent !== null ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (element as any).isVisible === true\n ); // used as a workaround for testing.\n}\n\n/**\n * Determines if an element can receive focus programmatically or via a mouse click.\n * If checkTabIndex is true, additionally checks to ensure the element can be focused with the tab key,\n * meaning tabIndex != -1.\n *\n * @public\n */\nexport function isElementTabbable(element: HTMLElement, checkTabIndex?: boolean): boolean {\n // If this element is null or is disabled, it is not considered tabbable.\n if (!element || (element as HTMLButtonElement).disabled) {\n return false;\n }\n\n let tabIndex = 0;\n let tabIndexAttributeValue = null;\n\n if (element && element.getAttribute) {\n tabIndexAttributeValue = element.getAttribute('tabIndex');\n\n if (tabIndexAttributeValue) {\n tabIndex = parseInt(tabIndexAttributeValue, 10);\n }\n }\n\n let isFocusableAttribute = element.getAttribute ? element.getAttribute(IS_FOCUSABLE_ATTRIBUTE) : null;\n let isTabIndexSet = tabIndexAttributeValue !== null && tabIndex >= 0;\n\n const result =\n !!element &&\n isFocusableAttribute !== 'false' &&\n (element.tagName === 'A' ||\n element.tagName === 'BUTTON' ||\n element.tagName === 'INPUT' ||\n element.tagName === 'TEXTAREA' ||\n element.tagName === 'SELECT' ||\n isFocusableAttribute === 'true' ||\n isTabIndexSet);\n\n return checkTabIndex ? tabIndex !== -1 && result : result;\n}\n\n/**\n * Determines if a given element is a focus zone.\n *\n * @public\n */\nexport function isElementFocusZone(element?: HTMLElement): boolean {\n return !!(element && element.getAttribute && !!element.getAttribute(FOCUSZONE_ID_ATTRIBUTE));\n}\n\n/**\n * Determines if a given element is a focus sub zone.\n *\n * @public\n */\nexport function isElementFocusSubZone(element?: HTMLElement): boolean {\n return !!(element && element.getAttribute && element.getAttribute(FOCUSZONE_SUB_ATTRIBUTE) === 'true');\n}\n\n/**\n * Determines if an element, or any of its children, contain focus.\n *\n * @public\n */\nexport function doesElementContainFocus(element: HTMLElement): boolean {\n let document = getDocument(element);\n let currentActiveElement: HTMLElement | undefined = document && (document.activeElement as HTMLElement);\n if (currentActiveElement && elementContains(element, currentActiveElement)) {\n return true;\n }\n return false;\n}\n\n/**\n * Determines if an, or any of its ancestors, sepcificies that it doesn't want focus to wrap\n * @param element - element to start searching from\n * @param noWrapDataAttribute - the no wrap data attribute to match (either)\n * @returns true if focus should wrap, false otherwise\n */\nexport function shouldWrapFocus(\n element: HTMLElement,\n noWrapDataAttribute: 'data-no-vertical-wrap' | 'data-no-horizontal-wrap',\n): boolean {\n return elementContainsAttribute(element, noWrapDataAttribute) === 'true' ? false : true;\n}\n\nlet targetToFocusOnNextRepaint: HTMLElement | { focus: () => void } | null | undefined = undefined;\n\n/**\n * Sets focus to an element asynchronously. The focus will be set at the next browser repaint,\n * meaning it won't cause any extra recalculations. If more than one focusAsync is called during one frame,\n * only the latest called focusAsync element will actually be focused\n * @param element - The element to focus\n */\nexport function focusAsync(element: HTMLElement | { focus: () => void } | undefined | null): void {\n if (element) {\n // An element was already queued to be focused, so replace that one with the new element\n if (targetToFocusOnNextRepaint) {\n targetToFocusOnNextRepaint = element;\n return;\n }\n\n targetToFocusOnNextRepaint = element;\n\n const win = getWindow(element as Element);\n\n if (win) {\n // element.focus() is a no-op if the element is no longer in the DOM, meaning this is always safe\n win.requestAnimationFrame(() => {\n targetToFocusOnNextRepaint && targetToFocusOnNextRepaint.focus();\n\n // We are done focusing for this frame, so reset the queued focus element\n targetToFocusOnNextRepaint = undefined;\n });\n }\n }\n}\n\n/**\n * Finds the closest focusable element via an index path from a parent. See\n * `getElementIndexPath` for getting an index path from an element to a child.\n */\nexport function getFocusableByIndexPath(parent: HTMLElement, path: number[]): HTMLElement | undefined {\n let element = parent;\n\n for (const index of path) {\n const nextChild = element.children[Math.min(index, element.children.length - 1)] as HTMLElement;\n\n if (!nextChild) {\n break;\n }\n element = nextChild;\n }\n\n element =\n isElementTabbable(element) && isElementVisible(element)\n ? element\n : getNextElement(parent, element, true) || getPreviousElement(parent, element)!;\n\n return element as HTMLElement;\n}\n\n/**\n * Finds the element index path from a parent element to a child element.\n *\n * If you had this node structure: \"A has children [B, C] and C has child D\",\n * the index path from A to D would be [1, 0], or `parent.chidren[1].children[0]`.\n */\nexport function getElementIndexPath(fromElement: HTMLElement, toElement: HTMLElement): number[] {\n const path: number[] = [];\n\n while (toElement && fromElement && toElement !== fromElement) {\n const parent = getParent(toElement, true);\n\n if (parent === null) {\n return [];\n }\n\n path.unshift(Array.prototype.indexOf.call(parent.children, toElement));\n toElement = parent;\n }\n\n return path;\n}\n","import { findElementRecursive } from './findElementRecursive';\n\n/**\n * Determines if an element, or any of its ancestors, contain the given attribute\n * @param element - element to start searching at\n * @param attribute - the attribute to search for\n * @returns the value of the first instance found\n */\nexport function elementContainsAttribute(element: HTMLElement, attribute: string): string | null {\n const elementMatch = findElementRecursive(element, (testElement: HTMLElement) => testElement.hasAttribute(attribute));\n\n return elementMatch && elementMatch.getAttribute(attribute);\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import * as React from 'react';\n\n/**\n * A Ref function which can be treated like a ref object in that it has an attached\n * current property, which will be updated as the ref is evaluated.\n */\nexport type RefObjectFunction = React.RefObject & ((value: T) => void);\n\n/**\n * React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that\n * updates all provided refs\n * @param refs - Refs to collectively update with one ref value.\n * @returns A function with an attached \"current\" prop, so that it can be treated like a RefObject.\n */\nexport function useMergedRefs(...refs: (React.Ref | undefined)[]): RefObjectFunction {\n const mergedCallback: RefObjectFunction = (React.useCallback(\n (value: T) => {\n // Update the \"current\" prop hanging on the function.\n ((mergedCallback as unknown) as React.MutableRefObject).current = value;\n\n for (const ref of refs) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n // work around the immutability of the React.Ref type\n ((ref as unknown) as React.MutableRefObject).current = value;\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive\n [...refs],\n ) as unknown) as RefObjectFunction;\n\n return mergedCallback;\n}\n","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport classNames from 'classnames';\nimport List from 'rc-virtual-list';\nimport TransBtn from './TransBtn';\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\n\nvar OptionList = function OptionList(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n flattenOptions = _ref.flattenOptions,\n childrenAsData = _ref.childrenAsData,\n values = _ref.values,\n searchValue = _ref.searchValue,\n multiple = _ref.multiple,\n defaultActiveFirstOption = _ref.defaultActiveFirstOption,\n height = _ref.height,\n itemHeight = _ref.itemHeight,\n notFoundContent = _ref.notFoundContent,\n open = _ref.open,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n virtual = _ref.virtual,\n onSelect = _ref.onSelect,\n onToggleOpen = _ref.onToggleOpen,\n onActiveValue = _ref.onActiveValue,\n onScroll = _ref.onScroll,\n onMouseEnter = _ref.onMouseEnter;\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n }); // =========================== List ===========================\n\n var listRef = React.useRef(null);\n\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n\n var scrollIntoView = function scrollIntoView(index) {\n if (listRef.current) {\n listRef.current.scrollTo({\n index: index\n });\n }\n }; // ========================== Active ==========================\n\n\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n\n if (!group && !data.disabled) {\n return current;\n }\n }\n\n return -1;\n };\n\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n }; // Trigger active event\n\n var flattenItem = memoFlattenOptions[index];\n\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n\n onActiveValue(flattenItem.data.value, index, info);\n }; // Auto active first item when list length or searchValue changed\n\n\n React.useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]); // Auto scroll to item position in single mode\n\n React.useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && values.size === 1) {\n var value = Array.from(values)[0];\n var index = memoFlattenOptions.findIndex(function (_ref2) {\n var data = _ref2.data;\n return data.value === value;\n });\n setActive(index);\n scrollIntoView(index);\n }\n }); // Force trigger scrollbar visible when open\n\n if (open) {\n var _listRef$current;\n\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(undefined);\n }\n\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open]); // ========================== Values ==========================\n\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !values.has(value)\n });\n } // Single mode should always close by select\n\n\n if (!multiple) {\n onToggleOpen(false);\n }\n }; // ========================= Keyboard =========================\n\n\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which;\n\n switch (which) {\n // >>> Arrow keys\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n }\n\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n\n break;\n }\n // >>> Select\n\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n\n if (item && !item.data.disabled) {\n onSelectValue(item.data.value);\n } else {\n onSelectValue(undefined);\n }\n\n if (open) {\n event.preventDefault();\n }\n\n break;\n }\n // >>> Close\n\n case KeyCode.ESC:\n {\n onToggleOpen(false);\n\n if (open) {\n event.stopPropagation();\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n }); // ========================== Render ==========================\n\n if (memoFlattenOptions.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n\n function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value,\n label = itemData.label,\n children = itemData.children;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = childrenAsData ? children : label;\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' ? mergedLabel : null\n }, attrs, {\n key: index,\n role: \"option\",\n id: \"\".concat(id, \"_list_\").concat(index),\n \"aria-selected\": values.has(value)\n }), value) : null;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n style: {\n height: 0,\n width: 0,\n overflow: 'hidden'\n }\n }, renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/React.createElement(List, {\n itemKey: \"key\",\n ref: listRef,\n data: memoFlattenOptions,\n height: height,\n itemHeight: itemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onScroll,\n virtual: virtual,\n onMouseEnter: onMouseEnter\n }, function (_ref3, itemIndex) {\n var _classNames;\n\n var group = _ref3.group,\n groupOption = _ref3.groupOption,\n data = _ref3.data;\n var label = data.label,\n key = data.key; // Group\n\n if (group) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\"))\n }, label !== undefined ? label : key);\n }\n\n var disabled = data.disabled,\n value = data.value,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, [\"disabled\", \"value\", \"title\", \"children\", \"style\", \"className\"]); // Option\n\n\n var selected = values.has(value);\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-selected\"), selected), _classNames));\n var mergedLabel = childrenAsData ? children : label;\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n var content = mergedLabel || value; // https://github.com/ant-design/ant-design/issues/26717\n\n var optionTitle = typeof content === 'string' || typeof content === 'number' ? content.toString() : undefined;\n\n if (title !== undefined) {\n optionTitle = title;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, otherProps, {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, content), /*#__PURE__*/React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\n\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\n\nOption.isSelectOption = true;\nexport default Option;","/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\n\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\n\nfunction convertNodeToOption(node) {\n var key = node.key,\n _node$props = node.props,\n children = _node$props.children,\n value = _node$props.value,\n restProps = _objectWithoutProperties(_node$props, [\"children\", \"value\"]);\n\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\n\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return null;\n }\n\n var isSelectOptGroup = node.type.isSelectOptGroup,\n key = node.key,\n _node$props2 = node.props,\n children = _node$props2.children,\n restProps = _objectWithoutProperties(_node$props2, [\"children\"]);\n\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport warning, { noteOnce } from \"rc-util/es/warning\";\nimport toNodeArray from \"rc-util/es/Children/toArray\";\nimport { convertChildrenToData } from './legacyUtil';\nimport { toArray } from './commonUtil';\n\nfunction warningProps(props) {\n var mode = props.mode,\n options = props.options,\n children = props.children,\n backfill = props.backfill,\n allowClear = props.allowClear,\n placeholder = props.placeholder,\n getInputElement = props.getInputElement,\n showSearch = props.showSearch,\n onSearch = props.onSearch,\n defaultOpen = props.defaultOpen,\n autoFocus = props.autoFocus,\n labelInValue = props.labelInValue,\n value = props.value,\n inputValue = props.inputValue,\n optionLabelProp = props.optionLabelProp;\n var multiple = mode === 'multiple' || mode === 'tags';\n var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === 'combobox';\n var mergedOptions = options || convertChildrenToData(children); // `tags` should not set option as disabled\n\n warning(mode !== 'tags' || mergedOptions.every(function (opt) {\n return !opt.disabled;\n }), 'Please avoid setting option to disabled in tags mode since user can always type text as tag.'); // `combobox` & `tags` should option be `string` type\n\n if (mode === 'tags' || mode === 'combobox') {\n var hasNumberValue = mergedOptions.some(function (item) {\n if (item.options) {\n return item.options.some(function (opt) {\n return typeof ('value' in opt ? opt.value : opt.key) === 'number';\n });\n }\n\n return typeof ('value' in item ? item.value : item.key) === 'number';\n });\n warning(!hasNumberValue, '`value` of Option should not use number type when `mode` is `tags` or `combobox`.');\n } // `combobox` should not use `optionLabelProp`\n\n\n warning(mode !== 'combobox' || !optionLabelProp, '`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.'); // Only `combobox` support `backfill`\n\n warning(mode === 'combobox' || !backfill, '`backfill` only works with `combobox` mode.'); // Only `combobox` support `getInputElement`\n\n warning(mode === 'combobox' || !getInputElement, '`getInputElement` only work with `combobox` mode.'); // Customize `getInputElement` should not use `allowClear` & `placeholder`\n\n noteOnce(mode !== 'combobox' || !getInputElement || !allowClear || !placeholder, 'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.'); // `onSearch` should use in `combobox` or `showSearch`\n\n if (onSearch && !mergedShowSearch && mode !== 'combobox' && mode !== 'tags') {\n warning(false, '`onSearch` should work with `showSearch` instead of use alone.');\n }\n\n noteOnce(!defaultOpen || autoFocus, '`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.');\n\n if (value !== undefined && value !== null) {\n var values = toArray(value);\n warning(!labelInValue || values.every(function (val) {\n return _typeof(val) === 'object' && ('key' in val || 'value' in val);\n }), '`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`');\n warning(!multiple || Array.isArray(value), '`value` should be array when `mode` is `multiple` or `tags`');\n } // Syntactic sugar should use correct children type\n\n\n if (children) {\n var invalidateChildType = null;\n toNodeArray(children).some(function (node) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return false;\n }\n\n var type = node.type;\n\n if (type.isSelectOption) {\n return false;\n }\n\n if (type.isSelectOptGroup) {\n var allChildrenValid = toNodeArray(node.props.children).every(function (subNode) {\n if (! /*#__PURE__*/React.isValidElement(subNode) || !node.type || subNode.type.isSelectOption) {\n return true;\n }\n\n invalidateChildType = subNode.type;\n return false;\n });\n\n if (allChildrenValid) {\n return false;\n }\n\n return true;\n }\n\n invalidateChildType = type;\n return true;\n });\n\n if (invalidateChildType) {\n warning(false, \"`children` should be `Select.Option` or `Select.OptGroup` instead of `\".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, \"`.\"));\n }\n\n warning(inputValue === undefined, '`inputValue` is deprecated, please use `searchValue` instead.');\n }\n}\n\nexport default warningProps;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\nimport * as React from 'react';\nimport SelectOptionList from './OptionList';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport { convertChildrenToData as convertSelectChildrenToData } from './utils/legacyUtil';\nimport { getLabeledValue as getSelectLabeledValue, filterOptions as selectDefaultFilterOptions, isValueDisabled as isSelectValueDisabled, findValueOption as findSelectValueOption, flattenOptions, fillOptionsWithMissingValue } from './utils/valueUtil';\nimport generateSelector from './generate';\nimport warningProps from './utils/warningPropsUtil';\nvar RefSelect = generateSelector({\n prefixCls: 'rc-select',\n components: {\n optionList: SelectOptionList\n },\n convertChildrenToData: convertSelectChildrenToData,\n flattenOptions: flattenOptions,\n getLabeledValue: getSelectLabeledValue,\n filterOptions: selectDefaultFilterOptions,\n isValueDisabled: isSelectValueDisabled,\n findValueOption: findSelectValueOption,\n warningProps: warningProps,\n fillOptionsWithMissingValue: fillOptionsWithMissingValue\n});\n/**\n * Typescript not support generic with function component,\n * we have to wrap an class component to handle this.\n */\n\nvar Select = /*#__PURE__*/function (_React$Component) {\n _inherits(Select, _React$Component);\n\n var _super = _createSuper(Select);\n\n function Select() {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.apply(this, arguments);\n _this.selectRef = /*#__PURE__*/React.createRef();\n\n _this.focus = function () {\n _this.selectRef.current.focus();\n };\n\n _this.blur = function () {\n _this.selectRef.current.blur();\n };\n\n return _this;\n }\n\n _createClass(Select, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(RefSelect, _extends({\n ref: this.selectRef\n }, this.props));\n }\n }]);\n\n return Select;\n}(React.Component);\n\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nexport default Select;","import Select from './Select';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nexport { Option, OptGroup };\nexport default Select;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport omit from \"rc-util/es/omit\";\nimport classNames from 'classnames';\nimport RcSelect, { Option, OptGroup } from 'rc-select';\nimport { ConfigContext } from '../config-provider';\nimport getIcons from './utils/iconUtil';\nimport SizeContext from '../config-provider/SizeContext';\nimport { getTransitionName } from '../_util/motion';\nvar SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\n\nvar InternalSelect = function InternalSelect(_a, ref) {\n var _classNames2;\n\n var customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n className = _a.className,\n getPopupContainer = _a.getPopupContainer,\n dropdownClassName = _a.dropdownClassName,\n _a$listHeight = _a.listHeight,\n listHeight = _a$listHeight === void 0 ? 256 : _a$listHeight,\n _a$listItemHeight = _a.listItemHeight,\n listItemHeight = _a$listItemHeight === void 0 ? 24 : _a$listItemHeight,\n customizeSize = _a.size,\n notFoundContent = _a.notFoundContent,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"className\", \"getPopupContainer\", \"dropdownClassName\", \"listHeight\", \"listItemHeight\", \"size\", \"notFoundContent\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n renderEmpty = _React$useContext.renderEmpty,\n direction = _React$useContext.direction,\n virtual = _React$useContext.virtual,\n dropdownMatchSelectWidth = _React$useContext.dropdownMatchSelectWidth;\n\n var size = React.useContext(SizeContext);\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var mode = React.useMemo(function () {\n var m = props.mode;\n\n if (m === 'combobox') {\n return undefined;\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n\n return m;\n }, [props.mode]);\n var isMultiple = mode === 'multiple' || mode === 'tags'; // ===================== Empty =====================\n\n var mergedNotFound;\n\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = renderEmpty('Select');\n } // ===================== Icons =====================\n\n\n var _getIcons = getIcons(_extends(_extends({}, props), {\n multiple: isMultiple,\n prefixCls: prefixCls\n })),\n suffixIcon = _getIcons.suffixIcon,\n itemIcon = _getIcons.itemIcon,\n removeIcon = _getIcons.removeIcon,\n clearIcon = _getIcons.clearIcon;\n\n var selectProps = omit(props, ['suffixIcon', 'itemIcon']);\n var rcSelectRtlDropDownClassName = classNames(dropdownClassName, _defineProperty({}, \"\".concat(prefixCls, \"-dropdown-\").concat(direction), direction === 'rtl'));\n var mergedSize = customizeSize || size;\n var mergedClassName = classNames((_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-lg\"), mergedSize === 'large'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-sm\"), mergedSize === 'small'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames2), className);\n return /*#__PURE__*/React.createElement(RcSelect, _extends({\n ref: ref,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }, selectProps, {\n transitionName: getTransitionName(rootPrefixCls, 'slide-up', props.transitionName),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n direction: direction,\n inputIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n clearIcon: clearIcon,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropDownClassName\n }));\n};\n\nvar SelectRef = /*#__PURE__*/React.forwardRef(InternalSelect);\nvar Select = SelectRef;\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nexport default Select;","import * as React from 'react';\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nexport default function getIcons(_ref) {\n var suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n removeIcon = _ref.removeIcon,\n loading = _ref.loading,\n multiple = _ref.multiple,\n prefixCls = _ref.prefixCls;\n // Clear Icon\n var mergedClearIcon = clearIcon;\n\n if (!clearIcon) {\n mergedClearIcon = /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n } // Arrow item icon\n\n\n var mergedSuffixIcon = null;\n\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = suffixIcon;\n } else if (loading) {\n mergedSuffixIcon = /*#__PURE__*/React.createElement(LoadingOutlined, {\n spin: true\n });\n } else {\n var iconCls = \"\".concat(prefixCls, \"-suffix\");\n\n mergedSuffixIcon = function mergedSuffixIcon(_ref2) {\n var open = _ref2.open,\n showSearch = _ref2.showSearch;\n\n if (open && showSearch) {\n return /*#__PURE__*/React.createElement(SearchOutlined, {\n className: iconCls\n });\n }\n\n return /*#__PURE__*/React.createElement(DownOutlined, {\n className: iconCls\n });\n };\n } // Checked item icon\n\n\n var mergedItemIcon = null;\n\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon;\n } else if (multiple) {\n mergedItemIcon = /*#__PURE__*/React.createElement(CheckOutlined, null);\n } else {\n mergedItemIcon = null;\n }\n\n var mergedRemoveIcon = null;\n\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon;\n } else {\n mergedRemoveIcon = /*#__PURE__*/React.createElement(CloseOutlined, null);\n }\n\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Group = function Group(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className;\n var prefixCls = getPrefixCls('input-group', customizePrefixCls);\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), props.size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), props.size === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-compact\"), props.compact), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, props.children);\n });\n};\n\nexport default Group;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport Input from './Input';\nimport Button from '../button';\nimport SizeContext from '../config-provider/SizeContext';\nimport { ConfigContext } from '../config-provider';\nimport { cloneElement } from '../_util/reactNode';\nvar Search = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n className = props.className,\n customizeSize = props.size,\n suffix = props.suffix,\n _props$enterButton = props.enterButton,\n enterButton = _props$enterButton === void 0 ? false : _props$enterButton,\n addonAfter = props.addonAfter,\n loading = props.loading,\n disabled = props.disabled,\n customOnSearch = props.onSearch,\n customOnChange = props.onChange,\n restProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"className\", \"size\", \"suffix\", \"enterButton\", \"addonAfter\", \"loading\", \"disabled\", \"onSearch\", \"onChange\"]);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var contextSize = React.useContext(SizeContext);\n var size = customizeSize || contextSize;\n var inputRef = React.useRef(null);\n\n var onChange = function onChange(e) {\n if (e && e.target && e.type === 'click' && customOnSearch) {\n customOnSearch(e.target.value, e);\n }\n\n if (customOnChange) {\n customOnChange(e);\n }\n };\n\n var onMouseDown = function onMouseDown(e) {\n var _a;\n\n if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {\n e.preventDefault();\n }\n };\n\n var onSearch = function onSearch(e) {\n var _a;\n\n if (customOnSearch) {\n customOnSearch((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input.value, e);\n }\n };\n\n var prefixCls = getPrefixCls('input-search', customizePrefixCls);\n var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n var searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/React.createElement(SearchOutlined, null) : null;\n var btnClassName = \"\".concat(prefixCls, \"-button\");\n var button;\n var enterButtonAsElement = enterButton || {};\n var isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n\n if (isAntdButton || enterButtonAsElement.type === 'button') {\n button = cloneElement(enterButtonAsElement, _extends({\n onMouseDown: onMouseDown,\n onClick: onSearch,\n key: 'enterButton'\n }, isAntdButton ? {\n className: btnClassName,\n size: size\n } : {}));\n } else {\n button = /*#__PURE__*/React.createElement(Button, {\n className: btnClassName,\n type: enterButton ? 'primary' : undefined,\n size: size,\n disabled: disabled,\n key: \"enterButton\",\n onMouseDown: onMouseDown,\n onClick: onSearch,\n loading: loading,\n icon: searchIcon\n }, enterButton);\n }\n\n if (addonAfter) {\n button = [button, cloneElement(addonAfter, {\n key: 'addonAfter'\n })];\n }\n\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(size), !!size), _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-button\"), !!enterButton), _classNames), className);\n return /*#__PURE__*/React.createElement(Input, _extends({\n ref: composeRef(inputRef, ref),\n onPressEnter: onSearch\n }, restProps, {\n size: size,\n prefixCls: inputPrefixCls,\n addonAfter: button,\n suffix: suffix,\n onChange: onChange,\n className: cls,\n disabled: disabled\n }));\n});\nSearch.displayName = 'Search';\nexport default Search;","// This icon file is generated automatically.\nvar EyeInvisibleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z\" } }] }, \"name\": \"eye-invisible\", \"theme\": \"outlined\" };\nexport default EyeInvisibleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeInvisibleOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeInvisibleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\n\nEyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeInvisibleOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport EyeInvisibleOutlined from \"@ant-design/icons/es/icons/EyeInvisibleOutlined\";\nimport { useState } from 'react';\nimport { ConfigConsumer } from '../config-provider';\nimport Input from './Input';\nvar ActionMap = {\n click: 'onClick',\n hover: 'onMouseOver'\n};\nvar Password = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n\n var onVisibleChange = function onVisibleChange() {\n var disabled = props.disabled;\n\n if (disabled) {\n return;\n }\n\n setVisible(!visible);\n };\n\n var getIcon = function getIcon(prefixCls) {\n var _iconProps;\n\n var action = props.action,\n _props$iconRender = props.iconRender,\n iconRender = _props$iconRender === void 0 ? function () {\n return null;\n } : _props$iconRender;\n var iconTrigger = ActionMap[action] || '';\n var icon = iconRender(visible);\n var iconProps = (_iconProps = {}, _defineProperty(_iconProps, iconTrigger, onVisibleChange), _defineProperty(_iconProps, \"className\", \"\".concat(prefixCls, \"-icon\")), _defineProperty(_iconProps, \"key\", 'passwordIcon'), _defineProperty(_iconProps, \"onMouseDown\", function onMouseDown(e) {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n }), _defineProperty(_iconProps, \"onMouseUp\", function onMouseUp(e) {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }), _iconProps);\n return /*#__PURE__*/React.cloneElement( /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(\"span\", null, icon), iconProps);\n };\n\n var renderPassword = function renderPassword(_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n\n var className = props.className,\n customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n size = props.size,\n visibilityToggle = props.visibilityToggle,\n restProps = __rest(props, [\"className\", \"prefixCls\", \"inputPrefixCls\", \"size\", \"visibilityToggle\"]);\n\n var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n var prefixCls = getPrefixCls('input-password', customizePrefixCls);\n var suffixIcon = visibilityToggle && getIcon(prefixCls);\n var inputClassName = classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-\").concat(size), !!size));\n\n var omittedProps = _extends(_extends({}, omit(restProps, ['suffix', 'iconRender'])), {\n type: visible ? 'text' : 'password',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon\n });\n\n if (size) {\n omittedProps.size = size;\n }\n\n return /*#__PURE__*/React.createElement(Input, _extends({\n ref: ref\n }, omittedProps));\n };\n\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, renderPassword);\n});\nPassword.defaultProps = {\n action: 'click',\n visibilityToggle: true,\n iconRender: function iconRender(visible) {\n return visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);\n }\n};\nPassword.displayName = 'Password';\nexport default Password;","import Input from './Input';\nimport Group from './Group';\nimport Search from './Search';\nimport TextArea from './TextArea';\nimport Password from './Password';\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\nexport default Input;","import * as React from 'react';\nvar RadioGroupContext = /*#__PURE__*/React.createContext(null);\nexport var RadioGroupContextProvider = RadioGroupContext.Provider;\nexport default RadioGroupContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport RcCheckbox from 'rc-checkbox';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { ConfigContext } from '../config-provider';\nimport RadioGroupContext from './context';\nimport devWarning from '../_util/devWarning';\n\nvar InternalRadio = function InternalRadio(props, ref) {\n var _classNames;\n\n var context = React.useContext(RadioGroupContext);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var innerRef = React.useRef();\n var mergedRef = composeRef(ref, innerRef);\n React.useEffect(function () {\n devWarning(!('optionType' in props), 'Radio', '`optionType` is only support in Radio.Group.');\n }, []);\n\n var onChange = function onChange(e) {\n var _a, _b;\n\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);\n (_b = context === null || context === void 0 ? void 0 : context.onChange) === null || _b === void 0 ? void 0 : _b.call(context, e);\n };\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n children = props.children,\n style = props.style,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"children\", \"style\"]);\n\n var prefixCls = getPrefixCls('radio', customizePrefixCls);\n\n var radioProps = _extends({}, restProps);\n\n if (context) {\n radioProps.name = context.name;\n radioProps.onChange = onChange;\n radioProps.checked = props.value === context.value;\n radioProps.disabled = props.disabled || context.disabled;\n }\n\n var wrapperClassString = classNames(\"\".concat(prefixCls, \"-wrapper\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-checked\"), radioProps.checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-disabled\"), radioProps.disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrapper-rtl\"), direction === 'rtl'), _classNames), className);\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n React.createElement(\"label\", {\n className: wrapperClassString,\n style: style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave\n }, /*#__PURE__*/React.createElement(RcCheckbox, _extends({}, radioProps, {\n prefixCls: prefixCls,\n ref: mergedRef\n })), children !== undefined ? /*#__PURE__*/React.createElement(\"span\", null, children) : null)\n );\n};\n\nvar Radio = /*#__PURE__*/React.forwardRef(InternalRadio);\nRadio.displayName = 'Radio';\nRadio.defaultProps = {\n type: 'radio'\n};\nexport default Radio;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Radio from './radio';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport { RadioGroupContextProvider } from './context';\nimport getDataOrAriaProps from '../_util/getDataOrAriaProps';\nvar RadioGroup = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var size = React.useContext(SizeContext);\n\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n\n var onRadioChange = function onRadioChange(ev) {\n var lastValue = value;\n var val = ev.target.value;\n\n if (!('value' in props)) {\n setValue(val);\n }\n\n var onChange = props.onChange;\n\n if (onChange && val !== lastValue) {\n onChange(ev);\n }\n };\n\n var renderGroup = function renderGroup() {\n var _classNames;\n\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n options = props.options,\n optionType = props.optionType,\n _props$buttonStyle = props.buttonStyle,\n buttonStyle = _props$buttonStyle === void 0 ? 'outline' : _props$buttonStyle,\n disabled = props.disabled,\n children = props.children,\n customizeSize = props.size,\n style = props.style,\n id = props.id,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave;\n var prefixCls = getPrefixCls('radio', customizePrefixCls);\n var groupPrefixCls = \"\".concat(prefixCls, \"-group\");\n var childrenToRender = children; // 如果存在 options, 优先使用\n\n if (options && options.length > 0) {\n var optionsPrefixCls = optionType === 'button' ? \"\".concat(prefixCls, \"-button\") : prefixCls;\n childrenToRender = options.map(function (option) {\n if (typeof option === 'string') {\n // 此处类型自动推导为 string\n return /*#__PURE__*/React.createElement(Radio, {\n key: option,\n prefixCls: optionsPrefixCls,\n disabled: disabled,\n value: option,\n checked: value === option\n }, option);\n } // 此处类型自动推导为 { label: string value: string }\n\n\n return /*#__PURE__*/React.createElement(Radio, {\n key: \"radio-group-value-options-\".concat(option.value),\n prefixCls: optionsPrefixCls,\n disabled: option.disabled || disabled,\n value: option.value,\n checked: value === option.value,\n style: option.style\n }, option.label);\n });\n }\n\n var mergedSize = customizeSize || size;\n var classString = classNames(groupPrefixCls, \"\".concat(groupPrefixCls, \"-\").concat(buttonStyle), (_classNames = {}, _defineProperty(_classNames, \"\".concat(groupPrefixCls, \"-\").concat(mergedSize), mergedSize), _defineProperty(_classNames, \"\".concat(groupPrefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, getDataOrAriaProps(props), {\n className: classString,\n style: style,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n id: id,\n ref: ref\n }), childrenToRender);\n };\n\n return /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n value: {\n onChange: onRadioChange,\n value: value,\n disabled: props.disabled,\n name: props.name\n }\n }, renderGroup());\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);","import _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport Radio from './radio';\nimport { ConfigContext } from '../config-provider';\nimport RadioGroupContext from './context';\n\nvar RadioButton = function RadioButton(props, ref) {\n var radioGroupContext = React.useContext(RadioGroupContext);\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var customizePrefixCls = props.prefixCls,\n radioProps = __rest(props, [\"prefixCls\"]);\n\n var prefixCls = getPrefixCls('radio-button', customizePrefixCls);\n\n if (radioGroupContext) {\n radioProps.checked = props.value === radioGroupContext.value;\n radioProps.disabled = props.disabled || radioGroupContext.disabled;\n }\n\n return /*#__PURE__*/React.createElement(Radio, _extends({\n prefixCls: prefixCls\n }, radioProps, {\n type: \"radio\",\n ref: ref\n }));\n};\n\nexport default /*#__PURE__*/React.forwardRef(RadioButton);","import InternalRadio from './radio';\nimport Group from './group';\nimport Button from './radioButton';\nvar Radio = InternalRadio;\nRadio.Button = Button;\nRadio.Group = Group;\nexport { Button, Group };\nexport default Radio;","import { createContext } from 'react';\nvar MenuContext = /*#__PURE__*/createContext({\n prefixCls: '',\n firstLevel: true,\n inlineCollapsed: false\n});\nexport default MenuContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { SubMenu as RcSubMenu, useFullPath } from 'rc-menu';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport MenuContext from './MenuContext';\nimport { isValidElement, cloneElement } from '../_util/reactNode';\n\nfunction SubMenu(props) {\n var _a;\n\n var popupClassName = props.popupClassName,\n icon = props.icon,\n title = props.title;\n var context = React.useContext(MenuContext);\n var prefixCls = context.prefixCls,\n inlineCollapsed = context.inlineCollapsed,\n antdMenuTheme = context.antdMenuTheme;\n var parentPath = useFullPath();\n var titleNode;\n\n if (!icon) {\n titleNode = inlineCollapsed && !parentPath.length && title && typeof title === 'string' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inline-collapsed-noicon\")\n }, title.charAt(0)) : /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title-content\")\n }, title);\n } else {\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n var titleIsSpan = isValidElement(title) && title.type === 'span';\n titleNode = /*#__PURE__*/React.createElement(React.Fragment, null, cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', \"\".concat(prefixCls, \"-item-icon\"))\n }), titleIsSpan ? title : /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title-content\")\n }, title));\n }\n\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: _extends(_extends({}, context), {\n firstLevel: false\n })\n }, /*#__PURE__*/React.createElement(RcSubMenu, _extends({}, omit(props, ['icon']), {\n title: titleNode,\n popupClassName: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(antdMenuTheme), popupClassName)\n })));\n}\n\nexport default SubMenu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { Item } from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport classNames from 'classnames';\nimport MenuContext from './MenuContext';\nimport Tooltip from '../tooltip';\nimport { SiderContext } from '../layout/Sider';\nimport { isValidElement, cloneElement } from '../_util/reactNode';\n\nvar MenuItem = /*#__PURE__*/function (_React$Component) {\n _inherits(MenuItem, _React$Component);\n\n var _super = _createSuper(MenuItem);\n\n function MenuItem() {\n var _this;\n\n _classCallCheck(this, MenuItem);\n\n _this = _super.apply(this, arguments);\n\n _this.renderItem = function (_ref) {\n var _classNames;\n\n var siderCollapsed = _ref.siderCollapsed;\n\n var _a;\n\n var _this$context = _this.context,\n prefixCls = _this$context.prefixCls,\n firstLevel = _this$context.firstLevel,\n inlineCollapsed = _this$context.inlineCollapsed,\n direction = _this$context.direction;\n var _this$props = _this.props,\n className = _this$props.className,\n children = _this$props.children;\n\n var _b = _this.props,\n title = _b.title,\n icon = _b.icon,\n danger = _b.danger,\n rest = __rest(_b, [\"title\", \"icon\", \"danger\"]);\n\n var tooltipTitle = title;\n\n if (typeof title === 'undefined') {\n tooltipTitle = firstLevel ? children : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n\n var tooltipProps = {\n title: tooltipTitle\n };\n\n if (!siderCollapsed && !inlineCollapsed) {\n tooltipProps.title = null; // Reset `visible` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n\n tooltipProps.visible = false;\n }\n\n var childrenLength = toArray(children).length;\n return /*#__PURE__*/React.createElement(Tooltip, _extends({}, tooltipProps, {\n placement: direction === 'rtl' ? 'left' : 'right',\n overlayClassName: \"\".concat(prefixCls, \"-inline-collapsed-tooltip\")\n }), /*#__PURE__*/React.createElement(Item, _extends({}, rest, {\n className: classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-danger\"), danger), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-only-child\"), (icon ? childrenLength + 1 : childrenLength) === 1), _classNames), className),\n title: typeof title === 'string' ? title : undefined\n }), cloneElement(icon, {\n className: classNames(isValidElement(icon) ? (_a = icon.props) === null || _a === void 0 ? void 0 : _a.className : '', \"\".concat(prefixCls, \"-item-icon\"))\n }), _this.renderItemChildren(inlineCollapsed)));\n };\n\n return _this;\n }\n\n _createClass(MenuItem, [{\n key: \"renderItemChildren\",\n value: function renderItemChildren(inlineCollapsed) {\n var _this$context2 = this.context,\n prefixCls = _this$context2.prefixCls,\n firstLevel = _this$context2.firstLevel;\n var _this$props2 = this.props,\n icon = _this$props2.icon,\n children = _this$props2.children;\n var wrapNode = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-title-content\")\n }, children); // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n\n if (!icon || isValidElement(children) && children.type === 'span') {\n if (children && inlineCollapsed && firstLevel && typeof children === 'string') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inline-collapsed-noicon\")\n }, children.charAt(0));\n }\n }\n\n return wrapNode;\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(SiderContext.Consumer, null, this.renderItem);\n }\n }]);\n\n return MenuItem;\n}(React.Component);\n\nexport { MenuItem as default };\nMenuItem.contextType = MenuContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport RcMenu, { Divider, ItemGroup } from 'rc-menu';\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport SubMenu from './SubMenu';\nimport Item from './MenuItem';\nimport { ConfigConsumer } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport { SiderContext } from '../layout/Sider';\nimport collapseMotion from '../_util/motion';\nimport { cloneElement } from '../_util/reactNode';\nimport MenuContext from './MenuContext';\n\nvar InternalMenu = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalMenu, _React$Component);\n\n var _super = _createSuper(InternalMenu);\n\n function InternalMenu(props) {\n var _this;\n\n _classCallCheck(this, InternalMenu);\n\n _this = _super.call(this, props);\n\n _this.renderMenu = function (_ref) {\n var getPopupContainer = _ref.getPopupContainer,\n getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n var rootPrefixCls = getPrefixCls();\n\n var _a = _this.props,\n customizePrefixCls = _a.prefixCls,\n className = _a.className,\n theme = _a.theme,\n expandIcon = _a.expandIcon,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"theme\", \"expandIcon\"]);\n\n var passedProps = omit(restProps, ['siderCollapsed', 'collapsedWidth']);\n\n var inlineCollapsed = _this.getInlineCollapsed();\n\n var defaultMotions = {\n horizontal: {\n motionName: \"\".concat(rootPrefixCls, \"-slide-up\")\n },\n inline: collapseMotion,\n other: {\n motionName: \"\".concat(rootPrefixCls, \"-zoom-big\")\n }\n };\n var prefixCls = getPrefixCls('menu', customizePrefixCls);\n var menuClassName = classNames(\"\".concat(prefixCls, \"-\").concat(theme), className);\n return /*#__PURE__*/React.createElement(MenuContext.Provider, {\n value: {\n prefixCls: prefixCls,\n inlineCollapsed: inlineCollapsed || false,\n antdMenuTheme: theme,\n direction: direction,\n firstLevel: true\n }\n }, /*#__PURE__*/React.createElement(RcMenu, _extends({\n getPopupContainer: getPopupContainer,\n overflowedIndicator: /*#__PURE__*/React.createElement(EllipsisOutlined, null),\n overflowedIndicatorPopupClassName: \"\".concat(prefixCls, \"-\").concat(theme)\n }, passedProps, {\n inlineCollapsed: inlineCollapsed,\n className: menuClassName,\n prefixCls: prefixCls,\n direction: direction,\n defaultMotions: defaultMotions,\n expandIcon: cloneElement(expandIcon, {\n className: \"\".concat(prefixCls, \"-submenu-expand-icon\")\n })\n })));\n };\n\n devWarning(!('inlineCollapsed' in props && props.mode !== 'inline'), 'Menu', '`inlineCollapsed` should only be used when `mode` is inline.');\n devWarning(!(props.siderCollapsed !== undefined && 'inlineCollapsed' in props), 'Menu', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.');\n return _this;\n }\n\n _createClass(InternalMenu, [{\n key: \"getInlineCollapsed\",\n value: function getInlineCollapsed() {\n var _this$props = this.props,\n inlineCollapsed = _this$props.inlineCollapsed,\n siderCollapsed = _this$props.siderCollapsed;\n\n if (siderCollapsed !== undefined) {\n return siderCollapsed;\n }\n\n return inlineCollapsed;\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderMenu);\n }\n }]);\n\n return InternalMenu;\n}(React.Component);\n\nInternalMenu.defaultProps = {\n theme: 'light' // or dark\n\n}; // We should keep this as ref-able\n\nvar Menu = /*#__PURE__*/function (_React$Component2) {\n _inherits(Menu, _React$Component2);\n\n var _super2 = _createSuper(Menu);\n\n function Menu() {\n _classCallCheck(this, Menu);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(Menu, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return /*#__PURE__*/React.createElement(SiderContext.Consumer, null, function (context) {\n return /*#__PURE__*/React.createElement(InternalMenu, _extends({}, _this2.props, context));\n });\n }\n }]);\n\n return Menu;\n}(React.Component);\n\nMenu.Divider = Divider;\nMenu.Item = Item;\nMenu.SubMenu = SubMenu;\nMenu.ItemGroup = ItemGroup;\nexport default Menu;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport EllipsisOutlined from \"@ant-design/icons/es/icons/EllipsisOutlined\";\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport Dropdown from './dropdown';\nvar ButtonGroup = Button.Group;\n\nvar DropdownButton = function DropdownButton(props) {\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var customizePrefixCls = props.prefixCls,\n type = props.type,\n disabled = props.disabled,\n onClick = props.onClick,\n htmlType = props.htmlType,\n children = props.children,\n className = props.className,\n overlay = props.overlay,\n trigger = props.trigger,\n align = props.align,\n visible = props.visible,\n onVisibleChange = props.onVisibleChange,\n placement = props.placement,\n getPopupContainer = props.getPopupContainer,\n href = props.href,\n _props$icon = props.icon,\n icon = _props$icon === void 0 ? /*#__PURE__*/React.createElement(EllipsisOutlined, null) : _props$icon,\n title = props.title,\n buttonsRender = props.buttonsRender,\n mouseEnterDelay = props.mouseEnterDelay,\n mouseLeaveDelay = props.mouseLeaveDelay,\n overlayClassName = props.overlayClassName,\n overlayStyle = props.overlayStyle,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"disabled\", \"onClick\", \"htmlType\", \"children\", \"className\", \"overlay\", \"trigger\", \"align\", \"visible\", \"onVisibleChange\", \"placement\", \"getPopupContainer\", \"href\", \"icon\", \"title\", \"buttonsRender\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayClassName\", \"overlayStyle\"]);\n\n var prefixCls = getPrefixCls('dropdown-button', customizePrefixCls);\n var dropdownProps = {\n align: align,\n overlay: overlay,\n disabled: disabled,\n trigger: disabled ? [] : trigger,\n onVisibleChange: onVisibleChange,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n overlayClassName: overlayClassName,\n overlayStyle: overlayStyle\n };\n\n if ('visible' in props) {\n dropdownProps.visible = visible;\n }\n\n if ('placement' in props) {\n dropdownProps.placement = placement;\n } else {\n dropdownProps.placement = direction === 'rtl' ? 'bottomLeft' : 'bottomRight';\n }\n\n var leftButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n disabled: disabled,\n onClick: onClick,\n htmlType: htmlType,\n href: href,\n title: title\n }, children);\n var rightButton = /*#__PURE__*/React.createElement(Button, {\n type: type,\n icon: icon\n });\n\n var _buttonsRender = buttonsRender([leftButton, rightButton]),\n _buttonsRender2 = _slicedToArray(_buttonsRender, 2),\n leftButtonToRender = _buttonsRender2[0],\n rightButtonToRender = _buttonsRender2[1];\n\n return /*#__PURE__*/React.createElement(ButtonGroup, _extends({}, restProps, {\n className: classNames(prefixCls, className)\n }), leftButtonToRender, /*#__PURE__*/React.createElement(Dropdown, dropdownProps, rightButtonToRender));\n};\n\nDropdownButton.__ANT_BUTTON = true;\nDropdownButton.defaultProps = {\n type: 'default',\n buttonsRender: function buttonsRender(buttons) {\n return buttons;\n }\n};\nexport default DropdownButton;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport RcDropdown from 'rc-dropdown';\nimport classNames from 'classnames';\nimport RightOutlined from \"@ant-design/icons/es/icons/RightOutlined\";\nimport DropdownButton from './dropdown-button';\nimport { ConfigContext } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport { tuple } from '../_util/type';\nimport { cloneElement } from '../_util/reactNode';\nvar Placements = tuple('topLeft', 'topCenter', 'topRight', 'bottomLeft', 'bottomCenter', 'bottomRight');\n\nvar Dropdown = function Dropdown(props) {\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var getTransitionName = function getTransitionName() {\n var rootPrefixCls = getPrefixCls();\n var _props$placement = props.placement,\n placement = _props$placement === void 0 ? '' : _props$placement,\n transitionName = props.transitionName;\n\n if (transitionName !== undefined) {\n return transitionName;\n }\n\n if (placement.indexOf('top') >= 0) {\n return \"\".concat(rootPrefixCls, \"-slide-down\");\n }\n\n return \"\".concat(rootPrefixCls, \"-slide-up\");\n };\n\n var renderOverlay = function renderOverlay(prefixCls) {\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n var overlay = props.overlay;\n var overlayNode;\n\n if (typeof overlay === 'function') {\n overlayNode = overlay();\n } else {\n overlayNode = overlay;\n }\n\n overlayNode = React.Children.only(typeof overlayNode === 'string' ? /*#__PURE__*/React.createElement(\"span\", null, overlayNode) : overlayNode);\n var overlayProps = overlayNode.props; // Warning if use other mode\n\n devWarning(!overlayProps.mode || overlayProps.mode === 'vertical', 'Dropdown', \"mode=\\\"\".concat(overlayProps.mode, \"\\\" is not supported for Dropdown's Menu.\")); // menu cannot be selectable in dropdown defaultly\n\n var _overlayProps$selecta = overlayProps.selectable,\n selectable = _overlayProps$selecta === void 0 ? false : _overlayProps$selecta,\n expandIcon = overlayProps.expandIcon;\n var overlayNodeExpandIcon = typeof expandIcon !== 'undefined' && /*#__PURE__*/React.isValidElement(expandIcon) ? expandIcon : /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-menu-submenu-arrow\")\n }, /*#__PURE__*/React.createElement(RightOutlined, {\n className: \"\".concat(prefixCls, \"-menu-submenu-arrow-icon\")\n }));\n var fixedModeOverlay = typeof overlayNode.type === 'string' ? overlayNode : cloneElement(overlayNode, {\n mode: 'vertical',\n selectable: selectable,\n expandIcon: overlayNodeExpandIcon\n });\n return fixedModeOverlay;\n };\n\n var getPlacement = function getPlacement() {\n var placement = props.placement;\n\n if (placement !== undefined) {\n return placement;\n }\n\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n };\n\n var arrow = props.arrow,\n customizePrefixCls = props.prefixCls,\n children = props.children,\n trigger = props.trigger,\n disabled = props.disabled,\n getPopupContainer = props.getPopupContainer,\n overlayClassName = props.overlayClassName;\n var prefixCls = getPrefixCls('dropdown', customizePrefixCls);\n var child = React.Children.only(children);\n var dropdownTrigger = cloneElement(child, {\n className: classNames(\"\".concat(prefixCls, \"-trigger\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), child.props.className),\n disabled: disabled\n });\n var overlayClassNameCustomized = classNames(overlayClassName, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'));\n var triggerActions = disabled ? [] : trigger;\n var alignPoint;\n\n if (triggerActions && triggerActions.indexOf('contextMenu') !== -1) {\n alignPoint = true;\n }\n\n return /*#__PURE__*/React.createElement(RcDropdown, _extends({\n arrow: arrow,\n alignPoint: alignPoint\n }, props, {\n overlayClassName: overlayClassNameCustomized,\n prefixCls: prefixCls,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n transitionName: getTransitionName(),\n trigger: triggerActions,\n overlay: function overlay() {\n return renderOverlay(prefixCls);\n },\n placement: getPlacement()\n }), dropdownTrigger);\n};\n\nDropdown.Button = DropdownButton;\nDropdown.defaultProps = {\n mouseEnterDelay: 0.15,\n mouseLeaveDelay: 0.1\n};\nexport default Dropdown;","import Dropdown from './dropdown';\nexport default Dropdown;","import { EventGroup, getId } from '../../Utilities';\nimport { KeytipEvents } from '../../utilities/keytips/KeytipConstants';\nimport type { IKeytipProps } from '../../Keytip';\n\nexport interface IUniqueKeytip {\n uniqueID: string;\n keytip: IKeytipProps;\n}\n\n/**\n * This class is responsible for handling registering, updating, and unregistering of keytips\n */\nexport class KeytipManager {\n private static _instance: KeytipManager = new KeytipManager();\n\n public keytips: { [key: string]: IUniqueKeytip } = {};\n public persistedKeytips: { [key: string]: IUniqueKeytip } = {};\n public sequenceMapping: { [key: string]: IKeytipProps } = {};\n\n // This is (and should be) updated and kept in sync\n // with the inKeytipMode in KeytipLayer.\n public inKeytipMode = false;\n\n // Boolean that gets checked before entering keytip mode by the KeytipLayer\n // Used for an override in special cases (e.g. Disable entering keytip mode when a modal is shown)\n public shouldEnterKeytipMode = true;\n\n // Boolean to indicate whether to delay firing an event to update subscribers of\n // keytip data changed.\n public delayUpdatingKeytipChange = false;\n\n /**\n * Static function to get singleton KeytipManager instance\n *\n * @returns Singleton KeytipManager instance\n */\n public static getInstance(): KeytipManager {\n return this._instance;\n }\n\n /**\n * Initialization code to set set parameters to define\n * how the KeytipManager handles keytip data.\n *\n * @param delayUpdatingKeytipChange - T/F if we should delay notifiying keytip subscribers\n * of keytip changes\n */\n public init(delayUpdatingKeytipChange: boolean) {\n this.delayUpdatingKeytipChange = delayUpdatingKeytipChange;\n }\n\n /**\n * Registers a keytip\n *\n * @param keytipProps - Keytip to register\n * @param persisted - T/F if this keytip should be persisted, default is false\n * @returns Unique ID for this keytip\n */\n public register(keytipProps: IKeytipProps, persisted: boolean = false): string {\n let props: IKeytipProps = keytipProps;\n if (!persisted) {\n // Add the overflowSetSequence if necessary\n props = this.addParentOverflow(keytipProps);\n this.sequenceMapping[props.keySequences.toString()] = props;\n }\n // Create a unique keytip\n const uniqueKeytip: IUniqueKeytip = this._getUniqueKtp(props);\n // Add to dictionary\n persisted\n ? (this.persistedKeytips[uniqueKeytip.uniqueID] = uniqueKeytip)\n : (this.keytips[uniqueKeytip.uniqueID] = uniqueKeytip);\n\n // We only want to add something new if we are currently showing keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n const event = persisted ? KeytipEvents.PERSISTED_KEYTIP_ADDED : KeytipEvents.KEYTIP_ADDED;\n EventGroup.raise(this, event, {\n keytip: props,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n\n return uniqueKeytip.uniqueID;\n }\n\n /**\n * Update a keytip\n *\n * @param keytipProps - Keytip to update\n * @param uniqueID - Unique ID of this keytip\n */\n public update(keytipProps: IKeytipProps, uniqueID: string): void {\n const newKeytipProps = this.addParentOverflow(keytipProps);\n const uniqueKeytip = this._getUniqueKtp(newKeytipProps, uniqueID);\n const oldKeyTip = this.keytips[uniqueID];\n if (oldKeyTip) {\n // Update everything except 'visible'\n uniqueKeytip.keytip.visible = oldKeyTip.keytip.visible;\n // Update keytip in this.keytips\n this.keytips[uniqueID] = uniqueKeytip;\n\n // Update the sequence to be up to date\n delete this.sequenceMapping[oldKeyTip.keytip.keySequences.toString()];\n this.sequenceMapping[uniqueKeytip.keytip.keySequences.toString()] = uniqueKeytip.keytip;\n\n // Raise event only if we are currently in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, KeytipEvents.KEYTIP_UPDATED, {\n keytip: uniqueKeytip.keytip,\n uniqueID: uniqueKeytip.uniqueID,\n });\n }\n }\n }\n\n /**\n * Unregisters a keytip\n *\n * @param keytipToRemove - IKeytipProps of the keytip to remove\n * @param uniqueID - Unique ID of this keytip\n * @param persisted - T/F if this keytip should be persisted, default is false\n */\n public unregister(keytipToRemove: IKeytipProps, uniqueID: string, persisted: boolean = false): void {\n persisted ? delete this.persistedKeytips[uniqueID] : delete this.keytips[uniqueID];\n !persisted && delete this.sequenceMapping[keytipToRemove.keySequences.toString()];\n\n const event = persisted ? KeytipEvents.PERSISTED_KEYTIP_REMOVED : KeytipEvents.KEYTIP_REMOVED;\n // Update keytips only if we're in keytip mode\n if (this.inKeytipMode || !this.delayUpdatingKeytipChange) {\n EventGroup.raise(this, event, {\n keytip: keytipToRemove,\n uniqueID: uniqueID,\n });\n }\n }\n\n /**\n * Manual call to enter keytip mode\n */\n public enterKeytipMode(): void {\n EventGroup.raise(this, KeytipEvents.ENTER_KEYTIP_MODE);\n }\n\n /**\n * Manual call to exit keytip mode\n */\n public exitKeytipMode(): void {\n EventGroup.raise(this, KeytipEvents.EXIT_KEYTIP_MODE);\n }\n\n /**\n * Gets all IKeytipProps from this.keytips\n *\n * @returns All keytips stored in the manager\n */\n public getKeytips(): IKeytipProps[] {\n return Object.keys(this.keytips).map(key => this.keytips[key].keytip);\n }\n\n /**\n * Adds the overflowSetSequence to the keytipProps if its parent keytip also has it\n *\n * @param keytipProps - Keytip props to add overflowSetSequence to if necessary\n * @returns - Modified keytip props, if needed to be modified\n */\n public addParentOverflow(keytipProps: IKeytipProps): IKeytipProps {\n const fullSequence = [...keytipProps.keySequences];\n fullSequence.pop();\n if (fullSequence.length !== 0) {\n const parentKeytip = this.sequenceMapping[fullSequence.toString()];\n if (parentKeytip && parentKeytip.overflowSetSequence) {\n return {\n ...keytipProps,\n overflowSetSequence: parentKeytip.overflowSetSequence,\n };\n }\n }\n return keytipProps;\n }\n\n /**\n * Public function to bind for overflow items that have a submenu\n */\n public menuExecute(overflowButtonSequences: string[], keytipSequences: string[]) {\n EventGroup.raise(this, KeytipEvents.PERSISTED_KEYTIP_EXECUTE, {\n overflowButtonSequences,\n keytipSequences,\n });\n }\n\n /**\n * Creates an IUniqueKeytip object\n *\n * @param keytipProps - IKeytipProps\n * @param uniqueID - Unique ID, will default to the next unique ID if not passed\n * @returns IUniqueKeytip object\n */\n private _getUniqueKtp(keytipProps: IKeytipProps, uniqueID: string = getId()): IUniqueKeytip {\n return { keytip: { ...keytipProps }, uniqueID };\n }\n}\n","import { Row } from '../grid';\nexport default Row;","import { Col } from '../grid';\nexport default Col;","/**\n * Rectangle helper class.\n *\n * @public\n * {@docCategory Rectangle}\n */\nexport class Rectangle {\n public top: number;\n public bottom: number;\n public left: number;\n public right: number;\n\n constructor(left: number = 0, right: number = 0, top: number = 0, bottom: number = 0) {\n this.top = top;\n this.bottom = bottom;\n this.left = left;\n this.right = right;\n }\n\n /**\n * Calculated automatically by subtracting the right from left\n */\n public get width(): number {\n return this.right - this.left;\n }\n\n /**\n * Calculated automatically by subtracting the bottom from top.\n */\n public get height(): number {\n return this.bottom - this.top;\n }\n\n /**\n * Tests if another rect is approximately equal to this rect (within 4 decimal places.)\n */\n public equals(rect: Rectangle): boolean {\n // Fixing to 4 decimal places because it allows enough precision and will handle cases when something\n // should be rounded, like .999999 should round to 1.\n return (\n parseFloat(this.top.toFixed(4)) === parseFloat(rect.top.toFixed(4)) &&\n parseFloat(this.bottom.toFixed(4)) === parseFloat(rect.bottom.toFixed(4)) &&\n parseFloat(this.left.toFixed(4)) === parseFloat(rect.left.toFixed(4)) &&\n parseFloat(this.right.toFixed(4)) === parseFloat(rect.right.toFixed(4))\n );\n }\n}\n","import { DirectionalHint } from '../../common/DirectionalHint';\nimport { getScrollbarWidth, getRTL } from '../../Utilities';\nimport { RectangleEdge } from './positioning.types';\nimport { Rectangle } from '../../Utilities';\nimport type { IRectangle, Point } from '../../Utilities';\nimport type {\n IPositionDirectionalHintData,\n IPositionedData,\n ICalloutPositionedInfo,\n ICalloutBeakPositionedInfo,\n IPositionProps,\n ICalloutPositionProps,\n IWindowWithSegments,\n} from './positioning.types';\n\nfunction _createPositionData(\n targetEdge: RectangleEdge,\n alignmentEdge?: RectangleEdge,\n isAuto?: boolean,\n): IPositionDirectionalHintData {\n return {\n targetEdge: targetEdge,\n alignmentEdge: alignmentEdge,\n isAuto: isAuto,\n };\n}\n\n// Currently the beakPercent is set to 50 for all positions meaning that it should tend to the center of the target\nconst DirectionalDictionary: { [key: number]: IPositionDirectionalHintData } = {\n [DirectionalHint.topLeftEdge]: _createPositionData(RectangleEdge.top, RectangleEdge.left),\n [DirectionalHint.topCenter]: _createPositionData(RectangleEdge.top),\n [DirectionalHint.topRightEdge]: _createPositionData(RectangleEdge.top, RectangleEdge.right),\n [DirectionalHint.topAutoEdge]: _createPositionData(RectangleEdge.top, undefined, true),\n [DirectionalHint.bottomLeftEdge]: _createPositionData(RectangleEdge.bottom, RectangleEdge.left),\n [DirectionalHint.bottomCenter]: _createPositionData(RectangleEdge.bottom),\n [DirectionalHint.bottomRightEdge]: _createPositionData(RectangleEdge.bottom, RectangleEdge.right),\n [DirectionalHint.bottomAutoEdge]: _createPositionData(RectangleEdge.bottom, undefined, true),\n [DirectionalHint.leftTopEdge]: _createPositionData(RectangleEdge.left, RectangleEdge.top),\n [DirectionalHint.leftCenter]: _createPositionData(RectangleEdge.left),\n [DirectionalHint.leftBottomEdge]: _createPositionData(RectangleEdge.left, RectangleEdge.bottom),\n [DirectionalHint.rightTopEdge]: _createPositionData(RectangleEdge.right, RectangleEdge.top),\n [DirectionalHint.rightCenter]: _createPositionData(RectangleEdge.right),\n [DirectionalHint.rightBottomEdge]: _createPositionData(RectangleEdge.right, RectangleEdge.bottom),\n};\n\n/**\n * Do not call methods from this directly, use either positionCallout or positionElement or make another function that\n * utilizes them.\n * START Private functions and interfaces\n */\n\nexport interface IElementPosition {\n elementRectangle: Rectangle;\n targetEdge: RectangleEdge;\n alignmentEdge: RectangleEdge | undefined;\n}\n\nexport interface IElementPositionInfo extends IElementPosition {\n targetRectangle: Rectangle;\n}\n\ntype PartialIRectangle = Partial;\n\ninterface IPartialIRectangle extends PartialIRectangle {\n [key: string]: number | undefined;\n}\n\nfunction _isRectangleWithinBounds(rect: Rectangle, boundingRect: Rectangle): boolean {\n if (rect.top < boundingRect.top) {\n return false;\n }\n if (rect.bottom > boundingRect.bottom) {\n return false;\n }\n if (rect.left < boundingRect.left) {\n return false;\n }\n if (rect.right > boundingRect.right) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Gets all of the edges of a rectangle that are outside of the given bounds.\n * If there are no out of bounds edges it returns an empty array.\n */\nfunction _getOutOfBoundsEdges(rect: Rectangle, boundingRect: Rectangle): RectangleEdge[] {\n const outOfBounds: RectangleEdge[] = [];\n\n if (rect.top < boundingRect.top) {\n outOfBounds.push(RectangleEdge.top);\n }\n if (rect.bottom > boundingRect.bottom) {\n outOfBounds.push(RectangleEdge.bottom);\n }\n if (rect.left < boundingRect.left) {\n outOfBounds.push(RectangleEdge.left);\n }\n if (rect.right > boundingRect.right) {\n outOfBounds.push(RectangleEdge.right);\n }\n\n return outOfBounds;\n}\n\nfunction _getEdgeValue(rect: Rectangle, edge: RectangleEdge): number {\n return (rect as any)[RectangleEdge[edge]] as number;\n}\n\nfunction _setEdgeValue(rect: Rectangle, edge: RectangleEdge, value: number) {\n (rect as any)[RectangleEdge[edge]] = value;\n return rect;\n}\n\n/**\n * Returns the middle value of an edge. Only returns 1 value rather than xy coordinates as\n * the itself already contains the other coordinate.\n * For instance, a bottom edge's current value is it's y coordinate, so the number returned is the x.\n */\nfunction _getCenterValue(rect: Rectangle, edge: RectangleEdge): number {\n const edges = _getFlankingEdges(edge);\n return (_getEdgeValue(rect, edges.positiveEdge) + _getEdgeValue(rect, edges.negativeEdge)) / 2;\n}\n\n/**\n * Flips the value depending on the edge.\n * If the edge is a \"positive\" edge, Top or Left, then the value should stay as it is.\n * If the edge is a \"negative\" edge, Bottom or Right, then the value should be flipped.\n * This is to account for the fact that the coordinates are effectively reserved in certain cases for the\n * \"negative\" edges.\n *\n * For example, when testing to see if a bottom edge 1 is within the bounds of another bottom edge 2:\n * If edge 1 is greater than edge 2 then it is out of bounds. This is reversed for top edge 1 and top edge 2.\n * If top edge 1 is less than edge 2 then it is out of bounds.\n */\nfunction _getRelativeEdgeValue(edge: RectangleEdge, value: number): number {\n if (edge > 0) {\n return value;\n } else {\n return value * -1;\n }\n}\n\nfunction _getRelativeRectEdgeValue(edge: RectangleEdge, rect: Rectangle): number {\n return _getRelativeEdgeValue(edge, _getEdgeValue(rect, edge));\n}\n\nfunction _getRelativeEdgeDifference(rect: Rectangle, hostRect: Rectangle, edge: RectangleEdge): number {\n const edgeDifference = _getEdgeValue(rect, edge) - _getEdgeValue(hostRect, edge);\n return _getRelativeEdgeValue(edge, edgeDifference);\n}\n\n/**\n * Moves the edge of a rectangle to the value given. It only moves the edge in a linear direction based on that edge.\n * For example, if it's a bottom edge it will only change y coordinates.\n */\nfunction _moveEdge(rect: Rectangle, edge: RectangleEdge, newValue: number): Rectangle {\n const difference = _getEdgeValue(rect, edge) - newValue;\n rect = _setEdgeValue(rect, edge, newValue);\n rect = _setEdgeValue(rect, edge * -1, _getEdgeValue(rect, edge * -1) - difference);\n return rect;\n}\n\n/**\n * Aligns the edge on the passed in rect to the target. If there is a gap then it will have that space between the two.\n */\nfunction _alignEdges(rect: Rectangle, target: Rectangle, edge: RectangleEdge, gap: number = 0): Rectangle {\n return _moveEdge(rect, edge, _getEdgeValue(target, edge) + _getRelativeEdgeValue(edge, gap));\n}\n\n/**\n * Aligns the targetEdge on the passed in target to the rects corresponding opposite edge.\n * For instance if targetEdge is bottom, then the rects top will be moved to match it.\n */\nfunction _alignOppositeEdges(\n rect: Rectangle,\n target: Rectangle,\n targetEdge: RectangleEdge,\n gap: number = 0,\n): Rectangle {\n const oppositeEdge = targetEdge * -1;\n const adjustedGap = _getRelativeEdgeValue(oppositeEdge, gap);\n return _moveEdge(rect, targetEdge * -1, _getEdgeValue(target, targetEdge) + adjustedGap);\n}\n\n/**\n * Tests to see if the given edge is within the bounds of the given rectangle.\n */\nfunction _isEdgeInBounds(rect: Rectangle, bounds: Rectangle, edge: RectangleEdge): boolean {\n const adjustedRectValue = _getRelativeRectEdgeValue(edge, rect);\n return adjustedRectValue > _getRelativeRectEdgeValue(edge, bounds);\n}\n\n/**\n * Attempts to move the rectangle through various sides of the target to find a place to fit.\n * If no fit is found, the original position should be returned.\n */\nfunction _flipToFit(\n rect: Rectangle,\n target: Rectangle,\n bounding: Rectangle,\n positionData: IPositionDirectionalHintData,\n gap: number = 0,\n): IElementPosition {\n const directions: RectangleEdge[] = [\n RectangleEdge.left,\n RectangleEdge.right,\n RectangleEdge.bottom,\n RectangleEdge.top,\n ];\n // In RTL page, RectangleEdge.right has a higher priority than RectangleEdge.left, so the order should be updated.\n if (getRTL()) {\n directions[0] *= -1;\n directions[1] *= -1;\n }\n let currentEstimate = rect;\n let currentEdge = positionData.targetEdge;\n let currentAlignment = positionData.alignmentEdge;\n // Keep switching sides until one is found with enough space.\n // If all sides don't fit then return the unmodified element.\n for (let i = 0; i < 4; i++) {\n if (!_isEdgeInBounds(currentEstimate, bounding, currentEdge)) {\n directions.splice(directions.indexOf(currentEdge), 1);\n if (directions.length > 0) {\n if (directions.indexOf(currentEdge * -1) > -1) {\n currentEdge = currentEdge * -1;\n } else {\n currentAlignment = currentEdge;\n currentEdge = directions.slice(-1)[0];\n }\n currentEstimate = _estimatePosition(\n rect,\n target,\n { targetEdge: currentEdge, alignmentEdge: currentAlignment },\n gap,\n );\n }\n } else {\n return {\n elementRectangle: currentEstimate,\n targetEdge: currentEdge,\n alignmentEdge: currentAlignment,\n };\n }\n }\n return {\n elementRectangle: rect,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n}\n\n/**\n * Flips only the alignment edge of an element rectangle. This is used instead of nudging the alignment edges\n * into position, when `alignTargetEdge` is specified.\n */\nfunction _flipAlignmentEdge(\n elementEstimate: IElementPosition,\n target: Rectangle,\n gap: number,\n coverTarget?: boolean,\n): IElementPosition {\n const { alignmentEdge, targetEdge, elementRectangle } = elementEstimate;\n const oppositeEdge = alignmentEdge! * -1;\n const newEstimate = _estimatePosition(\n elementRectangle,\n target,\n { targetEdge: targetEdge, alignmentEdge: oppositeEdge },\n gap,\n coverTarget,\n );\n\n return {\n elementRectangle: newEstimate,\n targetEdge: targetEdge,\n alignmentEdge: oppositeEdge,\n };\n}\n\n/**\n * Adjusts a element rectangle to fit within the bounds given. If directionalHintFixed or covertarget is passed in\n * then the element will not flip sides on the target. They will, however, be nudged to fit within the bounds given.\n */\nfunction _adjustFitWithinBounds(\n element: Rectangle,\n target: Rectangle,\n bounding: Rectangle,\n positionData: IPositionDirectionalHintData,\n gap: number = 0,\n directionalHintFixed?: boolean,\n coverTarget?: boolean,\n): IElementPosition {\n const { alignmentEdge, alignTargetEdge } = positionData;\n let elementEstimate: IElementPosition = {\n elementRectangle: element,\n targetEdge: positionData.targetEdge,\n alignmentEdge: alignmentEdge,\n };\n\n if (!directionalHintFixed && !coverTarget) {\n elementEstimate = _flipToFit(element, target, bounding, positionData, gap);\n }\n const outOfBounds = _getOutOfBoundsEdges(element, bounding);\n\n if (alignTargetEdge) {\n // The edge opposite to the alignment edge might be out of bounds.\n // Flip alignment to see if we can get it within bounds.\n if (elementEstimate.alignmentEdge && outOfBounds.indexOf(elementEstimate.alignmentEdge * -1) > -1) {\n const flippedElementEstimate = _flipAlignmentEdge(elementEstimate, target, gap, coverTarget);\n if (_isRectangleWithinBounds(flippedElementEstimate.elementRectangle, bounding)) {\n return flippedElementEstimate;\n } else {\n // If the flipped elements edges are still out of bounds, try nudging it.\n elementEstimate = _alignOutOfBoundsEdges(\n _getOutOfBoundsEdges(flippedElementEstimate.elementRectangle, bounding),\n elementEstimate,\n bounding,\n );\n }\n }\n } else {\n elementEstimate = _alignOutOfBoundsEdges(outOfBounds, elementEstimate, bounding);\n }\n\n return elementEstimate;\n}\n\n/**\n * Iterates through a list of out of bounds edges and tries to nudge and align them.\n * @param outOfBoundsEdges - Array of edges that are out of bounds\n * @param elementEstimate - The current element positioning estimate\n * @param bounding - The current bounds\n */\nfunction _alignOutOfBoundsEdges(\n outOfBoundsEdges: RectangleEdge[],\n elementEstimate: IElementPosition,\n bounding: Rectangle,\n) {\n for (const direction of outOfBoundsEdges) {\n elementEstimate.elementRectangle = _alignEdges(elementEstimate.elementRectangle, bounding, direction);\n }\n\n return elementEstimate;\n}\n\n/**\n * Moves the middle point on an edge to the point given.\n * Only moves in one direction. For instance if a bottom edge is passed in, then\n * the bottom edge will be moved in the x axis to match the point.\n */\nfunction _centerEdgeToPoint(rect: Rectangle, edge: RectangleEdge, point: number): Rectangle {\n const { positiveEdge } = _getFlankingEdges(edge);\n const elementMiddle = _getCenterValue(rect, edge);\n const distanceToMiddle = elementMiddle - _getEdgeValue(rect, positiveEdge);\n return _moveEdge(rect, positiveEdge, point - distanceToMiddle);\n}\n\n/**\n * Moves the element rectangle to be appropriately positioned relative to a given target.\n * Does not flip or adjust the element.\n */\nfunction _estimatePosition(\n elementToPosition: Rectangle,\n target: Rectangle,\n positionData: IPositionDirectionalHintData,\n gap: number = 0,\n coverTarget?: boolean,\n): Rectangle {\n let estimatedElementPosition: Rectangle;\n const { alignmentEdge, targetEdge } = positionData;\n const elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n estimatedElementPosition = coverTarget\n ? _alignEdges(elementToPosition, target, targetEdge, gap)\n : _alignOppositeEdges(elementToPosition, target, targetEdge, gap);\n // if no alignment edge is provided it's supposed to be centered.\n if (!alignmentEdge) {\n const targetMiddlePoint = _getCenterValue(target, targetEdge);\n estimatedElementPosition = _centerEdgeToPoint(estimatedElementPosition, elementEdge, targetMiddlePoint);\n } else {\n estimatedElementPosition = _alignEdges(estimatedElementPosition, target, alignmentEdge);\n }\n\n return estimatedElementPosition;\n}\n\n/**\n * Returns the non-opposite edges of the target edge.\n * For instance if bottom is passed in then left and right will be returned.\n */\nfunction _getFlankingEdges(edge: RectangleEdge): { positiveEdge: RectangleEdge; negativeEdge: RectangleEdge } {\n if (edge === RectangleEdge.top || edge === RectangleEdge.bottom) {\n return {\n positiveEdge: RectangleEdge.left,\n negativeEdge: RectangleEdge.right,\n };\n } else {\n return {\n positiveEdge: RectangleEdge.top,\n negativeEdge: RectangleEdge.bottom,\n };\n }\n}\n\n/**\n * Retrieve the final value for the return edge of `elementRectangle`. If the `elementRectangle` is closer to one side\n * of the bounds versus the other, the return edge is flipped to grow inward.\n */\nfunction _finalizeReturnEdge(\n elementRectangle: Rectangle,\n returnEdge: RectangleEdge,\n bounds?: Rectangle,\n): RectangleEdge {\n if (\n bounds &&\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge)) >\n Math.abs(_getRelativeEdgeDifference(elementRectangle, bounds, returnEdge * -1))\n ) {\n return returnEdge * -1;\n }\n\n return returnEdge;\n}\n\n/**\n * Finalizes the element position based on the hostElement. Only returns the\n * rectangle values to position such that they are anchored to the target.\n * This helps prevent resizing from looking very strange.\n * For instance, if the target edge is top and aligned with the left side then\n * the bottom and left values are returned so as the Callout shrinks it shrinks towards that corner.\n */\nfunction _finalizeElementPosition(\n elementRectangle: Rectangle,\n hostElement: HTMLElement,\n targetEdge: RectangleEdge,\n bounds?: Rectangle,\n alignmentEdge?: RectangleEdge,\n coverTarget?: boolean,\n doNotFinalizeReturnEdge?: boolean,\n): IPartialIRectangle {\n const returnValue: IPartialIRectangle = {};\n\n const hostRect: Rectangle = _getRectangleFromElement(hostElement);\n const elementEdge = coverTarget ? targetEdge : targetEdge * -1;\n const elementEdgeString = RectangleEdge[elementEdge];\n let returnEdge = alignmentEdge ? alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge;\n if (!doNotFinalizeReturnEdge) {\n returnEdge = _finalizeReturnEdge(elementRectangle, returnEdge, bounds);\n }\n\n returnValue[elementEdgeString] = _getRelativeEdgeDifference(elementRectangle, hostRect, elementEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(elementRectangle, hostRect, returnEdge);\n\n return returnValue;\n}\n\n// Since the beak is rotated 45 degrees the actual height/width is the length of the diagonal.\n// We still want to position the beak based on it's midpoint which does not change. It will\n// be at (beakwidth / 2, beakwidth / 2)\nfunction _calculateActualBeakWidthInPixels(beakWidth: number): number {\n return Math.sqrt(beakWidth * beakWidth * 2);\n}\n\n/**\n * Returns the appropriate IPositionData based on the props altered for RTL.\n * If directionalHintForRTL is passed in that is used if the page is RTL.\n * If directionalHint is specified, no directionalHintForRTL is available, and the page is RTL, the hint will be\n * flipped (e.g. bottomLeftEdge would become bottomRightEdge).\n *\n * If there is no directionalHint passed in, bottomAutoEdge is chosen automatically.\n */\nfunction _getPositionData(\n directionalHint: DirectionalHint = DirectionalHint.bottomAutoEdge,\n directionalHintForRTL?: DirectionalHint,\n previousPositions?: IPositionDirectionalHintData,\n): IPositionDirectionalHintData {\n if (previousPositions) {\n return {\n alignmentEdge: previousPositions.alignmentEdge,\n isAuto: previousPositions.isAuto,\n targetEdge: previousPositions.targetEdge,\n };\n }\n const positionInformation: IPositionDirectionalHintData = { ...DirectionalDictionary[directionalHint] };\n if (getRTL()) {\n // If alignment edge exists and that alignment edge is -2 or 2, right or left, then flip it.\n if (positionInformation.alignmentEdge && positionInformation.alignmentEdge % 2 === 0) {\n positionInformation.alignmentEdge = positionInformation.alignmentEdge * -1;\n }\n\n return directionalHintForRTL !== undefined ? DirectionalDictionary[directionalHintForRTL] : positionInformation;\n }\n return positionInformation;\n}\n\n/**\n * Gets the alignment data for the given information. This only really matters if the positioning is Auto.\n * If it is auto then the alignmentEdge should be chosen based on the target edge's position relative to\n * the center of the page.\n */\nfunction _getAlignmentData(\n positionData: IPositionDirectionalHintData,\n target: Rectangle,\n boundingRect: Rectangle,\n coverTarget?: boolean,\n alignTargetEdge?: boolean,\n): IPositionDirectionalHintData {\n if (positionData.isAuto) {\n positionData.alignmentEdge = getClosestEdge(positionData.targetEdge, target, boundingRect);\n }\n\n positionData.alignTargetEdge = alignTargetEdge;\n return positionData;\n}\n\nfunction getClosestEdge(targetEdge: RectangleEdge, target: Rectangle, boundingRect: Rectangle): RectangleEdge {\n const targetCenter: number = _getCenterValue(target, targetEdge);\n const boundingCenter: number = _getCenterValue(boundingRect, targetEdge);\n const { positiveEdge, negativeEdge } = _getFlankingEdges(targetEdge);\n if (targetCenter <= boundingCenter) {\n return positiveEdge;\n } else {\n return negativeEdge;\n }\n}\n\nfunction _positionElementWithinBounds(\n elementToPosition: Rectangle,\n target: Rectangle,\n bounding: Rectangle,\n positionData: IPositionDirectionalHintData,\n gap: number,\n directionalHintFixed?: boolean,\n coverTarget?: boolean,\n): IElementPosition {\n const estimatedElementPosition: Rectangle = _estimatePosition(\n elementToPosition,\n target,\n positionData,\n gap,\n coverTarget,\n );\n if (_isRectangleWithinBounds(estimatedElementPosition, bounding)) {\n return {\n elementRectangle: estimatedElementPosition,\n targetEdge: positionData.targetEdge,\n alignmentEdge: positionData.alignmentEdge,\n };\n } else {\n return _adjustFitWithinBounds(\n elementToPosition,\n target,\n bounding,\n positionData,\n gap,\n directionalHintFixed,\n coverTarget,\n );\n }\n}\n\nfunction _finalizeBeakPosition(\n elementPosition: IElementPosition,\n positionedBeak: Rectangle,\n bounds?: Rectangle,\n): ICalloutBeakPositionedInfo {\n const targetEdge = elementPosition.targetEdge * -1;\n // The \"host\" element that we will use to help position the beak.\n const actualElement = new Rectangle(\n 0,\n elementPosition.elementRectangle.width,\n 0,\n elementPosition.elementRectangle.height,\n );\n const returnValue: IPartialIRectangle = {};\n const returnEdge = _finalizeReturnEdge(\n elementPosition.elementRectangle,\n elementPosition.alignmentEdge ? elementPosition.alignmentEdge : _getFlankingEdges(targetEdge).positiveEdge,\n bounds,\n );\n\n returnValue[RectangleEdge[targetEdge]] = _getEdgeValue(positionedBeak, targetEdge);\n returnValue[RectangleEdge[returnEdge]] = _getRelativeEdgeDifference(positionedBeak, actualElement, returnEdge);\n\n return {\n elementPosition: { ...returnValue },\n closestEdge: getClosestEdge(elementPosition.targetEdge, positionedBeak, actualElement),\n targetEdge: targetEdge,\n };\n}\n\nfunction _positionBeak(beakWidth: number, elementPosition: IElementPositionInfo): Rectangle {\n const target = elementPosition.targetRectangle;\n /**\n * Note about beak positioning: The actual beak width only matters for getting the gap between the callout and\n * target, it does not impact the beak placement within the callout. For example example, if the beakWidth is 8,\n * then the actual beakWidth is sqrroot(8^2 + 8^2) = 11.31x11.31. So the callout will need to be an extra 3 pixels\n * away from its target. While the beak is being positioned in the callout it still acts as though it were 8x8.\n */\n const { positiveEdge, negativeEdge } = _getFlankingEdges(elementPosition.targetEdge);\n const beakTargetPoint = _getCenterValue(target, elementPosition.targetEdge);\n const elementBounds = new Rectangle(\n beakWidth / 2,\n elementPosition.elementRectangle.width - beakWidth / 2,\n beakWidth / 2,\n elementPosition.elementRectangle.height - beakWidth / 2,\n );\n\n let beakPosition: Rectangle = new Rectangle(0, beakWidth, 0, beakWidth);\n\n beakPosition = _moveEdge(beakPosition, elementPosition.targetEdge * -1, -beakWidth / 2);\n\n beakPosition = _centerEdgeToPoint(\n beakPosition,\n elementPosition.targetEdge * -1,\n beakTargetPoint - _getRelativeRectEdgeValue(positiveEdge, elementPosition.elementRectangle),\n );\n\n if (!_isEdgeInBounds(beakPosition, elementBounds, positiveEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, positiveEdge);\n } else if (!_isEdgeInBounds(beakPosition, elementBounds, negativeEdge)) {\n beakPosition = _alignEdges(beakPosition, elementBounds, negativeEdge);\n }\n\n return beakPosition;\n}\n\nfunction _getRectangleFromElement(element: Element): Rectangle {\n const clientRect: ClientRect = element.getBoundingClientRect();\n\n return new Rectangle(clientRect.left, clientRect.right, clientRect.top, clientRect.bottom);\n}\n\nfunction _getRectangleFromIRect(rect: IRectangle): Rectangle {\n return new Rectangle(rect.left, rect.right, rect.top, rect.bottom);\n}\n\nfunction _getTargetRect(bounds: Rectangle, target: Element | MouseEvent | Point | Rectangle | undefined): Rectangle {\n let targetRectangle: Rectangle;\n if (target) {\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!(target as MouseEvent).preventDefault) {\n const ev = target as MouseEvent;\n targetRectangle = new Rectangle(ev.clientX, ev.clientX, ev.clientY, ev.clientY);\n // eslint-disable-next-line no-extra-boolean-cast\n } else if (!!(target as Element).getBoundingClientRect) {\n targetRectangle = _getRectangleFromElement(target as Element);\n // HTMLImgElements can have x and y values. The check for it being a point must go last.\n } else {\n const rectOrPoint: Point & Rectangle = target as Point & Rectangle;\n // eslint-disable-next-line deprecation/deprecation\n const left = rectOrPoint.left || rectOrPoint.x;\n // eslint-disable-next-line deprecation/deprecation\n const top = rectOrPoint.top || rectOrPoint.y;\n const right = rectOrPoint.right || left;\n const bottom = rectOrPoint.bottom || top;\n targetRectangle = new Rectangle(left, right, top, bottom);\n }\n\n if (!_isRectangleWithinBounds(targetRectangle, bounds)) {\n const outOfBounds: RectangleEdge[] = _getOutOfBoundsEdges(targetRectangle, bounds);\n\n for (const direction of outOfBounds) {\n (targetRectangle as any)[RectangleEdge[direction]] = (bounds as any)[RectangleEdge[direction]];\n }\n }\n } else {\n targetRectangle = new Rectangle(0, 0, 0, 0);\n }\n\n return targetRectangle;\n}\n\n/**\n * If max height is less than zero it returns the bounds height instead.\n */\nfunction _getMaxHeightFromTargetRectangle(\n targetRectangle: Rectangle,\n targetEdge: DirectionalHint,\n gapSpace: number,\n bounds: Rectangle,\n coverTarget?: boolean,\n) {\n let maxHeight = 0;\n const directionalHint = DirectionalDictionary[targetEdge];\n\n // If cover target is set, then the max height should be calculated using the opposite of the target edge since\n // that's the direction that the callout will expand in.\n // For instance, if the directionalhint is bottomLeftEdge then the callout will position so it's bottom edge\n // is aligned with the bottom of the target and expand up towards the top of the screen and the calculated max height\n // is (bottom of target) - (top of screen) - gapSpace.\n const target = coverTarget ? directionalHint.targetEdge * -1 : directionalHint.targetEdge;\n\n if (target === RectangleEdge.top) {\n maxHeight = _getEdgeValue(targetRectangle, directionalHint.targetEdge) - bounds.top - gapSpace;\n } else if (target === RectangleEdge.bottom) {\n maxHeight = bounds.bottom - _getEdgeValue(targetRectangle, directionalHint.targetEdge) - gapSpace;\n } else {\n maxHeight = bounds.bottom - targetRectangle.top - gapSpace;\n }\n\n return maxHeight > 0 ? maxHeight : bounds.height;\n}\n\nfunction _positionElementRelative(\n props: IPositionProps,\n elementToPosition: HTMLElement,\n boundingRect: Rectangle,\n previousPositions?: IPositionedData,\n): IElementPositionInfo {\n const gap: number = props.gapSpace ? props.gapSpace : 0;\n const targetRect: Rectangle = _getTargetRect(boundingRect, props.target);\n const positionData: IPositionDirectionalHintData = _getAlignmentData(\n _getPositionData(props.directionalHint, props.directionalHintForRTL, previousPositions)!,\n targetRect,\n boundingRect,\n props.coverTarget,\n props.alignTargetEdge,\n );\n const positionedElement: IElementPosition = _positionElementWithinBounds(\n _getRectangleFromElement(elementToPosition),\n targetRect,\n boundingRect,\n positionData,\n gap,\n props.directionalHintFixed,\n props.coverTarget,\n );\n return { ...positionedElement, targetRectangle: targetRect };\n}\n\nfunction _finalizePositionData(\n positionedElement: IElementPosition,\n hostElement: HTMLElement,\n bounds?: Rectangle,\n coverTarget?: boolean,\n doNotFinalizeReturnEdge?: boolean,\n): IPositionedData {\n const finalizedElement: IPartialIRectangle = _finalizeElementPosition(\n positionedElement.elementRectangle,\n hostElement,\n positionedElement.targetEdge,\n bounds,\n positionedElement.alignmentEdge,\n coverTarget,\n doNotFinalizeReturnEdge,\n );\n return {\n elementPosition: finalizedElement,\n targetEdge: positionedElement.targetEdge,\n alignmentEdge: positionedElement.alignmentEdge,\n };\n}\n\nfunction _positionElement(\n props: IPositionProps,\n hostElement: HTMLElement,\n elementToPosition: HTMLElement,\n previousPositions?: IPositionedData,\n): IPositionedData {\n const boundingRect: Rectangle = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n const positionedElement: IElementPosition = _positionElementRelative(\n props,\n elementToPosition,\n boundingRect,\n previousPositions,\n );\n return _finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget);\n}\n\nfunction _positionCallout(\n props: ICalloutPositionProps,\n hostElement: HTMLElement,\n callout: HTMLElement,\n previousPositions?: ICalloutPositionedInfo,\n doNotFinalizeReturnEdge?: boolean,\n): ICalloutPositionedInfo {\n const beakWidth: number = props.isBeakVisible ? props.beakWidth || 0 : 0;\n const gap: number = _calculateActualBeakWidthInPixels(beakWidth) / 2 + (props.gapSpace ? props.gapSpace : 0);\n const positionProps: IPositionProps = props;\n positionProps.gapSpace = gap;\n const boundingRect: Rectangle = props.bounds\n ? _getRectangleFromIRect(props.bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n const positionedElement: IElementPositionInfo = _positionElementRelative(\n positionProps,\n callout,\n boundingRect,\n previousPositions,\n );\n const beakPositioned: Rectangle = _positionBeak(beakWidth, positionedElement);\n const finalizedBeakPosition: ICalloutBeakPositionedInfo = _finalizeBeakPosition(\n positionedElement,\n beakPositioned,\n boundingRect,\n );\n return {\n ..._finalizePositionData(positionedElement, hostElement, boundingRect, props.coverTarget, doNotFinalizeReturnEdge),\n beakPosition: finalizedBeakPosition,\n };\n}\n\nfunction _positionCard(\n props: ICalloutPositionProps,\n hostElement: HTMLElement,\n callout: HTMLElement,\n previousPositions?: ICalloutPositionedInfo,\n): ICalloutPositionedInfo {\n return _positionCallout(props, hostElement, callout, previousPositions, true);\n}\n// END PRIVATE FUNCTIONS\n\nexport const __positioningTestPackage = {\n _finalizePositionData,\n _finalizeBeakPosition,\n _calculateActualBeakWidthInPixels,\n _positionElementWithinBounds,\n _positionBeak,\n _getPositionData,\n _getMaxHeightFromTargetRectangle,\n};\n\n/**\n * Used to position an element relative to the given positioning props.\n * If positioning has been completed before, previousPositions can be passed to ensure that the positioning element\n * repositions based on its previous targets rather than starting with directionalhint.\n */\nexport function positionElement(\n props: IPositionProps,\n hostElement: HTMLElement,\n elementToPosition: HTMLElement,\n previousPositions?: IPositionedData,\n): IPositionedData {\n return _positionElement(props, hostElement, elementToPosition, previousPositions);\n}\n\nexport function positionCallout(\n props: IPositionProps,\n hostElement: HTMLElement,\n elementToPosition: HTMLElement,\n previousPositions?: ICalloutPositionedInfo,\n): ICalloutPositionedInfo {\n return _positionCallout(props, hostElement, elementToPosition, previousPositions);\n}\n\nexport function positionCard(\n props: IPositionProps,\n hostElement: HTMLElement,\n elementToPosition: HTMLElement,\n previousPositions?: ICalloutPositionedInfo,\n): ICalloutPositionedInfo {\n return _positionCard(props, hostElement, elementToPosition, previousPositions);\n}\n\n/**\n * Gets the maximum height that a rectangle can have in order to fit below or above a target.\n * If the directional hint specifies a left or right edge (i.e. leftCenter) it will limit the height to the topBorder\n * of the target given.\n * If no bounds are provided then the window is treated as the bounds.\n */\nexport function getMaxHeight(\n target: Element | MouseEvent | Point | Rectangle,\n targetEdge: DirectionalHint,\n gapSpace: number = 0,\n bounds?: IRectangle,\n coverTarget?: boolean,\n): number {\n const mouseTarget: MouseEvent = target as MouseEvent;\n const elementTarget: Element = target as Element;\n const rectOrPointTarget: Point & Rectangle = target as Point & Rectangle;\n let targetRect: Rectangle;\n const boundingRectangle = bounds\n ? _getRectangleFromIRect(bounds)\n : new Rectangle(0, window.innerWidth - getScrollbarWidth(), 0, window.innerHeight);\n\n // eslint-disable-next-line deprecation/deprecation\n const left = rectOrPointTarget.left || rectOrPointTarget.x;\n // eslint-disable-next-line deprecation/deprecation\n const top = rectOrPointTarget.top || rectOrPointTarget.y;\n const right = rectOrPointTarget.right || left;\n const bottom = rectOrPointTarget.bottom || top;\n\n // eslint-disable-next-line no-extra-boolean-cast -- may not actually be a MouseEvent\n if (!!mouseTarget.stopPropagation) {\n targetRect = new Rectangle(mouseTarget.clientX, mouseTarget.clientX, mouseTarget.clientY, mouseTarget.clientY);\n } else if (left !== undefined && top !== undefined) {\n targetRect = new Rectangle(left, right, top, bottom);\n } else {\n targetRect = _getRectangleFromElement(elementTarget);\n }\n\n return _getMaxHeightFromTargetRectangle(targetRect, targetEdge, gapSpace, boundingRectangle, coverTarget);\n}\n\n/**\n * Returns the opposite edge of the given RectangleEdge.\n */\nexport function getOppositeEdge(edge: RectangleEdge): RectangleEdge {\n return edge * -1;\n}\n\nfunction _getBoundsFromTargetWindow(\n target: Element | MouseEvent | Point | Rectangle | null,\n targetWindow: IWindowWithSegments,\n): IRectangle {\n let segments = undefined;\n if (targetWindow.getWindowSegments) {\n segments = targetWindow.getWindowSegments();\n }\n\n // Identify if we're dealing with single screen scenarios.\n if (segments === undefined || segments.length <= 1) {\n return {\n top: 0,\n left: 0,\n right: targetWindow.innerWidth,\n bottom: targetWindow.innerHeight,\n width: targetWindow.innerWidth,\n height: targetWindow.innerHeight,\n };\n }\n\n // Logic for determining dual screen scenarios.\n let x: number | undefined = 0;\n let y: number | undefined = 0;\n\n // If the target is an Element get coordinates for its center.\n if (target !== null && !!(target as Element).getBoundingClientRect) {\n const clientRect = (target as Element).getBoundingClientRect();\n x = (clientRect.left + clientRect.right) / 2;\n y = (clientRect.top + clientRect.bottom) / 2;\n }\n // If the target is not null get x-axis and y-axis coordinates directly.\n else if (target !== null) {\n // eslint-disable-next-line deprecation/deprecation\n x = (target as Point).left || (target as MouseEvent | Point).x;\n // eslint-disable-next-line deprecation/deprecation\n y = (target as Point).top || (target as MouseEvent | Point).y;\n }\n\n let bounds = { top: 0, left: 0, right: 0, bottom: 0, width: 0, height: 0 };\n\n // Define which window segment are the coordinates in and calculate bounds based on that.\n for (const segment of segments) {\n if (x && segment.left <= x && segment.right >= x && y && segment.top <= y && segment.bottom >= y) {\n bounds = {\n top: segment.top,\n left: segment.left,\n right: segment.right,\n bottom: segment.bottom,\n width: segment.width,\n height: segment.height,\n };\n }\n }\n\n return bounds;\n}\n\nexport function getBoundsFromTargetWindow(\n target: Element | MouseEvent | Point | Rectangle | null,\n targetWindow: IWindowWithSegments,\n): IRectangle {\n return _getBoundsFromTargetWindow(target, targetWindow);\n}\n","import * as React from 'react';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport {\n css,\n divProperties,\n elementContains,\n focusFirstChild,\n getNativeProps,\n on,\n shallowCompare,\n getPropsWithDefaults,\n} from '../../Utilities';\nimport {\n positionCallout,\n getMaxHeight,\n RectangleEdge,\n positionCard,\n getBoundsFromTargetWindow,\n} from '../../Positioning';\nimport { Popup } from '../../Popup';\nimport { classNamesFunction } from '../../Utilities';\nimport { AnimationClassNames } from '../../Styling';\nimport { useMergedRefs, useAsync, useConst, useTarget } from '@fluentui/react-hooks';\nimport type { ICalloutProps, ICalloutContentStyleProps, ICalloutContentStyles } from './Callout.types';\nimport type { Point, IRectangle } from '../../Utilities';\nimport type { ICalloutPositionedInfo, IPositionProps, IPosition } from '../../Positioning';\nimport type { Target } from '@fluentui/react-hooks';\n\nconst COMPONENT_NAME = 'CalloutContentBase';\n\nconst ANIMATIONS: { [key: number]: string | undefined } = {\n [RectangleEdge.top]: AnimationClassNames.slideUpIn10,\n [RectangleEdge.bottom]: AnimationClassNames.slideDownIn10,\n [RectangleEdge.left]: AnimationClassNames.slideLeftIn10,\n [RectangleEdge.right]: AnimationClassNames.slideRightIn10,\n};\n\nconst BEAK_ORIGIN_POSITION = { top: 0, left: 0 };\n// Microsoft Edge will overwrite inline styles if there is an animation pertaining to that style.\n// To help ensure that edge will respect the offscreen style opacity\n// filter needs to be added as an additional way to set opacity.\n// Also set pointer-events: none so that the callout will not occlude the element it is\n// going to be positioned against\nconst OFF_SCREEN_STYLE: React.CSSProperties = { opacity: 0, filter: 'opacity(0)', pointerEvents: 'none' };\n// role and role description go hand-in-hand. Both would be included by spreading getNativeProps for a basic element\n// This constant array can be used to filter these out of native props spread on callout root and apply them together on\n// calloutMain (the Popup component within the callout)\nconst ARIA_ROLE_ATTRIBUTES = ['role', 'aria-roledescription'];\n\nconst DEFAULT_PROPS = {\n preventDismissOnLostFocus: false,\n preventDismissOnScroll: false,\n preventDismissOnResize: false,\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n minPagePadding: 8,\n directionalHint: DirectionalHint.bottomAutoEdge,\n} as const;\n\nconst getClassNames = classNamesFunction({\n disableCaching: true, // disabling caching because stylesProp.position mutates often\n});\n\n/**\n * (Hook) to return a function to lazily fetch the bounds of the target element for the callout.\n */\nfunction useBounds(\n { bounds, minPagePadding = DEFAULT_PROPS.minPagePadding, target }: ICalloutProps,\n targetRef: React.RefObject,\n targetWindow: Window | undefined,\n) {\n const cachedBounds = React.useRef();\n\n const getBounds = React.useCallback((): IRectangle | undefined => {\n if (!cachedBounds.current) {\n let currentBounds =\n typeof bounds === 'function' ? (targetWindow ? bounds(target, targetWindow) : undefined) : bounds;\n\n if (!currentBounds && targetWindow) {\n currentBounds = getBoundsFromTargetWindow(targetRef.current, targetWindow);\n currentBounds = {\n top: currentBounds.top + minPagePadding,\n left: currentBounds.left + minPagePadding,\n right: currentBounds.right! - minPagePadding,\n bottom: currentBounds.bottom! - minPagePadding,\n width: currentBounds.width - minPagePadding * 2,\n height: currentBounds.height - minPagePadding * 2,\n };\n }\n cachedBounds.current = currentBounds;\n }\n\n return cachedBounds.current;\n }, [bounds, minPagePadding, target, targetRef, targetWindow]);\n\n return getBounds;\n}\n\n/**\n * (Hook) to return the maximum available height for the Callout to render into.\n */\nfunction useMaxHeight(\n { beakWidth, coverTarget, directionalHint, directionalHintFixed, gapSpace, isBeakVisible, hidden }: ICalloutProps,\n targetRef: React.RefObject,\n getBounds: () => IRectangle | undefined,\n) {\n const [maxHeight, setMaxHeight] = React.useState();\n const async = useAsync();\n\n // Updating targetRef won't re-render the component, but it's recalculated (if needed) with every render\n // If it mutates, we want to re-run the effect\n const currentTarget = targetRef.current;\n\n React.useEffect(() => {\n if (!maxHeight && !hidden) {\n if (directionalHintFixed && currentTarget) {\n // Since the callout cannot measure it's border size it must be taken into account here. Otherwise it will\n // overlap with the target.\n const totalGap: number = (gapSpace ?? 0) + (isBeakVisible && beakWidth ? beakWidth : 0);\n async.requestAnimationFrame(() => {\n if (targetRef.current) {\n setMaxHeight(getMaxHeight(targetRef.current, directionalHint!, totalGap, getBounds(), coverTarget));\n }\n });\n } else {\n setMaxHeight(getBounds()?.height);\n }\n } else if (hidden) {\n setMaxHeight(undefined);\n }\n }, [\n targetRef,\n currentTarget,\n gapSpace,\n beakWidth,\n getBounds,\n hidden,\n async,\n coverTarget,\n directionalHint,\n directionalHintFixed,\n isBeakVisible,\n maxHeight,\n ]);\n\n return maxHeight;\n}\n\n/**\n * (Hook) to return the height offset of the callout element and updates it each frame to approach the configured\n * finalHeight.\n */\nfunction useHeightOffset({ finalHeight, hidden }: ICalloutProps, calloutElement: React.RefObject) {\n const [heightOffset, setHeightOffset] = React.useState(0);\n const async = useAsync();\n const setHeightOffsetTimer = React.useRef();\n\n const setHeightOffsetEveryFrame = React.useCallback((): void => {\n if (calloutElement.current && finalHeight) {\n setHeightOffsetTimer.current = async.requestAnimationFrame(() => {\n const calloutMainElem = calloutElement.current?.lastChild as HTMLElement;\n\n if (!calloutMainElem) {\n return;\n }\n\n const cardScrollHeight: number = calloutMainElem.scrollHeight;\n const cardCurrHeight: number = calloutMainElem.offsetHeight;\n const scrollDiff: number = cardScrollHeight - cardCurrHeight;\n\n setHeightOffset(currentHeightOffset => currentHeightOffset + scrollDiff);\n\n if (calloutMainElem.offsetHeight < finalHeight) {\n setHeightOffsetEveryFrame();\n } else {\n async.cancelAnimationFrame(setHeightOffsetTimer.current!, calloutElement.current);\n }\n }, calloutElement.current);\n }\n }, [async, calloutElement, finalHeight]);\n\n React.useEffect(() => {\n if (!hidden) {\n setHeightOffsetEveryFrame();\n }\n }, [finalHeight, hidden, setHeightOffsetEveryFrame]);\n\n return heightOffset;\n}\n\n/**\n * (Hook) to find the current position of Callout. If Callout is resized then a new position is calculated.\n */\nfunction usePositions(\n props: ICalloutProps,\n hostElement: React.RefObject,\n calloutElement: React.RefObject,\n targetRef: React.RefObject,\n getBounds: () => IRectangle | undefined,\n) {\n const [positions, setPositions] = React.useState();\n const positionAttempts = React.useRef(0);\n const previousTarget = React.useRef();\n const async = useAsync();\n const { hidden, target, finalHeight, onPositioned, directionalHint } = props;\n\n React.useEffect(() => {\n if (!hidden) {\n const timerId = async.requestAnimationFrame(() => {\n // If we expect a target element to position against, we need to wait until `targetRef.current`\n // is resolved. Otherwise we can try to position.\n const expectsTarget = !!target;\n\n if (hostElement.current && calloutElement.current && (!expectsTarget || targetRef.current)) {\n const currentProps: IPositionProps = {\n ...props,\n target: targetRef.current!,\n bounds: getBounds(),\n };\n\n const previousPositions = previousTarget.current === target ? positions : undefined;\n\n // If there is a finalHeight given then we assume that the user knows and will handle\n // additional positioning adjustments so we should call positionCard\n const newPositions: ICalloutPositionedInfo = finalHeight\n ? positionCard(currentProps, hostElement.current, calloutElement.current, previousPositions)\n : positionCallout(currentProps, hostElement.current, calloutElement.current, previousPositions);\n // Set the new position only when the positions are not exists or one of the new callout positions\n // are different. The position should not change if the position is within 2 decimal places.\n if (\n (!positions && newPositions) ||\n (positions && newPositions && !arePositionsEqual(positions, newPositions) && positionAttempts.current < 5)\n ) {\n // We should not reposition the callout more than a few times, if it is then the content is likely resizing\n // and we should stop trying to reposition to prevent a stack overflow.\n positionAttempts.current++;\n setPositions(newPositions);\n } else if (positionAttempts.current > 0) {\n // Only call the onPositioned callback if the callout has been re-positioned at least once.\n positionAttempts.current = 0;\n onPositioned?.(positions);\n }\n }\n }, calloutElement.current);\n\n previousTarget.current = target;\n\n return () => {\n async.cancelAnimationFrame(timerId);\n previousTarget.current = undefined;\n };\n }\n }, [\n hidden,\n directionalHint,\n async,\n calloutElement,\n hostElement,\n targetRef,\n finalHeight,\n getBounds,\n onPositioned,\n positions,\n props,\n target,\n ]);\n\n return positions;\n}\n\n/**\n * (Hook) to set up behavior to automatically focus the callout when it appears, if indicated by props.\n */\nfunction useAutoFocus(\n { hidden, setInitialFocus }: ICalloutProps,\n positions: ICalloutPositionedInfo | undefined,\n calloutElement: React.RefObject,\n) {\n const async = useAsync();\n const hasPositions = !!positions;\n React.useEffect(() => {\n if (!hidden && setInitialFocus && hasPositions && calloutElement.current) {\n const timerId = async.requestAnimationFrame(\n () => focusFirstChild(calloutElement.current!),\n calloutElement.current,\n );\n\n return () => async.cancelAnimationFrame(timerId);\n }\n }, [hidden, hasPositions, async, calloutElement, setInitialFocus]);\n}\n\n/**\n * (Hook) to set up various handlers to dismiss the popup when it loses focus or the window scrolls or similar cases.\n */\nfunction useDismissHandlers(\n {\n hidden,\n onDismiss,\n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnScroll,\n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnResize,\n // eslint-disable-next-line deprecation/deprecation\n preventDismissOnLostFocus,\n dismissOnTargetClick,\n shouldDismissOnWindowFocus,\n preventDismissOnEvent,\n }: ICalloutProps,\n positions: ICalloutPositionedInfo | undefined,\n hostElement: React.RefObject,\n targetRef: React.RefObject,\n targetWindow: Window | undefined,\n) {\n const isMouseDownOnPopup = React.useRef(false);\n const async = useAsync();\n\n const mouseDownHandlers = useConst([\n () => {\n isMouseDownOnPopup.current = true;\n },\n () => {\n isMouseDownOnPopup.current = false;\n },\n ] as const);\n\n const positionsExists = !!positions;\n\n React.useEffect(() => {\n const dismissOnScroll = (ev: Event) => {\n if (positionsExists && !preventDismissOnScroll) {\n dismissOnClickOrScroll(ev);\n }\n };\n\n const dismissOnResize = (ev: Event) => {\n if (!preventDismissOnResize && !(preventDismissOnEvent && preventDismissOnEvent(ev))) {\n onDismiss?.(ev);\n }\n };\n\n const dismissOnLostFocus = (ev: Event) => {\n if (!preventDismissOnLostFocus) {\n dismissOnClickOrScroll(ev);\n }\n };\n\n const dismissOnClickOrScroll = (ev: Event) => {\n const target = ev.target as HTMLElement;\n const isEventTargetOutsideCallout = hostElement.current && !elementContains(hostElement.current, target);\n\n // If mouse is pressed down on callout but moved outside then released, don't dismiss the callout.\n if (isEventTargetOutsideCallout && isMouseDownOnPopup.current) {\n isMouseDownOnPopup.current = false;\n return;\n }\n\n if (\n (!targetRef.current && isEventTargetOutsideCallout) ||\n (ev.target !== targetWindow &&\n isEventTargetOutsideCallout &&\n (!targetRef.current ||\n 'stopPropagation' in targetRef.current ||\n dismissOnTargetClick ||\n (target !== targetRef.current && !elementContains(targetRef.current as HTMLElement, target))))\n ) {\n if (preventDismissOnEvent && preventDismissOnEvent(ev)) {\n return;\n }\n onDismiss?.(ev);\n }\n };\n\n const dismissOnTargetWindowBlur = (ev: FocusEvent) => {\n // Do nothing\n if (!shouldDismissOnWindowFocus) {\n return;\n }\n\n if (\n ((preventDismissOnEvent && !preventDismissOnEvent(ev)) ||\n (!preventDismissOnEvent && !preventDismissOnLostFocus)) &&\n !targetWindow?.document.hasFocus() &&\n ev.relatedTarget === null\n ) {\n onDismiss?.(ev);\n }\n };\n\n // This is added so the callout will dismiss when the window is scrolled\n // but not when something inside the callout is scrolled. The delay seems\n // to be required to avoid React firing an async focus event in IE from\n // the target changing focus quickly prior to rendering the callout.\n const disposablesPromise = new Promise<() => void>(resolve => {\n async.setTimeout(() => {\n if (!hidden && targetWindow) {\n const disposables = [\n on(targetWindow, 'scroll', dismissOnScroll, true),\n on(targetWindow, 'resize', dismissOnResize, true),\n on(targetWindow.document.documentElement, 'focus', dismissOnLostFocus, true),\n on(targetWindow.document.documentElement, 'click', dismissOnLostFocus, true),\n on(targetWindow, 'blur', dismissOnTargetWindowBlur, true),\n ];\n\n resolve(() => {\n disposables.forEach(dispose => dispose());\n });\n }\n }, 0);\n });\n\n return () => {\n disposablesPromise.then(dispose => dispose());\n };\n }, [\n hidden,\n async,\n hostElement,\n targetRef,\n targetWindow,\n onDismiss,\n shouldDismissOnWindowFocus,\n dismissOnTargetClick,\n preventDismissOnLostFocus,\n preventDismissOnResize,\n preventDismissOnScroll,\n positionsExists,\n preventDismissOnEvent,\n ]);\n\n return mouseDownHandlers;\n}\n\nexport const CalloutContentBase: React.FunctionComponent = React.memo(\n React.forwardRef((propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n const {\n styles,\n style,\n ariaLabel,\n ariaDescribedBy,\n ariaLabelledBy,\n className,\n isBeakVisible,\n children,\n beakWidth,\n calloutWidth,\n calloutMaxWidth,\n calloutMinWidth,\n doNotLayer,\n finalHeight,\n hideOverflow = !!finalHeight,\n backgroundColor,\n calloutMaxHeight,\n onScroll,\n // eslint-disable-next-line deprecation/deprecation\n shouldRestoreFocus = true,\n target,\n hidden,\n onLayerMounted,\n } = props;\n\n const hostElement = React.useRef(null);\n const calloutElement = React.useRef(null);\n const rootRef = useMergedRefs(hostElement, forwardedRef);\n\n const [targetRef, targetWindow] = useTarget(props.target, calloutElement);\n const getBounds = useBounds(props, targetRef, targetWindow);\n const maxHeight = useMaxHeight(props, targetRef, getBounds);\n const heightOffset = useHeightOffset(props, calloutElement);\n const positions = usePositions(props, hostElement, calloutElement, targetRef, getBounds);\n const [mouseDownOnPopup, mouseUpOnPopup] = useDismissHandlers(\n props,\n positions,\n hostElement,\n targetRef,\n targetWindow,\n );\n\n useAutoFocus(props, positions, calloutElement);\n\n React.useEffect(() => {\n if (!hidden) {\n onLayerMounted?.();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run if hidden changes\n }, [hidden]);\n\n // If there is no target window then we are likely in server side rendering and we should not render anything.\n if (!targetWindow) {\n return null;\n }\n\n const getContentMaxHeight: number | undefined = maxHeight ? maxHeight + heightOffset : undefined;\n const contentMaxHeight: number | undefined = calloutMaxHeight || getContentMaxHeight;\n const overflowYHidden = hideOverflow;\n\n const beakVisible = isBeakVisible && !!target;\n const classNames = getClassNames(styles!, {\n theme: props.theme!,\n className,\n overflowYHidden: overflowYHidden,\n calloutWidth,\n positions,\n beakWidth,\n backgroundColor,\n calloutMaxWidth,\n calloutMinWidth,\n doNotLayer,\n });\n\n const overflowStyle: React.CSSProperties = {\n maxHeight: contentMaxHeight,\n ...style,\n ...(overflowYHidden && { overflowY: 'hidden' }),\n };\n\n const visibilityStyle: React.CSSProperties | undefined = props.hidden ? { visibility: 'hidden' } : undefined;\n // React.CSSProperties does not understand IRawStyle, so the inline animations will need to be cast as any for now.\n const content = (\n
\n \n {beakVisible &&
}\n {beakVisible &&
}\n \n {children}\n \n
\n
\n );\n\n return content;\n }),\n (previousProps: ICalloutProps, nextProps: ICalloutProps) => {\n if (!nextProps.shouldUpdateWhenHidden && previousProps.hidden && nextProps.hidden) {\n // Do not update when hidden.\n return true;\n }\n return shallowCompare(previousProps, nextProps);\n },\n);\n\n/**\n * (Utility) to find and return the current `Callout` Beak position.\n *\n * @param positions\n */\nfunction getBeakPosition(positions?: ICalloutPositionedInfo): React.CSSProperties {\n const beakPositionStyle: React.CSSProperties = {\n ...positions?.beakPosition?.elementPosition,\n };\n\n if (!beakPositionStyle.top && !beakPositionStyle.bottom && !beakPositionStyle.left && !beakPositionStyle.right) {\n beakPositionStyle.left = BEAK_ORIGIN_POSITION.left;\n beakPositionStyle.top = BEAK_ORIGIN_POSITION.top;\n }\n\n return beakPositionStyle;\n}\n\n/**\n * (Utility) used to compare two different elementPositions to determine whether they are equal.\n *\n * @param prevElementPositions\n * @param newElementPosition\n */\nfunction arePositionsEqual(\n prevElementPositions: ICalloutPositionedInfo,\n newElementPosition: ICalloutPositionedInfo,\n): boolean {\n return (\n comparePositions(prevElementPositions.elementPosition, newElementPosition.elementPosition) &&\n comparePositions(prevElementPositions.beakPosition.elementPosition, newElementPosition.beakPosition.elementPosition)\n );\n}\n\n/**\n * (Utility) used in **arePositionsEqual** to compare two different elementPositions.\n *\n * @param prevElementPositions\n * @param newElementPositions\n */\nfunction comparePositions(prevElementPositions: IPosition, newElementPositions: IPosition): boolean {\n for (const key in newElementPositions) {\n if (newElementPositions.hasOwnProperty(key)) {\n const oldPositionEdge = prevElementPositions[key];\n const newPositionEdge = newElementPositions[key];\n if (oldPositionEdge !== undefined && newPositionEdge !== undefined) {\n if (oldPositionEdge.toFixed(2) !== newPositionEdge.toFixed(2)) {\n return false;\n }\n } else {\n return false;\n }\n }\n }\n return true;\n}\n\nCalloutContentBase.displayName = COMPONENT_NAME;\n","import { HighContrastSelector, focusClear, getGlobalClassNames, ZIndexes } from '../../Styling';\nimport type { IRawStyle } from '../../Styling';\nimport type { ICalloutContentStyleProps, ICalloutContentStyles } from './Callout.types';\n\nfunction getBeakStyle(beakWidth?: number): IRawStyle {\n return {\n height: beakWidth,\n width: beakWidth,\n };\n}\n\nconst GlobalClassNames = {\n container: 'ms-Callout-container',\n root: 'ms-Callout',\n beak: 'ms-Callout-beak',\n beakCurtain: 'ms-Callout-beakCurtain',\n calloutMain: 'ms-Callout-main',\n};\n\nexport const getStyles = (props: ICalloutContentStyleProps): ICalloutContentStyles => {\n const {\n theme,\n className,\n overflowYHidden,\n calloutWidth,\n beakWidth,\n backgroundColor,\n calloutMaxWidth,\n calloutMinWidth,\n doNotLayer,\n } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const { semanticColors, effects } = theme;\n\n return {\n container: [\n classNames.container,\n {\n position: 'relative',\n },\n ],\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n position: 'absolute',\n zIndex: doNotLayer ? ZIndexes.Layer : undefined,\n boxSizing: 'border-box',\n borderRadius: effects.roundedCorner2,\n boxShadow: effects.elevation16,\n selectors: {\n [HighContrastSelector]: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'WindowText',\n },\n },\n },\n focusClear(),\n className,\n !!calloutWidth && { width: calloutWidth },\n !!calloutMaxWidth && { maxWidth: calloutMaxWidth },\n !!calloutMinWidth && { minWidth: calloutMinWidth },\n ],\n beak: [\n classNames.beak,\n {\n position: 'absolute',\n backgroundColor: semanticColors.menuBackground,\n boxShadow: 'inherit',\n border: 'inherit',\n boxSizing: 'border-box',\n transform: 'rotate(45deg)',\n },\n getBeakStyle(beakWidth),\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n beakCurtain: [\n classNames.beakCurtain,\n {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n backgroundColor: semanticColors.menuBackground,\n borderRadius: effects.roundedCorner2,\n },\n ],\n calloutMain: [\n classNames.calloutMain,\n {\n backgroundColor: semanticColors.menuBackground,\n overflowX: 'hidden',\n overflowY: 'auto',\n position: 'relative',\n borderRadius: effects.roundedCorner2,\n },\n overflowYHidden && {\n overflowY: 'hidden',\n },\n backgroundColor && {\n backgroundColor: backgroundColor,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { CalloutContentBase } from './CalloutContent.base';\nimport { getStyles } from './CalloutContent.styles';\nimport type { ICalloutProps } from './Callout.types';\n\nexport const CalloutContent: React.FunctionComponent = styled(CalloutContentBase, getStyles, undefined, {\n scope: 'CalloutContent',\n});\n","import * as React from 'react';\nimport { CalloutContent } from './CalloutContent';\nimport { Layer } from '../../Layer';\nimport type { ICalloutProps } from './Callout.types';\n\nexport const Callout: React.FunctionComponent = React.forwardRef(\n ({ layerProps, doNotLayer, ...rest }, forwardedRef) => {\n const content = ;\n return doNotLayer ? content : {content};\n },\n);\nCallout.displayName = 'Callout';\n","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\n\nvar omit =\n/*#__PURE__*/\n_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n\n return result;\n});\n\nexport default omit;","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to generate the cache key.\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @example\n *\n * let count = 0;\n * const factorial = R.memoizeWith(R.identity, n => {\n * count += 1;\n * return R.product(R.range(1, n + 1));\n * });\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * count; //=> 1\n */\n\nvar memoizeWith =\n/*#__PURE__*/\n_curry2(function memoizeWith(mFn, fn) {\n var cache = {};\n return _arity(fn.length, function () {\n var key = mFn.apply(this, arguments);\n\n if (!_has(key, cache)) {\n cache[key] = fn.apply(this, arguments);\n }\n\n return cache[key];\n });\n});\n\nexport default memoizeWith;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Tests a regular expression against a String. Note that this function will\n * return an empty array when there are no matches. This differs from\n * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n * which returns `null` when there are no matches.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig RegExp -> String -> [String | Undefined]\n * @param {RegExp} rx A regular expression.\n * @param {String} str The string to match against\n * @return {Array} The list of matches or empty array.\n * @see R.test\n * @example\n *\n * R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n * R.match(/a/, 'b'); //=> []\n * R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n */\n\nvar match =\n/*#__PURE__*/\n_curry2(function match(rx, str) {\n return str.match(rx) || [];\n});\n\nexport default match;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Replace a substring or regex match in a string with a replacement.\n *\n * The first two parameters correspond to the parameters of the\n * `String.prototype.replace()` function, so the second parameter can also be a\n * function.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category String\n * @sig RegExp|String -> String -> String -> String\n * @param {RegExp|String} pattern A regular expression or a substring to match.\n * @param {String} replacement The string to replace the matches with.\n * @param {String} str The String to do the search and replacement in.\n * @return {String} The result.\n * @example\n *\n * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *\n * // Use the \"g\" (global) flag to replace all occurrences:\n * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n */\n\nvar replace =\n/*#__PURE__*/\n_curry3(function replace(regex, replacement, str) {\n return str.replace(regex, replacement);\n});\n\nexport default replace;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n return path([p], obj);\n});\n\nexport default prop;","import _curry3 from \"./internal/_curry3.js\";\nimport always from \"./always.js\";\nimport over from \"./over.js\";\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}\n */\n\nvar set =\n/*#__PURE__*/\n_curry3(function set(lens, v, x) {\n return over(lens, always(v), x);\n});\n\nexport default set;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\n\nvar append =\n/*#__PURE__*/\n_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\n\nexport default append;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Subtracts its second argument from its first argument.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a - b`.\n * @see R.add\n * @example\n *\n * R.subtract(10, 8); //=> 2\n *\n * const minus5 = R.subtract(R.__, 5);\n * minus5(17); //=> 12\n *\n * const complementaryAngle = R.subtract(90);\n * complementaryAngle(30); //=> 60\n * complementaryAngle(72); //=> 18\n */\n\nvar subtract =\n/*#__PURE__*/\n_curry2(function subtract(a, b) {\n return Number(a) - Number(b);\n});\n\nexport default subtract;","import * as React from 'react';\nimport { concatStyleSetsWithProps } from '@fluentui/merge-styles';\nimport { useCustomizationSettings } from './customizations/useCustomizationSettings';\nimport type { IStyleSet, IStyleFunctionOrObject } from '@fluentui/merge-styles';\n\nexport interface IPropsWithStyles> {\n styles?: IStyleFunctionOrObject;\n}\n\nexport interface ICustomizableProps {\n /**\n * Name of scope, which can be targeted using the Customizer.\n */\n scope: string;\n\n /**\n * List of fields which can be customized.\n * @defaultvalue [ 'theme', 'styles' ]\n */\n fields?: string[];\n}\n\nconst DefaultFields = ['theme', 'styles'];\n\nexport type StyleFunction = IStyleFunctionOrObject & {\n /** Cache for all style functions. */\n __cachedInputs__: (IStyleFunctionOrObject | undefined)[];\n\n /** True if no styles prop or styles from Customizer is passed to wrapped component. */\n __noStyleOverride__: boolean;\n};\n\n/**\n * The styled HOC wrapper allows you to create a functional wrapper around a given component which will resolve\n * getStyles functional props, and mix customized props passed in using concatStyleSets.\n *\n * @example\n * ```tsx\n * export const Toggle = styled(\n * ToggleBase,\n * props => ({ root: { background: 'red' }})\n * );\n * ```\n * @param Component - The unstyled base component to render, which receives styles.\n * @param baseStyles - The styles which should be curried with the component.\n * @param getProps - A helper which provides default props.\n * @param customizable - An object which defines which props can be customized using the Customizer.\n * @param pure - A boolean indicating if the component should avoid re-rendering when props haven't changed.\n * Note that pure should not be used on components which allow children, or take in complex objects or\n * arrays as props which could mutate on every render.\n */\nexport function styled<\n TComponentProps extends IPropsWithStyles,\n TStyleProps,\n TStyleSet extends IStyleSet\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n): React.FunctionComponent;\nexport function styled<\n TComponentProps extends IPropsWithStyles & React.RefAttributes,\n TStyleProps,\n TStyleSet extends IStyleSet,\n TRef = unknown\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n): React.ForwardRefExoticComponent & React.RefAttributes>;\nexport function styled<\n TComponentProps extends IPropsWithStyles & React.RefAttributes,\n TStyleProps,\n TStyleSet extends IStyleSet,\n TRef = unknown\n>(\n Component: React.ComponentClass | React.FunctionComponent,\n baseStyles: IStyleFunctionOrObject,\n getProps?: (props: TComponentProps) => Partial,\n customizable?: ICustomizableProps,\n pure?: boolean,\n) {\n customizable = customizable || { scope: '', fields: undefined };\n\n const { scope, fields = DefaultFields } = customizable;\n\n const Wrapped = React.forwardRef((props: TComponentProps, forwardedRef: React.Ref) => {\n const styles = React.useRef>();\n\n const settings = useCustomizationSettings(fields, scope);\n const { styles: customizedStyles, dir, ...rest } = settings;\n const additionalProps = getProps ? getProps(props) : undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const cache = (styles.current && (styles.current as any).__cachedInputs__) || [];\n if (!styles.current || customizedStyles !== cache[1] || props.styles !== cache[2]) {\n // Using styled components as the Component arg will result in nested styling arrays.\n const concatenatedStyles: IStyleFunctionOrObject = (styleProps: TStyleProps) =>\n concatStyleSetsWithProps(styleProps, baseStyles, customizedStyles, props.styles);\n\n // The __cachedInputs__ array is attached to the function and consumed by the\n // classNamesFunction as a list of keys to include for memoizing classnames.\n (concatenatedStyles as StyleFunction).__cachedInputs__ = [\n baseStyles,\n customizedStyles,\n props.styles,\n ];\n\n (concatenatedStyles as StyleFunction).__noStyleOverride__ =\n !customizedStyles && !props.styles;\n\n styles.current = concatenatedStyles as StyleFunction;\n }\n\n return ;\n });\n // Function.prototype.name is an ES6 feature, so the cast to any is required until we're\n // able to drop IE 11 support and compile with ES6 libs\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Wrapped.displayName = `Styled${Component.displayName || (Component as any).name}`;\n\n // This preserves backwards compatibility.\n const pureComponent = pure ? React.memo(Wrapped) : Wrapped;\n // Check if the wrapper has a displayName after it has been memoized. Then assign it to the pure component.\n if (Wrapped.displayName) {\n pureComponent.displayName = Wrapped.displayName;\n }\n\n return pureComponent;\n}\n","import { mergeCssSets, Stylesheet } from '@fluentui/merge-styles';\nimport { getRTL } from './rtl';\nimport { getWindow } from './dom';\nimport type { IStyleSet, IProcessedStyleSet, IStyleFunctionOrObject } from '@fluentui/merge-styles';\nimport type { StyleFunction } from './styled';\n\nconst MAX_CACHE_COUNT = 50;\nconst DEFAULT_SPECIFICITY_MULTIPLIER = 5;\n\nlet _memoizedClassNames = 0;\n\nconst stylesheet = Stylesheet.getInstance();\n\nif (stylesheet && stylesheet.onReset) {\n stylesheet.onReset(() => _memoizedClassNames++);\n}\n\n// Note that because of the caching nature within the classNames memoization,\n// I've disabled this rule to simply be able to work with any types.\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n// This represents a prop we attach to each Map to indicate the cached return value\n// associated with the graph node.\nconst retVal = '__retval__';\n\ninterface IRecursiveMemoNode extends Map {\n [retVal]?: string;\n}\n\ntype AppWindow = (Window & { FabricConfig?: { enableClassNameCacheFullWarning?: boolean } }) | undefined;\n\nexport interface IClassNamesFunctionOptions {\n /**\n * Disables class caching for scenarios where styleProp parts mutate frequently.\n */\n disableCaching?: boolean;\n\n /**\n * Size of the cache. It overwrites default cache size when defined.\n */\n cacheSize?: number;\n\n /**\n * Set to true if component base styles are implemented in scss instead of css-in-js.\n */\n useStaticStyles?: boolean;\n}\n\n/**\n * Creates a getClassNames function which calls getStyles given the props, and injects them\n * into mergeStyleSets.\n *\n * Note that the props you pass in on every render should be in the same order and\n * immutable (numbers, strings, and booleans). This will allow the results to be memoized. Violating\n * these will cause extra recalcs to occur.\n */\nexport function classNamesFunction>(\n options: IClassNamesFunctionOptions = {},\n): (\n getStyles: IStyleFunctionOrObject | undefined,\n styleProps?: TStyleProps,\n) => IProcessedStyleSet {\n // We build a trie where each node is a Map. The map entry key represents an argument\n // value, and the entry value is another node (Map). Each node has a `__retval__`\n // property which is used to hold the cached response.\n\n // To derive the response, we can simply ensure the arguments are added or already\n // exist in the trie. At the last node, if there is a `__retval__` we return that. Otherwise\n // we call the `getStyles` api to evaluate, cache on the property, and return that.\n let map: IRecursiveMemoNode = new Map();\n let styleCalcCount = 0;\n let getClassNamesCount = 0;\n let currentMemoizedClassNames = _memoizedClassNames;\n\n const getClassNames = (\n styleFunctionOrObject: IStyleFunctionOrObject | undefined,\n styleProps: TStyleProps = {} as TStyleProps,\n ): IProcessedStyleSet => {\n // If useStaticStyles is true, styleFunctionOrObject returns slot to classname mappings.\n // If there is also no style overrides, we can skip merge styles completely and\n // simply return the result from the style funcion.\n if (\n options.useStaticStyles &&\n typeof styleFunctionOrObject === 'function' &&\n (styleFunctionOrObject as StyleFunction).__noStyleOverride__\n ) {\n return styleFunctionOrObject(styleProps) as IProcessedStyleSet;\n }\n\n getClassNamesCount++;\n let current: Map = map;\n const { theme } = styleProps as any;\n const rtl = theme && theme.rtl !== undefined ? theme.rtl : getRTL();\n\n const disableCaching = options.disableCaching;\n\n // On reset of our stylesheet, reset memoized cache.\n if (currentMemoizedClassNames !== _memoizedClassNames) {\n currentMemoizedClassNames = _memoizedClassNames;\n map = new Map();\n styleCalcCount = 0;\n }\n\n if (!options.disableCaching) {\n current = _traverseMap(map, styleFunctionOrObject as any);\n current = _traverseMap(current, styleProps);\n }\n\n if (disableCaching || !(current as any)[retVal]) {\n if (styleFunctionOrObject === undefined) {\n (current as any)[retVal] = {} as IProcessedStyleSet;\n } else {\n (current as any)[retVal] = mergeCssSets(\n [\n (typeof styleFunctionOrObject === 'function'\n ? styleFunctionOrObject(styleProps)\n : styleFunctionOrObject) as IStyleSet,\n ],\n { rtl: !!rtl, specificityMultiplier: options.useStaticStyles ? DEFAULT_SPECIFICITY_MULTIPLIER : undefined },\n );\n }\n\n if (!disableCaching) {\n styleCalcCount++;\n }\n }\n\n if (styleCalcCount > (options.cacheSize || MAX_CACHE_COUNT)) {\n const win = getWindow() as AppWindow;\n if (win?.FabricConfig?.enableClassNameCacheFullWarning) {\n // eslint-disable-next-line no-console\n console.warn(\n `Styles are being recalculated too frequently. Cache miss rate is ${styleCalcCount}/${getClassNamesCount}.`,\n );\n // eslint-disable-next-line no-console\n console.trace();\n }\n\n map.clear();\n styleCalcCount = 0;\n\n // Mutate the options passed in, that's all we can do.\n options.disableCaching = true;\n }\n\n // Note: the retVal is an attached property on the Map; not a key in the Map. We use this attached property to\n // cache the return value for this branch of the graph.\n return (current as any)[retVal];\n };\n\n return getClassNames;\n}\n\nfunction _traverseEdge(current: Map, value: any): Map {\n value = _normalizeValue(value);\n\n if (!current.has(value)) {\n current.set(value, new Map());\n }\n\n return current.get(value);\n}\n\nfunction _traverseMap(current: Map, inputs: any[] | Object): Map {\n if (typeof inputs === 'function') {\n const cachedInputsFromStyled = (inputs as StyleFunction).__cachedInputs__;\n if (cachedInputsFromStyled) {\n // The styled helper will generate the styles function and will attach the cached\n // inputs (consisting of the default styles, customzied styles, and user provided styles.)\n // These should be used as cache keys for deriving the memoized value.\n for (const input of (inputs as any).__cachedInputs__) {\n current = _traverseEdge(current, input);\n }\n } else {\n current = _traverseEdge(current, inputs);\n }\n } else if (typeof inputs === 'object') {\n for (const propName in inputs) {\n if (inputs.hasOwnProperty(propName)) {\n current = _traverseEdge(current, (inputs as any)[propName]);\n }\n }\n }\n\n return current;\n}\n\nfunction _normalizeValue(value: any): string {\n switch (value) {\n case undefined:\n return '__undefined__';\n case null:\n return '__null__';\n default:\n return value;\n }\n}\n","import * as React from 'react';\nimport { concatStyleSets, IStyleSet, ITheme } from '@fluentui/style-utilities';\nimport { Customizations, CustomizerContext, ICustomizerContext } from '@fluentui/utilities';\nimport { createFactory } from './slots';\nimport { assign } from './utilities';\n\nimport {\n IComponentOptions,\n ICustomizationProps,\n IStyleableComponentProps,\n IStylesFunctionOrObject,\n IToken,\n ITokenFunction,\n IViewComponent,\n} from './IComponent';\nimport { IDefaultSlotProps, ISlotCreator, ValidProps } from './ISlots';\n\n/**\n * Assembles a higher order component based on the following: styles, theme, view, and state.\n * Imposes a separation of concern and centralizes styling processing to increase ease of use and robustness\n * in how components use and apply styling and theming.\n *\n * Automatically merges and applies themes and styles with theme / styleprops having the highest priority.\n * State component, if provided, is passed in props for processing. Props from state / user are automatically processed\n * and styled before finally being passed to view.\n *\n * State components should contain all stateful behavior and should not generate any JSX, but rather simply call\n * the view prop.\n *\n * Views should simply be stateless pure functions that receive all props needed for rendering their output.\n *\n * State component is optional. If state is not provided, created component is essentially a functional\n * stateless component.\n *\n * @param options - component Component options. See IComponentOptions for more detail.\n */\nexport function createComponent<\n TComponentProps extends ValidProps,\n TTokens,\n TStyleSet extends IStyleSet,\n TViewProps extends TComponentProps = TComponentProps,\n TStatics = {}\n>(\n view: IViewComponent,\n options: IComponentOptions = {},\n): React.FunctionComponent & TStatics {\n const { factoryOptions = {} } = options;\n const { defaultProp } = factoryOptions;\n\n const ResultComponent: React.FunctionComponent = (\n componentProps: TComponentProps & IStyleableComponentProps,\n ) => {\n const settings: ICustomizationProps = _getCustomizations(\n options.displayName,\n React.useContext(CustomizerContext),\n options.fields,\n );\n\n const stateReducer = options.state;\n\n if (stateReducer) {\n // Don't assume state will return all props, so spread useState result over component props.\n componentProps = {\n ...componentProps,\n ...stateReducer(componentProps),\n };\n }\n\n const theme = componentProps.theme || settings.theme;\n\n const tokens = _resolveTokens(componentProps, theme, options.tokens, settings.tokens, componentProps.tokens);\n const styles = _resolveStyles(\n componentProps,\n theme,\n tokens,\n options.styles,\n settings.styles,\n componentProps.styles,\n );\n\n const viewProps = ({\n ...componentProps,\n styles,\n tokens,\n _defaultStyles: styles,\n theme,\n } as unknown) as TViewProps & IDefaultSlotProps;\n\n return view(viewProps);\n };\n\n ResultComponent.displayName = options.displayName || view.name;\n\n // If a shorthand prop is defined, create a factory for the component.\n // TODO: This shouldn't be a concern of createComponent.. factoryOptions should just be forwarded.\n // Need to weigh creating default factories on component creation vs. memoizing them on use in slots.tsx.\n if (defaultProp) {\n (ResultComponent as ISlotCreator).create = createFactory(ResultComponent, { defaultProp });\n }\n\n assign(ResultComponent, options.statics);\n\n // Later versions of TypeSript should allow us to merge objects in a type safe way and avoid this cast.\n return ResultComponent as React.FunctionComponent & TStatics;\n}\n\n/**\n * Resolve all styles functions with both props and tokens and flatten results along with all styles objects.\n */\nfunction _resolveStyles>(\n props: TProps,\n theme: ITheme,\n tokens: TTokens,\n ...allStyles: (IStylesFunctionOrObject | undefined)[]\n): ReturnType {\n return concatStyleSets(\n ...allStyles.map((styles: IStylesFunctionOrObject | undefined) =>\n typeof styles === 'function' ? styles(props, theme, tokens) : styles,\n ),\n );\n}\n\n/**\n * Resolve all tokens functions with props flatten results along with all tokens objects.\n */\nfunction _resolveTokens(\n props: TViewProps,\n theme: ITheme,\n ...allTokens: (IToken | false | null | undefined)[]\n): TTokens {\n const tokens = {};\n\n for (let currentTokens of allTokens) {\n if (currentTokens) {\n // TODO: why is this cast needed? TS seems to think there is a (TToken | Function) union from somewhere.\n currentTokens =\n typeof currentTokens === 'function'\n ? (currentTokens as ITokenFunction)(props, theme)\n : currentTokens;\n\n if (Array.isArray(currentTokens)) {\n currentTokens = _resolveTokens(props, theme, ...currentTokens);\n }\n\n assign(tokens, currentTokens);\n }\n }\n\n return tokens as TTokens;\n}\n\n/**\n * Helper function for calling Customizations.getSettings falling back to default fields.\n *\n * @param displayName Displayable name for component.\n * @param context React context passed to component containing contextual settings.\n * @param fields Optional list of properties to grab from global store and context.\n */\nfunction _getCustomizations>(\n displayName: string | undefined,\n context: ICustomizerContext,\n fields?: string[],\n): ICustomizationProps {\n // TODO: do we want field props? should fields be part of IComponent and used here?\n // TODO: should we centrally define DefaultFields? (not exported from styling)\n // TODO: tie this array to ICustomizationProps, such that each array element is keyof ICustomizationProps\n const DefaultFields = ['theme', 'styles', 'tokens'];\n return Customizations.getSettings(fields || DefaultFields, displayName, context.customizations);\n}\n","import * as React from 'react';\nimport { arraysEqual } from './array';\n\n/**\n * Internal state type for the ref.\n */\ntype LocalState = {\n refs: (React.Ref | undefined)[];\n resolver?: (newValue: TType | TValue | null) => void;\n};\n\n/**\n * Set up a ref resolver function given internal state managed for the ref.\n * @param local Set\n */\nconst createResolver = (local: LocalState) => (newValue: TType | TValue | null) => {\n for (const ref of local.refs) {\n if (typeof ref === 'function') {\n ref(newValue);\n } else if (ref) {\n // work around the immutability of the React.Ref type\n ((ref as unknown) as React.MutableRefObject).current = newValue;\n }\n }\n};\n\n/**\n * Helper to merge refs from within class components.\n */\nexport const createMergedRef = (value?: TValue) => {\n const local: LocalState = {\n refs: [] as LocalState['refs'],\n };\n\n return (\n ...newRefs: (React.Ref | undefined)[]\n ): ((newValue: TType | TValue | null) => void) => {\n if (!local.resolver || !arraysEqual(local.refs, newRefs)) {\n local.resolver = createResolver(local);\n }\n\n local.refs = newRefs;\n\n return local.resolver!;\n };\n};\n","import { getParent } from './getParent';\n/**\n * Determines whether or not a parent element contains a given child element.\n * If `allowVirtualParents` is true, this method may return `true` if the child\n * has the parent in its virtual element hierarchy.\n *\n * @public\n */\nexport function elementContains(\n parent: HTMLElement | null,\n child: HTMLElement | null,\n allowVirtualParents: boolean = true,\n): boolean {\n let isContained = false;\n\n if (parent && child) {\n if (allowVirtualParents) {\n if (parent === child) {\n isContained = true;\n } else {\n isContained = false;\n\n while (child) {\n const nextParent: HTMLElement | null = getParent(child);\n\n if (nextParent === parent) {\n isContained = true;\n break;\n }\n\n child = nextParent;\n }\n }\n } else if (parent.contains) {\n isContained = parent.contains(child);\n }\n }\n\n return isContained;\n}\n","/** Raises a click event. */\nexport function raiseClick(target: Element): void {\n const event = createNewEvent('MouseEvents');\n event.initEvent('click', true, true);\n target.dispatchEvent(event);\n}\n\nfunction createNewEvent(eventName: string): Event {\n let event;\n if (typeof Event === 'function') {\n // Chrome, Opera, Firefox\n event = new Event(eventName);\n } else {\n // IE\n event = document.createEvent('Event');\n event.initEvent(eventName, true, true);\n }\n return event;\n}\n","import { getDocument } from './dom/getDocument';\nimport { mergeStyles } from '@fluentui/merge-styles';\nimport { EventGroup } from './EventGroup';\nimport { getWindow } from './dom/getWindow';\n\nlet _scrollbarWidth: number;\nlet _bodyScrollDisabledCount = 0;\n\nconst DisabledScrollClassName = mergeStyles({\n overflow: 'hidden !important' as 'hidden',\n});\n\n/**\n * Placing this attribute on scrollable divs optimizes detection to know\n * if the div is scrollable or not (given we can avoid expensive operations\n * like getComputedStyle.)\n *\n * @public\n */\nexport const DATA_IS_SCROLLABLE_ATTRIBUTE = 'data-is-scrollable';\n\n/**\n * Allows the user to scroll within a element,\n * while preventing the user from scrolling the body\n */\nexport const allowScrollOnElement = (element: HTMLElement | null, events: EventGroup): void => {\n if (!element) {\n return;\n }\n\n let _previousClientY = 0;\n let _element: Element | null = null;\n\n // remember the clientY for future calls of _preventOverscrolling\n const _saveClientY = (event: TouchEvent): void => {\n if (event.targetTouches.length === 1) {\n _previousClientY = event.targetTouches[0].clientY;\n }\n };\n\n // prevent the body from scrolling when the user attempts\n // to scroll past the top or bottom of the element\n const _preventOverscrolling = (event: TouchEvent): void => {\n // only respond to a single-finger touch\n if (event.targetTouches.length !== 1) {\n return;\n }\n\n // prevent the body touchmove handler from firing\n // so that scrolling is allowed within the element\n event.stopPropagation();\n\n if (!_element) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY - _previousClientY;\n\n const scrollableParent = findScrollableParent(event.target as HTMLElement) as HTMLElement;\n if (scrollableParent) {\n _element = scrollableParent;\n }\n\n // if the element is scrolled to the top,\n // prevent the user from scrolling up\n if (_element.scrollTop === 0 && clientY > 0) {\n event.preventDefault();\n }\n\n // if the element is scrolled to the bottom,\n // prevent the user from scrolling down\n if (_element.scrollHeight - Math.ceil(_element.scrollTop) <= _element.clientHeight && clientY < 0) {\n event.preventDefault();\n }\n };\n\n events.on(element, 'touchstart', _saveClientY, { passive: false });\n events.on(element, 'touchmove', _preventOverscrolling, { passive: false });\n\n _element = element;\n};\n\n/**\n * Same as allowScrollOnElement but does not prevent overscrolling.\n */\nexport const allowOverscrollOnElement = (element: HTMLElement | null, events: EventGroup): void => {\n if (!element) {\n return;\n }\n const _allowElementScroll = (event: TouchEvent) => {\n event.stopPropagation();\n };\n events.on(element, 'touchmove', _allowElementScroll, { passive: false });\n};\n\nconst _disableIosBodyScroll = (event: TouchEvent) => {\n event.preventDefault();\n};\n\n/**\n * Disables the body scrolling.\n *\n * @public\n */\nexport function disableBodyScroll(): void {\n let doc = getDocument();\n\n if (doc && doc.body && !_bodyScrollDisabledCount) {\n doc.body.classList.add(DisabledScrollClassName);\n doc.body.addEventListener('touchmove', _disableIosBodyScroll, { passive: false, capture: false });\n }\n\n _bodyScrollDisabledCount++;\n}\n\n/**\n * Enables the body scrolling.\n *\n * @public\n */\nexport function enableBodyScroll(): void {\n if (_bodyScrollDisabledCount > 0) {\n let doc = getDocument();\n\n if (doc && doc.body && _bodyScrollDisabledCount === 1) {\n doc.body.classList.remove(DisabledScrollClassName);\n doc.body.removeEventListener('touchmove', _disableIosBodyScroll);\n }\n\n _bodyScrollDisabledCount--;\n }\n}\n\n/**\n * Calculates the width of a scrollbar for the browser/os.\n *\n * @public\n */\nexport function getScrollbarWidth(): number {\n if (_scrollbarWidth === undefined) {\n let scrollDiv: HTMLElement = document.createElement('div');\n scrollDiv.style.setProperty('width', '100px');\n scrollDiv.style.setProperty('height', '100px');\n scrollDiv.style.setProperty('overflow', 'scroll');\n scrollDiv.style.setProperty('position', 'absolute');\n scrollDiv.style.setProperty('top', '-9999px');\n document.body.appendChild(scrollDiv);\n // Get the scrollbar width\n _scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n // Delete the DIV\n document.body.removeChild(scrollDiv);\n }\n\n return _scrollbarWidth;\n}\n\n/**\n * Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns\n * document.body.\n *\n * @public\n */\nexport function findScrollableParent(startingElement: HTMLElement | null): HTMLElement | Window | undefined | null {\n let el: HTMLElement | Window | undefined | null = startingElement;\n const doc = getDocument(startingElement)!;\n\n // First do a quick scan for the scrollable attribute.\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) === 'true') {\n return el;\n }\n el = el.parentElement;\n }\n\n // If we haven't found it, the use the slower method: compute styles to evaluate if overflow is set.\n el = startingElement;\n\n while (el && el !== doc.body) {\n if (el.getAttribute(DATA_IS_SCROLLABLE_ATTRIBUTE) !== 'false') {\n const computedStyles = getComputedStyle(el);\n let overflowY = computedStyles ? computedStyles.getPropertyValue('overflow-y') : '';\n\n if (overflowY && (overflowY === 'scroll' || overflowY === 'auto')) {\n return el;\n }\n }\n\n el = el.parentElement;\n }\n\n // Fall back to window scroll.\n if (!el || el === doc.body) {\n el = getWindow(startingElement);\n }\n\n return el;\n}\n","import { findElementRecursive } from './findElementRecursive';\nimport { DATA_PORTAL_ATTRIBUTE } from './setPortalAttribute';\n\n/**\n * Determine whether a target is within a portal from perspective of root or optional parent.\n * This function only works against portal components that use the setPortalAttribute function.\n * If both parent and child are within the same portal this function will return false.\n * @param target - Element to query portal containment status of.\n * @param parent - Optional parent perspective. Search for containing portal stops at parent\n * (or root if parent is undefined or invalid.)\n */\nexport function portalContainsElement(target: HTMLElement, parent?: HTMLElement): boolean {\n const elementMatch = findElementRecursive(\n target,\n (testElement: HTMLElement) => parent === testElement || testElement.hasAttribute(DATA_PORTAL_ATTRIBUTE),\n );\n return elementMatch !== null && elementMatch.hasAttribute(DATA_PORTAL_ATTRIBUTE);\n}\n","import * as React from 'react';\nimport { createMemoizer } from '../memoize';\nimport type { IComponentAs, IComponentAsProps } from '../IComponentAs';\n\ninterface IComposeComponentAs {\n (outer: IComponentAs): (inner: IComponentAs) => IComponentAs;\n}\n\nfunction createComposedComponent(\n outer: IComponentAs,\n): (inner: IComponentAs) => IComponentAs {\n const Outer = outer;\n\n const outerMemoizer = createMemoizer((inner: IComponentAs) => {\n if (outer === inner) {\n throw new Error('Attempted to compose a component with itself.');\n }\n\n const Inner = inner;\n\n const innerMemoizer = createMemoizer((defaultRender: IComponentAs) => {\n const InnerWithDefaultRender: React.ComponentType> = (\n innerProps: IComponentAsProps,\n ): JSX.Element => {\n return ;\n };\n\n return InnerWithDefaultRender;\n });\n\n const OuterWithDefaultRender: React.ComponentType> = (\n outerProps: IComponentAsProps,\n ): JSX.Element => {\n const { defaultRender } = outerProps;\n\n return ;\n };\n\n return OuterWithDefaultRender;\n });\n\n return outerMemoizer;\n}\n\nconst componentAsMemoizer = createMemoizer(createComposedComponent);\n\n/**\n * Composes two components which conform to the `IComponentAs` specification; that is, two\n * components which accept a `defaultRender` prop, which is a 'default' implementation of\n * a component which accepts the same overall props.\n *\n * @public\n */\nexport function composeComponentAs(\n outer: IComponentAs,\n inner: IComponentAs,\n): IComponentAs {\n return componentAsMemoizer(outer)(inner);\n}\n","import { useRef, useEffect } from 'react';\n\n/**\n * Hook keeping track of a given value from a previous execution of the component the Hook is used in.\n *\n * See [React Hooks FAQ](https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state)\n */\nexport function usePrevious(value: T): T | undefined {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n","/**\n * Function to apply default values to a component props object. This function is intended for function components,\n * to maintain parity with the `defaultProps` feature of class components. It accounts for properties that are\n * specified, but undefined.\n * @param defaultProps- An object with default values for various properties\n * @param propsWithoutDefaults- The props object passed into the component\n */\nexport function getPropsWithDefaults(\n defaultProps: Partial,\n propsWithoutDefaults: TProps,\n): TProps {\n const props = { ...propsWithoutDefaults };\n for (const key of Object.keys(defaultProps) as (keyof TProps)[]) {\n if (props[key] === undefined) {\n props[key] = defaultProps[key]!;\n }\n }\n\n return props;\n}\n","import * as React from 'react';\nimport { getWindow } from '@fluentui/utilities';\nimport { useOnEvent } from '@fluentui/react-hooks';\nimport { ResponsiveMode, getResponsiveMode, getInitialResponsiveMode } from '../decorators/withResponsiveMode';\nimport { useWindow } from '../../WindowProvider';\n\n/**\n * Hook to get the current responsive mode (window size category).\n * @param elementRef - Use this element's parent window when determining the responsive mode.\n * @param overrideResponsiveMode - Override the responsive mode. If this param is present, it's always returned.\n */\nexport const useResponsiveMode = (\n elementRef: React.RefObject,\n overrideResponsiveMode?: ResponsiveMode,\n) => {\n const [lastResponsiveMode, setLastResponsiveMode] = React.useState(getInitialResponsiveMode());\n\n const onResize = React.useCallback(() => {\n const newResponsiveMode = getResponsiveMode(getWindow(elementRef.current));\n\n // Setting the same value should not cause a re-render.\n if (lastResponsiveMode !== newResponsiveMode) {\n setLastResponsiveMode(newResponsiveMode);\n }\n }, [elementRef, lastResponsiveMode]);\n\n const win = useWindow();\n useOnEvent(win, 'resize', onResize);\n\n // Call resize function initially on mount, or if the override changes from defined to undefined\n // (the effect will run on all override changes, but onResize will only be called if it changed to undefined)\n React.useEffect(() => {\n if (overrideResponsiveMode === undefined) {\n onResize();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- only meant to run on mount or when override changes\n }, [overrideResponsiveMode]);\n\n return overrideResponsiveMode ?? lastResponsiveMode;\n};\n","import { getWindow } from './dom/getWindow';\n\nlet isMacResult: boolean | undefined;\n\n/**\n * Returns true if the user is on a Mac. Caches the result value.\n * @param reset - Reset the cached result value (mainly for testing).\n */\nexport function isMac(reset?: boolean): boolean {\n if (typeof isMacResult === 'undefined' || reset) {\n const win = getWindow();\n // In certain SSR frameworks, `window` will be defined even on the server but `navigator` will be undefined\n const userAgent = win?.navigator?.userAgent;\n isMacResult = !!userAgent && userAgent.indexOf('Macintosh') !== -1;\n }\n return !!isMacResult;\n}\n","/**\n * Returns true if and only if the user is on a iOS device.\n * Used to determine whether iOS-specific behavior should be applied.\n */\nexport const isIOS = (): boolean => {\n if (!window || !window.navigator || !window.navigator.userAgent) {\n return false;\n }\n return /iPad|iPhone|iPod/i.test(window.navigator.userAgent);\n};\n","import * as React from 'react';\nimport {\n KeyCodes,\n divProperties,\n doesElementContainFocus,\n getDocument,\n getNativeProps,\n getWindow,\n} from '../../Utilities';\nimport { useMergedRefs, useAsync, useOnEvent } from '@fluentui/react-hooks';\nimport { useWindow } from '@fluentui/react-window-provider';\nimport type { IPopupProps, IPopupRestoreFocusParams } from './Popup.types';\n\nfunction useScrollbarAsync(props: IPopupProps, root: React.RefObject) {\n const async = useAsync();\n const [needsVerticalScrollBarState, setNeedsVerticalScrollBar] = React.useState(false);\n React.useEffect(() => {\n async.requestAnimationFrame(() => {\n // If overflowY is overridden, don't waste time calculating whether the scrollbar is necessary.\n if (props.style && props.style.overflowY) {\n return;\n }\n\n let needsVerticalScrollBar = false;\n if (root && root.current && root.current?.firstElementChild) {\n // ClientHeight returns the client height of an element rounded to an\n // integer. On some browsers at different zoom levels this rounding\n // can generate different results for the root container and child even\n // though they are the same height. This causes us to show a scroll bar\n // when not needed. Ideally we would use BoundingClientRect().height\n // instead however seems that the API is 90% slower than using ClientHeight.\n // Therefore instead we will calculate the difference between heights and\n // allow for a 1px difference to still be considered ok and not show the\n // scroll bar.\n const rootHeight = root.current.clientHeight;\n const firstChildHeight = root.current.firstElementChild.clientHeight;\n if (rootHeight > 0 && firstChildHeight > rootHeight) {\n needsVerticalScrollBar = firstChildHeight - rootHeight > 1;\n }\n }\n if (needsVerticalScrollBarState !== needsVerticalScrollBar) {\n setNeedsVerticalScrollBar(needsVerticalScrollBar);\n }\n });\n\n return () => async.dispose();\n });\n\n return needsVerticalScrollBarState;\n}\n\nfunction defaultFocusRestorer(options: IPopupRestoreFocusParams) {\n const { originalElement, containsFocus } = options;\n\n if (originalElement && containsFocus && originalElement !== getWindow()) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n // This is wrapped in a setTimeout because of a React 16 bug that is resolved in 17.\n // Once we move to 17, the setTimeout should be removed (ref: https://github.com/facebook/react/issues/17894#issuecomment-656094405)\n setTimeout(() => {\n originalElement.focus?.();\n }, 0);\n }\n}\n\nfunction useRestoreFocus(props: IPopupProps, root: React.RefObject) {\n const { onRestoreFocus = defaultFocusRestorer } = props;\n const originalFocusedElement = React.useRef();\n const containsFocus = React.useRef(false);\n\n React.useEffect(() => {\n originalFocusedElement.current = getDocument()!.activeElement as HTMLElement;\n\n if (doesElementContainFocus(root.current!)) {\n containsFocus.current = true;\n }\n\n return () => {\n onRestoreFocus?.({\n originalElement: originalFocusedElement.current,\n containsFocus: containsFocus.current,\n documentContainsFocus: getDocument()?.hasFocus() || false,\n });\n\n // De-reference DOM Node to avoid retainment via transpiled closure of _onKeyDown\n originalFocusedElement.current = undefined;\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []);\n\n useOnEvent(\n root,\n 'focus',\n React.useCallback((): void => {\n containsFocus.current = true;\n }, []),\n true,\n );\n\n useOnEvent(\n root,\n 'blur',\n React.useCallback((ev: FocusEvent): void => {\n /** The popup should update this._containsFocus when:\n * relatedTarget exists AND\n * the relatedTarget is not contained within the popup.\n * If the relatedTarget is within the popup, that means the popup still has focus\n * and focused moved from one element to another within the popup.\n * If relatedTarget is undefined or null that usually means that a\n * keyboard event occurred and focus didn't change\n */\n if (root.current && ev.relatedTarget && !root.current.contains(ev.relatedTarget as HTMLElement)) {\n containsFocus.current = false;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should only run on first render\n }, []),\n true,\n );\n}\n\nfunction useHideSiblingNodes(props: IPopupProps) {\n const isModalOrPanel = props['aria-modal'];\n\n React.useEffect(() => {\n const targetDocument = getDocument();\n if (isModalOrPanel && targetDocument) {\n const children = targetDocument.body.children;\n let nodesToHide: Element[] = [];\n\n for (let i = 0; i < children.length - 1; i++) {\n nodesToHide.push(children[i]);\n }\n\n nodesToHide = nodesToHide.filter(\n child =>\n child.tagName !== 'TEMPLATE' &&\n child.tagName !== 'SCRIPT' &&\n child.tagName !== 'STYLE' &&\n !child.hasAttribute('aria-hidden'),\n );\n\n nodesToHide.forEach(node => node.setAttribute('aria-hidden', 'true'));\n\n return () => nodesToHide.forEach(child => child.removeAttribute('aria-hidden'));\n }\n }, [isModalOrPanel]);\n}\n\n/**\n * This adds accessibility to Dialog and Panel controls\n */\nexport const Popup: React.FunctionComponent = React.forwardRef(\n (props, forwardedRef) => {\n // Default props\n // eslint-disable-next-line deprecation/deprecation\n props = { shouldRestoreFocus: true, ...props };\n\n const root = React.useRef();\n const mergedRootRef = useMergedRefs(root, forwardedRef) as React.Ref;\n\n useHideSiblingNodes(props);\n useRestoreFocus(props, root);\n\n const { role, className, ariaLabel, ariaLabelledBy, ariaDescribedBy, style, children, onDismiss } = props;\n const needsVerticalScrollBar = useScrollbarAsync(props, root);\n\n const onKeyDown = React.useCallback(\n (ev: React.KeyboardEvent | KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.escape:\n if (onDismiss) {\n onDismiss(ev);\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n break;\n }\n },\n [onDismiss],\n );\n\n const win = useWindow();\n useOnEvent(win, 'keydown', onKeyDown as (ev: Event) => void);\n\n return (\n \n {children}\n
\n );\n },\n);\n","/**\n * ARIA helper to concatenate attributes, returning undefined if all attributes\n * are undefined. (Empty strings are not a valid ARIA attribute value.)\n *\n * @param ariaAttributes - ARIA attributes to merge\n */\nexport function mergeAriaAttributeValues(...ariaAttributes: (string | undefined | false)[]): string | undefined {\n const mergedAttribute = ariaAttributes\n .filter((arg: string | undefined | false) => arg)\n .join(' ')\n .trim();\n return mergedAttribute === '' ? undefined : mergedAttribute;\n}\n","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { hoistStatics } from '../hoistStatics';\nimport { CustomizerContext } from './CustomizerContext';\nimport { concatStyleSets } from '@fluentui/merge-styles';\nimport type { ICustomizerContext } from './CustomizerContext';\n\nexport function customizable(\n scope: string,\n fields: string[],\n concatStyles?: boolean,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n):

(ComposedComponent: React.ComponentType

) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function customizableFactory

(ComposedComponent: React.ComponentType

): any {\n const resultClass = class ComponentWithInjectedProps extends React.Component {\n public static displayName: string = 'Customized' + scope;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _styleCache: { default?: any; component?: any; merged?: any } = {};\n\n constructor(props: P) {\n super(props);\n\n this._onSettingChanged = this._onSettingChanged.bind(this);\n }\n\n public componentDidMount(): void {\n Customizations.observe(this._onSettingChanged);\n }\n\n public componentWillUnmount(): void {\n Customizations.unobserve(this._onSettingChanged);\n }\n\n public render(): JSX.Element {\n return (\n \n {(context: ICustomizerContext) => {\n const defaultProps = Customizations.getSettings(fields, scope, context.customizations);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const componentProps = this.props as any;\n\n // If defaultProps.styles is a function, evaluate it before calling concatStyleSets\n if (defaultProps.styles && typeof defaultProps.styles === 'function') {\n defaultProps.styles = defaultProps.styles({ ...defaultProps, ...componentProps });\n }\n\n // If concatStyles is true and custom styles have been defined compute those styles\n if (concatStyles && defaultProps.styles) {\n if (\n this._styleCache.default !== defaultProps.styles ||\n this._styleCache.component !== componentProps.styles\n ) {\n const mergedStyles = concatStyleSets(defaultProps.styles, componentProps.styles);\n this._styleCache.default = defaultProps.styles;\n this._styleCache.component = componentProps.styles;\n this._styleCache.merged = mergedStyles;\n }\n\n return ;\n }\n\n return ;\n }}\n \n );\n }\n\n private _onSettingChanged(): void {\n this.forceUpdate();\n }\n };\n\n return hoistStatics(ComposedComponent, resultClass);\n };\n}\n","import { createMemoizer } from '../memoize';\nimport type { IRenderFunction } from '../IRenderFunction';\n\ninterface IRenderFunctionComposer {\n (outer: IRenderFunction): (inner: IRenderFunction) => IRenderFunction;\n}\n\nfunction createComposedRenderFunction(\n outer: IRenderFunction,\n): (inner: IRenderFunction) => IRenderFunction {\n const outerMemoizer = createMemoizer((inner: IRenderFunction) => {\n const innerMemoizer = createMemoizer((defaultRender: IRenderFunction) => {\n return (innerProps?: TProps) => {\n return inner(innerProps, defaultRender);\n };\n });\n\n return (outerProps?: TProps, defaultRender?: IRenderFunction) => {\n return outer(outerProps, defaultRender ? innerMemoizer(defaultRender) : inner);\n };\n });\n\n return outerMemoizer;\n}\n\nconst memoizer = createMemoizer(createComposedRenderFunction);\n\n/**\n * Composes two 'render functions' to produce a final render function that renders\n * the outer function, passing the inner function as 'default render'. The inner function\n * is then passed the original 'default render' prop.\n * @public\n */\nexport function composeRenderFunction(\n outer: IRenderFunction,\n inner: IRenderFunction,\n): IRenderFunction {\n return memoizer(outer)(inner);\n}\n","import * as React from 'react';\n\n/**\n * DelayedRender component props.\n *\n * @public\n */\n// eslint-disable-next-line deprecation/deprecation\nexport interface IDelayedRenderProps extends React.Props<{}> {\n /**\n * Number of milliseconds to delay rendering children.\n */\n delay?: number;\n}\n\n/**\n * DelayedRender component state.\n *\n * @internal\n */\nexport interface IDelayedRenderState {\n /**\n * Whether the component is rendered or not.\n */\n isRendered: boolean;\n}\n\n/**\n * Utility component for delaying the render of a child component after a given delay. This component\n * requires a single child component; don't pass in many components. Wrap multiple components in a DIV\n * if necessary.\n *\n * @public\n * {@docCategory DelayedRender}\n */\nexport class DelayedRender extends React.Component {\n public static defaultProps = {\n delay: 0,\n };\n\n private _timeoutId: number | undefined;\n\n constructor(props: IDelayedRenderProps) {\n super(props);\n this.state = {\n isRendered: false,\n };\n }\n\n public componentDidMount(): void {\n let { delay } = this.props;\n this._timeoutId = window.setTimeout(() => {\n this.setState({\n isRendered: true,\n });\n }, delay);\n }\n\n public componentWillUnmount(): void {\n if (this._timeoutId) {\n clearTimeout(this._timeoutId);\n }\n }\n\n public render(): React.ReactElement<{}> | null {\n return this.state.isRendered ? (React.Children.only(this.props.children) as React.ReactElement<{}>) : null;\n }\n}\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar Divider = function Divider(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls,\n direction = _ref.direction;\n\n var customizePrefixCls = props.prefixCls,\n _props$type = props.type,\n type = _props$type === void 0 ? 'horizontal' : _props$type,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'center' : _props$orientation,\n className = props.className,\n children = props.children,\n dashed = props.dashed,\n plain = props.plain,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"orientation\", \"className\", \"children\", \"dashed\", \"plain\"]);\n\n var prefixCls = getPrefixCls('divider', customizePrefixCls);\n var orientationPrefix = orientation.length > 0 ? \"-\".concat(orientation) : orientation;\n var hasChildren = !!children;\n var classString = classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(type), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-text\"), hasChildren), _defineProperty(_classNames, \"\".concat(prefixCls, \"-with-text\").concat(orientationPrefix), hasChildren), _defineProperty(_classNames, \"\".concat(prefixCls, \"-dashed\"), !!dashed), _defineProperty(_classNames, \"\".concat(prefixCls, \"-plain\"), !!plain), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), className);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classString\n }, restProps, {\n role: \"separator\"\n }), children && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-inner-text\")\n }, children));\n });\n};\n\nexport default Divider;","import * as React from 'react';\nimport { getId } from '@fluentui/utilities/lib/getId';\n\n/**\n * Hook to generate a unique ID in the global scope (spanning across duplicate copies of the same library).\n *\n * @param prefix - Optional prefix for the ID\n * @param providedId - Optional id provided by a parent component. Defaults to the provided value if present,\n * without conditioning the hook call\n * @returns The ID\n */\nexport function useId(prefix?: string, providedId?: string): string {\n // getId should only be called once since it updates the global constant for the next ID value.\n // (While an extra update isn't likely to cause problems in practice, it's better to avoid it.)\n const ref = React.useRef(providedId);\n if (!ref.current) {\n ref.current = getId(prefix);\n }\n return ref.current;\n}\n","import * as React from 'react';\nimport { useConst } from './useConst';\n\nexport type ChangeCallback<\n TElement extends HTMLElement,\n TValue,\n TEvent extends React.SyntheticEvent | undefined\n> = (ev: TEvent, newValue: TValue | undefined) => void;\n\n/**\n * Hook to manage a value that could be either controlled or uncontrolled, such as a checked state or\n * text box string.\n * @param controlledValue - The controlled value passed in the props. This value will always be used if provided,\n * and the internal state will be updated to reflect it.\n * @param defaultUncontrolledValue - Initial value for the internal state in the uncontrolled case.\n * @returns An array of the current value and an updater callback. Like `React.useState`, the updater\n * callback always has the same identity, and it can take either a new value, or a function which\n * is passed the previous value and returns the new value.\n * @see https://reactjs.org/docs/uncontrolled-components.html\n */\nexport function useControllableValue(\n controlledValue: TValue | undefined,\n defaultUncontrolledValue: TValue | undefined,\n): Readonly<[TValue | undefined, (update: React.SetStateAction) => void]>;\nexport function useControllableValue<\n TValue,\n TElement extends HTMLElement,\n TEvent extends React.SyntheticEvent | undefined\n>(\n controlledValue: TValue | undefined,\n defaultUncontrolledValue: TValue | undefined,\n onChange: ChangeCallback | undefined,\n): Readonly<\n [TValue | undefined, (update: React.SetStateAction, ev?: React.FormEvent) => void]\n>;\nexport function useControllableValue<\n TValue,\n TElement extends HTMLElement,\n TEvent extends React.SyntheticEvent | undefined\n>(\n controlledValue: TValue | undefined,\n defaultUncontrolledValue: TValue | undefined,\n onChange?: ChangeCallback,\n) {\n const [value, setValue] = React.useState(defaultUncontrolledValue);\n const isControlled = useConst(controlledValue !== undefined);\n const currentValue = isControlled ? controlledValue : value;\n\n // Duplicate the current value and onChange in refs so they're accessible from\n // setValueOrCallOnChange without creating a new callback every time\n const valueRef = React.useRef(currentValue);\n const onChangeRef = React.useRef(onChange);\n React.useEffect(() => {\n valueRef.current = currentValue;\n onChangeRef.current = onChange;\n });\n\n // To match the behavior of the setter returned by React.useState, this callback's identity\n // should never change. This means it MUST NOT directly reference variables that can change.\n const setValueOrCallOnChange = useConst(() => (update: React.SetStateAction, ev?: TEvent) => {\n // Assuming here that TValue is not a function, because a controllable value will typically\n // be something a user can enter as input\n const newValue = typeof update === 'function' ? (update as Function)(valueRef.current) : update;\n\n if (onChangeRef.current) {\n onChangeRef.current(ev!, newValue);\n }\n\n if (!isControlled) {\n setValue(newValue);\n }\n });\n\n return [currentValue, setValueOrCallOnChange] as const;\n}\n","import { ActionButton } from '../ActionButton/ActionButton';\n\n/**\n * {@docCategory Button}\n */\nexport const CommandButton = ActionButton;\n","import InternalLayout, { Content, Footer, Header } from './layout';\nimport Sider from './Sider';\nvar Layout = InternalLayout;\nLayout.Header = Header;\nLayout.Footer = Footer;\nLayout.Content = Content;\nLayout.Sider = Sider;\nexport default Layout;","export namespace CommunicationColors {\n export const shade30 = '#004578';\n export const shade20 = '#005a9e';\n export const shade10 = '#106ebe';\n export const primary = '#0078d4';\n export const tint10 = '#2b88d8';\n export const tint20 = '#c7e0f4';\n export const tint30 = '#deecf9';\n export const tint40 = '#eff6fc';\n}\n\nexport namespace NeutralColors {\n export const black = '#000000';\n export const gray220 = '#11100f';\n export const gray210 = '#161514';\n export const gray200 = '#1b1a19';\n export const gray190 = '#201f1e';\n export const gray180 = '#252423';\n export const gray170 = '#292827';\n export const gray160 = '#323130';\n export const gray150 = '#3b3a39';\n export const gray140 = '#484644';\n export const gray130 = '#605e5c';\n export const gray120 = '#797775';\n export const gray110 = '#8a8886';\n export const gray100 = '#979593';\n export const gray90 = '#a19f9d';\n export const gray80 = '#b3b0ad';\n export const gray70 = '#bebbb8';\n export const gray60 = '#c8c6c4';\n export const gray50 = '#d2d0ce';\n export const gray40 = '#e1dfdd';\n export const gray30 = '#edebe9';\n export const gray20 = '#f3f2f1';\n export const gray10 = '#faf9f8';\n export const white = '#ffffff';\n}\n\nexport namespace SharedColors {\n export const pinkRed10 = '#750b1c';\n export const red20 = '#a4262c';\n export const red10 = '#d13438';\n export const redOrange20 = '#603d30';\n export const redOrange10 = '#da3b01';\n export const orange30 = '#8e562e';\n export const orange20 = '#ca5010';\n export const orange10 = '#ffaa44';\n export const yellow10 = '#fce100';\n export const orangeYellow20 = '#986f0b';\n export const orangeYellow10 = '#c19c00';\n export const yellowGreen10 = '#8cbd18';\n export const green20 = '#0b6a0b';\n export const green10 = '#498205';\n export const greenCyan10 = '#00ad56';\n export const cyan40 = '#005e50';\n export const cyan30 = '#005b70';\n export const cyan20 = '#038387';\n export const cyan10 = '#00b7c3';\n export const cyanBlue20 = '#004e8c';\n export const cyanBlue10 = '#0078d4';\n export const blue10 = '#4f6bed';\n export const blueMagenta40 = '#373277';\n export const blueMagenta30 = '#5c2e91';\n export const blueMagenta20 = '#8764b8';\n export const blueMagenta10 = '#8378de';\n export const magenta20 = '#881798';\n export const magenta10 = '#c239b3';\n export const magentaPink20 = '#9b0062';\n export const magentaPink10 = '#e3008c';\n export const gray40 = '#393939';\n export const gray30 = '#7a7574';\n export const gray20 = '#69797e';\n export const gray10 = '#a0aeb2';\n}\n","import {\n labelProperties,\n audioProperties,\n videoProperties,\n olProperties,\n liProperties,\n anchorProperties,\n buttonProperties,\n inputProperties,\n textAreaProperties,\n selectProperties,\n optionProperties,\n tableProperties,\n trProperties,\n thProperties,\n tdProperties,\n colGroupProperties,\n colProperties,\n formProperties,\n iframeProperties,\n imgProperties,\n htmlElementProperties,\n getNativeProps,\n} from './properties';\nimport * as React from 'react';\n\nconst nativeElementMap: Record> = {\n label: labelProperties,\n audio: audioProperties,\n video: videoProperties,\n ol: olProperties,\n li: liProperties,\n a: anchorProperties,\n button: buttonProperties,\n input: inputProperties,\n textarea: textAreaProperties,\n select: selectProperties,\n option: optionProperties,\n table: tableProperties,\n tr: trProperties,\n th: thProperties,\n td: tdProperties,\n colGroup: colGroupProperties,\n col: colProperties,\n form: formProperties,\n iframe: iframeProperties,\n img: imgProperties,\n};\n\n/**\n * Given an element tagname and user props, filters the props to only allowed props for the given\n * element type.\n * @param tagName - Tag name (e.g. \"div\")\n * @param props - Props object\n * @param excludedPropNames - List of props to disallow\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getNativeElementProps>(\n tagName: string,\n props: {},\n excludedPropNames?: string[],\n): TAttributes {\n const allowedPropNames = (tagName && nativeElementMap[tagName]) || htmlElementProperties;\n\n return getNativeProps(props, allowedPropNames, excludedPropNames);\n}\n","import type { IContextualMenuItem } from '../../index';\n\n/**\n * Determines the effective checked state of a menu item.\n *\n * @param item {IContextualMenuItem} to get the check state of.\n * @returns {true} if the item is checked.\n * @returns {false} if the item is unchecked.\n * @returns {null} if the item is not checkable.\n */\nexport function getIsChecked(item: IContextualMenuItem): boolean | null {\n if (item.canCheck) {\n return !!(item.isChecked || item.checked);\n }\n\n if (typeof item.isChecked === 'boolean') {\n return item.isChecked;\n }\n\n if (typeof item.checked === 'boolean') {\n return item.checked;\n }\n\n // Item is not checkable.\n return null;\n}\n\nexport function hasSubmenu(item: IContextualMenuItem): boolean {\n return !!(item.subMenuProps || item.items);\n}\n\nexport function isItemDisabled(item: IContextualMenuItem): boolean {\n return !!(item.isDisabled || item.disabled);\n}\n\nexport function getMenuItemAriaRole(item: IContextualMenuItem): string {\n const isChecked = getIsChecked(item);\n const canCheck: boolean = isChecked !== null;\n return canCheck ? 'menuitemcheckbox' : 'menuitem';\n}\n","import * as React from 'react';\nimport { hasSubmenu, getIsChecked } from '../../utilities/contextualMenu/index';\nimport { getRTL, initializeComponentRef } from '../../Utilities';\nimport { Icon } from '../../Icon';\nimport type { IContextualMenuItemProps, IContextualMenuItemRenderFunctions } from './ContextualMenuItem.types';\n\nconst defaultIconRenderer = (props: IContextualMenuItemProps) => {\n const { item, classNames } = props;\n const { iconProps } = item;\n return ;\n};\n\nconst renderItemIcon = (props: IContextualMenuItemProps) => {\n const { item, hasIcons } = props;\n if (!hasIcons) {\n return null;\n }\n\n if (item.onRenderIcon) {\n return item.onRenderIcon(props, defaultIconRenderer);\n }\n\n return defaultIconRenderer(props);\n};\n\nconst renderCheckMarkIcon = ({ onCheckmarkClick, item, classNames }: IContextualMenuItemProps) => {\n const isItemChecked = getIsChecked(item);\n if (onCheckmarkClick) {\n // Ensures that the item is passed as the first argument to the checkmark click callback.\n const onClick = (e: React.MouseEvent) => onCheckmarkClick(item, e);\n\n return (\n \n );\n }\n return null;\n};\n\nconst renderItemName = ({ item, classNames }: IContextualMenuItemProps) => {\n /* eslint-disable deprecation/deprecation */\n if (item.text || item.name) {\n return {item.text || item.name};\n }\n /* eslint-enable deprecation/deprecation */\n return null;\n};\n\nconst renderSecondaryText = ({ item, classNames }: IContextualMenuItemProps) => {\n if (item.secondaryText) {\n return {item.secondaryText};\n }\n return null;\n};\n\nconst renderSubMenuIcon = ({ item, classNames, theme }: IContextualMenuItemProps) => {\n if (hasSubmenu(item)) {\n return (\n \n );\n }\n return null;\n};\n\nexport class ContextualMenuItemBase extends React.Component {\n constructor(props: IContextualMenuItemProps) {\n super(props);\n\n initializeComponentRef(this);\n }\n\n public render() {\n const { item, classNames } = this.props;\n const renderContent = item.onRenderContent || this._renderLayout;\n\n return (\n

\n {renderContent(this.props, {\n renderCheckMarkIcon,\n renderItemIcon,\n renderItemName,\n renderSecondaryText,\n renderSubMenuIcon,\n })}\n
\n );\n }\n\n public openSubMenu = (): void => {\n const { item, openSubMenu, getSubmenuTarget } = this.props;\n if (getSubmenuTarget) {\n const submenuTarget = getSubmenuTarget();\n if (hasSubmenu(item) && openSubMenu && submenuTarget) {\n openSubMenu(item, submenuTarget);\n }\n }\n };\n\n public dismissSubMenu = (): void => {\n const { item, dismissSubMenu } = this.props;\n if (hasSubmenu(item) && dismissSubMenu) {\n dismissSubMenu();\n }\n };\n\n public dismissMenu = (dismissAll?: boolean): void => {\n const { dismissMenu } = this.props;\n if (dismissMenu) {\n dismissMenu(undefined /* ev */, dismissAll);\n }\n };\n\n private _renderLayout(props: IContextualMenuItemProps, defaultRenders: IContextualMenuItemRenderFunctions) {\n return (\n <>\n {defaultRenders.renderCheckMarkIcon(props)}\n {defaultRenders.renderItemIcon(props)}\n {defaultRenders.renderItemName(props)}\n {defaultRenders.renderSecondaryText(props)}\n {defaultRenders.renderSubMenuIcon(props)}\n \n );\n }\n}\n","import { memoizeFunction } from '../../Utilities';\nimport { mergeStyleSets } from '../../Styling';\nimport type { ITheme } from '../../Styling';\nimport type { IVerticalDividerClassNames } from './VerticalDivider.types';\n\n/**\n * @deprecated use getStyles exported from VerticalDivider.styles.ts\n */\nexport const getDividerClassNames = memoizeFunction(\n // eslint-disable-next-line deprecation/deprecation\n (theme: ITheme): IVerticalDividerClassNames => {\n return mergeStyleSets({\n wrapper: {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n divider: {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n });\n },\n);\n","import {\n concatStyleSets,\n getFocusStyle,\n HighContrastSelector,\n getScreenSelector,\n ScreenWidthMaxMedium,\n IconFontSizes,\n getHighContrastNoAdjustStyle,\n} from '../../Styling';\nimport { memoizeFunction } from '../../Utilities';\nimport type { IRawStyle, ITheme } from '../../Styling';\nimport type { IMenuItemStyles } from './ContextualMenu.types';\n\nexport const CONTEXTUAL_MENU_ITEM_HEIGHT = 36;\n\nconst MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\n\nconst getItemHighContrastStyles = memoizeFunction(\n (): IRawStyle => {\n return {\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n borderColor: 'Highlight',\n color: 'HighlightText',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n };\n },\n);\n\nexport const getMenuItemStyles = memoizeFunction(\n (theme: ITheme): IMenuItemStyles => {\n const { semanticColors, fonts, palette } = theme;\n const ContextualMenuItemBackgroundHoverColor = semanticColors.menuItemBackgroundHovered;\n const ContextualMenuItemTextHoverColor = semanticColors.menuItemTextHovered;\n const ContextualMenuItemBackgroundSelectedColor = semanticColors.menuItemBackgroundPressed;\n const ContextualMenuItemDividerColor = semanticColors.bodyDivider;\n\n const menuItemStyles: IMenuItemStyles = {\n item: [\n fonts.medium,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n boxSizing: 'border-box',\n },\n ],\n divider: {\n display: 'block',\n height: '1px',\n backgroundColor: ContextualMenuItemDividerColor,\n position: 'relative',\n },\n root: [\n getFocusStyle(theme),\n fonts.medium,\n {\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n border: 'none',\n width: '100%',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n display: 'block',\n cursor: 'pointer',\n padding: '0px 8px 0 4px', // inner elements have a margin of 4px (4 + 4 = 8px as on right side)\n textAlign: 'left',\n },\n ],\n rootDisabled: {\n color: semanticColors.disabledBodyText,\n cursor: 'default',\n pointerEvents: 'none',\n selectors: {\n [HighContrastSelector]: {\n color: 'GrayText',\n opacity: 1,\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n rootHovered: {\n backgroundColor: ContextualMenuItemBackgroundHoverColor,\n color: ContextualMenuItemTextHoverColor,\n selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDarkAlt,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n },\n ...getItemHighContrastStyles(),\n },\n rootFocused: {\n backgroundColor: palette.white,\n ...getItemHighContrastStyles(),\n },\n rootChecked: {\n selectors: {\n '.ms-ContextualMenu-checkmarkIcon': {\n color: palette.neutralPrimary,\n },\n },\n ...getItemHighContrastStyles(),\n },\n rootPressed: {\n backgroundColor: ContextualMenuItemBackgroundSelectedColor,\n selectors: {\n '.ms-ContextualMenu-icon': {\n color: palette.themeDark,\n },\n '.ms-ContextualMenu-submenuIcon': {\n color: palette.neutralPrimary,\n },\n },\n ...getItemHighContrastStyles(),\n },\n rootExpanded: {\n backgroundColor: ContextualMenuItemBackgroundSelectedColor,\n color: semanticColors.bodyTextChecked,\n ...getItemHighContrastStyles(),\n },\n linkContent: {\n whiteSpace: 'nowrap',\n height: 'inherit',\n display: 'flex',\n alignItems: 'center',\n maxWidth: '100%',\n },\n anchorLink: {\n padding: '0px 8px 0 4px', // inner elements have a margin of 4px (4 + 4 = 8px as on right side)\n textRendering: 'auto',\n color: 'inherit',\n letterSpacing: 'normal',\n wordSpacing: 'normal',\n textTransform: 'none',\n textIndent: '0px',\n textShadow: 'none',\n textDecoration: 'none',\n boxSizing: 'border-box',\n },\n label: {\n margin: '0 4px',\n verticalAlign: 'middle',\n display: 'inline-block',\n flexGrow: '1',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n secondaryText: {\n color: theme.palette.neutralSecondary,\n paddingLeft: '20px',\n textAlign: 'right',\n },\n icon: {\n display: 'inline-block',\n minHeight: '1px',\n maxHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n fontSize: IconFontSizes.medium,\n width: IconFontSizes.medium,\n margin: '0 4px',\n verticalAlign: 'middle',\n flexShrink: '0',\n selectors: {\n [MediumScreenSelector]: {\n fontSize: IconFontSizes.large,\n width: IconFontSizes.large,\n },\n },\n },\n iconColor: {\n color: semanticColors.menuIcon,\n selectors: {\n [HighContrastSelector]: {\n color: 'inherit',\n },\n ['$root:hover &']: {\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n ['$root:focus &']: {\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n },\n },\n iconDisabled: {\n color: semanticColors.disabledBodyText,\n },\n checkmarkIcon: {\n color: semanticColors.bodySubtext,\n selectors: {\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n subMenuIcon: {\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n color: palette.neutralSecondary,\n textAlign: 'center',\n display: 'inline-block',\n verticalAlign: 'middle',\n flexShrink: '0',\n fontSize: IconFontSizes.small, // 12px\n selectors: {\n ':hover': {\n color: palette.neutralPrimary,\n },\n ':active': {\n color: palette.neutralPrimary,\n },\n [MediumScreenSelector]: {\n fontSize: IconFontSizes.medium, // 16px\n },\n [HighContrastSelector]: {\n color: 'HighlightText',\n },\n },\n },\n splitButtonFlexContainer: [\n getFocusStyle(theme),\n {\n display: 'flex',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n flexWrap: 'nowrap',\n justifyContent: 'center',\n alignItems: 'flex-start',\n },\n ],\n };\n\n return concatStyleSets(menuItemStyles);\n },\n);\n","import { getDividerClassNames } from '../Divider/VerticalDivider.classNames';\nimport { getMenuItemStyles } from './ContextualMenu.cnstyles';\nimport {\n mergeStyleSets,\n getGlobalClassNames,\n getScreenSelector,\n ScreenWidthMaxMedium,\n hiddenContentStyle,\n} from '../../Styling';\nimport { memoizeFunction, IsFocusVisibleClassName } from '../../Utilities';\nimport type { ITheme } from '../../Styling';\nimport type { IVerticalDividerClassNames } from '../Divider/VerticalDivider.types';\nimport type { IContextualMenuItemStyles, IContextualMenuItemStyleProps } from './ContextualMenuItem.types';\nimport type { IContextualMenuSubComponentStyles } from './ContextualMenu.types';\n\n/**\n * @deprecated Deprecated in favor of mergeStyles API.\n */\nexport interface IContextualMenuClassNames {\n container?: string;\n root?: string;\n list?: string;\n header?: string;\n title?: string;\n subComponentStyles?: IContextualMenuSubComponentStyles;\n}\n\n/**\n * @deprecated Deprecated in favor of mergeStyles API.\n */\nexport interface IMenuItemClassNames {\n item?: string;\n divider?: string;\n root?: string;\n linkContent?: string;\n icon?: string;\n checkmarkIcon?: string;\n subMenuIcon?: string;\n label?: string;\n secondaryText?: string;\n splitContainer?: string;\n splitPrimary?: string;\n splitMenu?: string;\n linkContentMenu?: string;\n screenReaderText?: string;\n}\n\nconst CONTEXTUAL_SPLIT_MENU_MINWIDTH = '28px';\n\nconst MediumScreenSelector = getScreenSelector(0, ScreenWidthMaxMedium);\n\nexport const getSplitButtonVerticalDividerClassNames = memoizeFunction(\n /* eslint-disable deprecation/deprecation */\n (theme: ITheme): IVerticalDividerClassNames => {\n return mergeStyleSets(getDividerClassNames(theme), {\n /* eslint-enable deprecation/deprecation */\n wrapper: {\n position: 'absolute',\n right: 28, // width of the splitMenu based on the padding plus icon fontSize\n selectors: {\n [MediumScreenSelector]: {\n right: 32, // fontSize of the icon increased from 12px to 16px\n },\n },\n },\n divider: {\n height: 16,\n width: 1,\n },\n });\n },\n);\n\nconst GlobalClassNames = {\n item: 'ms-ContextualMenu-item',\n divider: 'ms-ContextualMenu-divider',\n root: 'ms-ContextualMenu-link',\n isChecked: 'is-checked',\n isExpanded: 'is-expanded',\n isDisabled: 'is-disabled',\n linkContent: 'ms-ContextualMenu-linkContent',\n linkContentMenu: 'ms-ContextualMenu-linkContent',\n icon: 'ms-ContextualMenu-icon',\n iconColor: 'ms-ContextualMenu-iconColor',\n checkmarkIcon: 'ms-ContextualMenu-checkmarkIcon',\n subMenuIcon: 'ms-ContextualMenu-submenuIcon',\n label: 'ms-ContextualMenu-itemText',\n secondaryText: 'ms-ContextualMenu-secondaryText',\n splitMenu: 'ms-ContextualMenu-splitMenu',\n screenReaderText: 'ms-ContextualMenu-screenReaderText',\n};\n\n/**\n * @deprecated Will be removed in \\>= 7.0.\n * This is a package-internal method that has been depended on.\n * It is being kept in this form for backwards compatibility.\n * @internal\n */\n// TODO: Audit perf. impact of and potentially remove memoizeFunction.\n// https://github.com/microsoft/fluentui/issues/5534\nexport const getItemClassNames = memoizeFunction(\n (\n theme: ITheme,\n disabled: boolean,\n expanded: boolean,\n checked: boolean,\n isAnchorLink: boolean,\n knownIcon: boolean,\n itemClassName?: string,\n dividerClassName?: string,\n iconClassName?: string,\n subMenuClassName?: string,\n primaryDisabled?: boolean,\n className?: string,\n ): IContextualMenuItemStyles => {\n const styles = getMenuItemStyles(theme);\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return mergeStyleSets({\n item: [classNames.item, styles.item, itemClassName],\n divider: [classNames.divider, styles.divider, dividerClassName],\n root: [\n classNames.root,\n styles.root,\n checked && [classNames.isChecked, styles.rootChecked],\n isAnchorLink && styles.anchorLink,\n expanded && [classNames.isExpanded, styles.rootExpanded],\n disabled && [classNames.isDisabled, styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed,\n [`.${IsFocusVisibleClassName} &:focus, .${IsFocusVisibleClassName} &:focus:hover`]: styles.rootFocused,\n [`.${IsFocusVisibleClassName} &:hover`]: { background: 'inherit;' },\n },\n },\n ],\n className,\n ],\n splitPrimary: [\n styles.root,\n {\n width: `calc(100% - ${CONTEXTUAL_SPLIT_MENU_MINWIDTH})`,\n },\n checked && ['is-checked', styles.rootChecked],\n (disabled || primaryDisabled) && ['is-disabled', styles.rootDisabled],\n !(disabled || primaryDisabled) &&\n !checked && [\n {\n selectors: {\n ':hover': styles.rootHovered,\n // when hovering over the splitPrimary also affect the splitMenu\n [`:hover ~ .${classNames.splitMenu}`]: styles.rootHovered,\n ':active': styles.rootPressed,\n [`.${IsFocusVisibleClassName} &:focus, .${IsFocusVisibleClassName} &:focus:hover`]: styles.rootFocused,\n [`.${IsFocusVisibleClassName} &:hover`]: { background: 'inherit;' },\n },\n },\n ],\n ],\n splitMenu: [\n classNames.splitMenu,\n styles.root,\n {\n flexBasis: '0',\n padding: '0 8px',\n minWidth: CONTEXTUAL_SPLIT_MENU_MINWIDTH,\n },\n expanded && ['is-expanded', styles.rootExpanded],\n disabled && ['is-disabled', styles.rootDisabled],\n !disabled &&\n !expanded && [\n {\n selectors: {\n ':hover': styles.rootHovered,\n ':active': styles.rootPressed,\n [`.${IsFocusVisibleClassName} &:focus, .${IsFocusVisibleClassName} &:focus:hover`]: styles.rootFocused,\n [`.${IsFocusVisibleClassName} &:hover`]: { background: 'inherit;' },\n },\n },\n ],\n ],\n anchorLink: styles.anchorLink,\n linkContent: [classNames.linkContent, styles.linkContent],\n linkContentMenu: [\n classNames.linkContentMenu,\n styles.linkContent,\n {\n justifyContent: 'center',\n },\n ],\n icon: [\n classNames.icon,\n knownIcon && styles.iconColor,\n styles.icon,\n iconClassName,\n disabled && [classNames.isDisabled, styles.iconDisabled],\n ],\n iconColor: styles.iconColor,\n checkmarkIcon: [classNames.checkmarkIcon, knownIcon && styles.checkmarkIcon, styles.icon, iconClassName],\n subMenuIcon: [\n classNames.subMenuIcon,\n styles.subMenuIcon,\n subMenuClassName,\n expanded && { color: theme.palette.neutralPrimary },\n disabled && [styles.iconDisabled],\n ],\n label: [classNames.label, styles.label],\n secondaryText: [classNames.secondaryText, styles.secondaryText],\n splitContainer: [\n styles.splitButtonFlexContainer,\n !disabled &&\n !checked && [\n {\n selectors: {\n [`.${IsFocusVisibleClassName} &:focus, .${IsFocusVisibleClassName} &:focus:hover`]: styles.rootFocused,\n },\n },\n ],\n ],\n screenReaderText: [\n classNames.screenReaderText,\n styles.screenReaderText,\n hiddenContentStyle,\n { visibility: 'hidden' },\n ],\n });\n },\n);\n\n/**\n * Wrapper function for generating ContextualMenuItem classNames which adheres to\n * the getStyles API, but invokes memoized className generator function with\n * primitive values.\n *\n * @param props the ContextualMenuItem style props used to generate its styles.\n */\nexport const getItemStyles = (props: IContextualMenuItemStyleProps): IContextualMenuItemStyles => {\n const {\n theme,\n disabled,\n expanded,\n checked,\n isAnchorLink,\n knownIcon,\n itemClassName,\n dividerClassName,\n iconClassName,\n subMenuClassName,\n primaryDisabled,\n className,\n } = props;\n\n // eslint-disable-next-line deprecation/deprecation\n return getItemClassNames(\n theme,\n disabled,\n expanded,\n checked,\n isAnchorLink,\n knownIcon,\n itemClassName,\n dividerClassName,\n iconClassName,\n subMenuClassName,\n primaryDisabled,\n className,\n );\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ContextualMenuItemBase } from './ContextualMenuItem.base';\nimport { getItemStyles } from './ContextualMenu.classNames';\nimport type {\n IContextualMenuItemProps,\n IContextualMenuItemStyleProps,\n IContextualMenuItemStyles,\n} from './ContextualMenuItem.types';\n\n/**\n * ContextualMenuItem description\n */\nexport const ContextualMenuItem: React.FunctionComponent = styled<\n IContextualMenuItemProps,\n IContextualMenuItemStyleProps,\n IContextualMenuItemStyles\n>(ContextualMenuItemBase, getItemStyles, undefined, { scope: 'ContextualMenuItem' });\n","import * as React from 'react';\nimport { initializeComponentRef, shallowCompare } from '../../../Utilities';\nimport type { IContextualMenuItemWrapperProps } from './ContextualMenuItemWrapper.types';\n\nexport class ContextualMenuItemWrapper extends React.Component {\n constructor(props: IContextualMenuItemWrapperProps) {\n super(props);\n initializeComponentRef(this);\n }\n\n public shouldComponentUpdate(newProps: IContextualMenuItemWrapperProps): boolean {\n return !shallowCompare(newProps, this.props);\n }\n\n protected _onItemMouseEnter = (ev: React.MouseEvent): void => {\n const { item, onItemMouseEnter } = this.props;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, ev.currentTarget as HTMLElement);\n }\n };\n\n protected _onItemClick = (ev: React.MouseEvent): void => {\n const { item, onItemClickBase } = this.props;\n if (onItemClickBase) {\n onItemClickBase(item, ev, ev.currentTarget as HTMLElement);\n }\n };\n\n protected _onItemMouseLeave = (ev: React.MouseEvent): void => {\n const { item, onItemMouseLeave } = this.props;\n if (onItemMouseLeave) {\n onItemMouseLeave(item, ev);\n }\n };\n\n protected _onItemKeyDown = (ev: React.KeyboardEvent): void => {\n const { item, onItemKeyDown } = this.props;\n if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n\n protected _onItemMouseMove = (ev: React.MouseEvent): void => {\n const { item, onItemMouseMove } = this.props;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, ev.currentTarget as HTMLElement);\n }\n };\n\n protected _getSubmenuTarget = (): HTMLElement | undefined => {\n return undefined;\n };\n}\n","import * as React from 'react';\nimport { anchorProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport type { IKeytipDataProps } from '../../../KeytipData';\nimport type { IKeytipProps } from '../../../Keytip';\n\nexport class ContextualMenuAnchor extends ContextualMenuItemWrapper {\n private _anchor = React.createRef();\n private _ariaDescriptionId: string;\n\n private _getMemoizedMenuButtonKeytipProps = memoizeFunction((keytipProps: IKeytipProps) => {\n return {\n ...keytipProps,\n hasMenu: true,\n };\n });\n\n public render() {\n const {\n item,\n classNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n contextualMenuItemAs: ChildrenRenderer = ContextualMenuItem,\n expandedMenuItemKey,\n onItemClick,\n openSubMenu,\n dismissSubMenu,\n dismissMenu,\n } = this.props;\n\n let anchorRel = item.rel;\n if (item.target && item.target.toLowerCase() === '_blank') {\n anchorRel = anchorRel ? anchorRel : 'nofollow noopener noreferrer'; // Safe default to prevent tabjacking\n }\n\n const itemHasSubmenu = hasSubmenu(item);\n const nativeProps = getNativeProps>(item, anchorProperties);\n const disabled = isItemDisabled(item);\n const { itemProps, ariaDescription } = item;\n\n let { keytipProps } = item;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n const ariaDescribedByIds = mergeAriaAttributeValues(\n item.ariaDescribedBy,\n ariaDescription ? this._ariaDescriptionId : undefined,\n nativeProps['aria-describedby'],\n );\n\n const additionalItemProperties = {\n 'aria-describedby': ariaDescribedByIds,\n };\n\n return (\n
\n \n {(keytipAttributes: IKeytipDataProps): JSX.Element => (\n \n \n {this._renderAriaDescription(ariaDescription, classNames.screenReaderText)}\n \n )}\n \n
\n );\n }\n\n protected _getSubmenuTarget = (): HTMLElement | undefined => {\n return this._anchor.current ? this._anchor.current : undefined;\n };\n\n protected _onItemClick = (ev: React.MouseEvent): void => {\n const { item, onItemClick } = this.props;\n if (onItemClick) {\n onItemClick(item, ev);\n }\n };\n\n protected _renderAriaDescription = (ariaDescription?: string, className?: string) => {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (\n \n {ariaDescription}\n \n ) : null;\n };\n}\n","import * as React from 'react';\nimport { buttonProperties, getNativeProps, memoizeFunction, getId, mergeAriaAttributeValues } from '../../../Utilities';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport { KeytipData } from '../../../KeytipData';\nimport { getIsChecked, isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport type { IKeytipDataProps } from '../../../KeytipData';\nimport type { IKeytipProps } from '../../../Keytip';\n\nexport class ContextualMenuButton extends ContextualMenuItemWrapper {\n private _btn = React.createRef();\n private _ariaDescriptionId: string;\n\n private _getMemoizedMenuButtonKeytipProps = memoizeFunction((keytipProps: IKeytipProps) => {\n return {\n ...keytipProps,\n hasMenu: true,\n };\n });\n\n public render() {\n const {\n item,\n classNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n contextualMenuItemAs: ChildrenRenderer = ContextualMenuItem,\n expandedMenuItemKey,\n onItemMouseDown,\n onItemClick,\n openSubMenu,\n dismissSubMenu,\n dismissMenu,\n } = this.props;\n\n const isChecked: boolean | null | undefined = getIsChecked(item);\n const canCheck: boolean = isChecked !== null;\n const defaultRole = getMenuItemAriaRole(item);\n const itemHasSubmenu = hasSubmenu(item);\n const { itemProps, ariaLabel, ariaDescription } = item;\n\n const buttonNativeProperties = getNativeProps>(\n item,\n buttonProperties,\n );\n // Do not add the disabled attribute to the button so that it is focusable\n delete buttonNativeProperties.disabled;\n\n const itemRole = item.role || defaultRole;\n\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n const ariaDescribedByIds = mergeAriaAttributeValues(\n item.ariaDescribedBy,\n ariaDescription ? this._ariaDescriptionId : undefined,\n buttonNativeProperties['aria-describedby'],\n );\n\n const itemButtonProperties = {\n className: classNames.root,\n onClick: this._onItemClick,\n onKeyDown: itemHasSubmenu ? this._onItemKeyDown : undefined,\n onMouseEnter: this._onItemMouseEnter,\n onMouseLeave: this._onItemMouseLeave,\n onMouseDown: (ev: React.MouseEvent) =>\n onItemMouseDown ? onItemMouseDown(item, ev) : undefined,\n onMouseMove: this._onItemMouseMove,\n href: item.href,\n title: item.title,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedByIds,\n 'aria-haspopup': itemHasSubmenu || undefined,\n 'aria-expanded': itemHasSubmenu ? item.key === expandedMenuItemKey : undefined,\n 'aria-posinset': focusableElementIndex + 1,\n 'aria-setsize': totalItemCount,\n 'aria-disabled': isItemDisabled(item),\n 'aria-checked':\n (itemRole === 'menuitemcheckbox' || itemRole === 'menuitemradio') && canCheck ? !!isChecked : undefined,\n 'aria-selected': itemRole === 'menuitem' && canCheck ? !!isChecked : undefined,\n role: itemRole,\n // eslint-disable-next-line deprecation/deprecation\n style: item.style,\n };\n\n let { keytipProps } = item;\n if (keytipProps && itemHasSubmenu) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n return (\n \n {(keytipAttributes: IKeytipDataProps): JSX.Element => (\n \n )}\n \n );\n }\n\n protected _renderAriaDescription = (ariaDescription?: string, className?: string) => {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (\n \n {ariaDescription}\n \n ) : null;\n };\n\n protected _getSubmenuTarget = (): HTMLElement | undefined => {\n return this._btn.current ? this._btn.current : undefined;\n };\n}\n","import * as React from 'react';\nimport { classNamesFunction } from '../../Utilities';\nimport type {\n IVerticalDividerProps,\n IVerticalDividerPropsStyles,\n IVerticalDividerStyles,\n} from './VerticalDivider.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const VerticalDividerBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IVerticalDividerProps\n>((props, ref) => {\n // eslint-disable-next-line deprecation/deprecation\n const { styles, theme, getClassNames: deprecatedGetClassNames, className } = props;\n const classNames = getClassNames(styles, { theme: theme, getClassNames: deprecatedGetClassNames, className });\n return (\n \n \n \n );\n});\nVerticalDividerBase.displayName = 'VerticalDividerBase';\n","import * as React from 'react';\nimport { getStyles } from './VerticalDivider.styles';\nimport { VerticalDividerBase } from './VerticalDivider.base';\nimport { styled } from '../../Utilities';\nimport type {\n IVerticalDividerProps,\n IVerticalDividerStyles,\n IVerticalDividerPropsStyles,\n} from './VerticalDivider.types';\n\nexport const VerticalDivider: React.FunctionComponent = styled<\n IVerticalDividerProps,\n IVerticalDividerPropsStyles,\n IVerticalDividerStyles\n>(VerticalDividerBase, getStyles, undefined, {\n scope: 'VerticalDivider',\n});\n","import type { IVerticalDividerPropsStyles, IVerticalDividerStyles } from './VerticalDivider.types';\nimport type { IStyleFunction } from '../../Utilities';\n\nexport const getStyles: IStyleFunction = (\n props: IVerticalDividerPropsStyles,\n): IVerticalDividerStyles => {\n // eslint-disable-next-line deprecation/deprecation\n const { theme, getClassNames, className } = props;\n\n if (!theme) {\n throw new Error('Theme is undefined or null.');\n }\n\n if (getClassNames) {\n const names = getClassNames(theme);\n return {\n wrapper: [names.wrapper],\n divider: [names.divider],\n };\n }\n\n return {\n wrapper: [\n {\n display: 'inline-flex',\n height: '100%',\n alignItems: 'center',\n },\n className,\n ],\n divider: [\n {\n width: 1,\n height: '100%',\n backgroundColor: theme.palette.neutralTertiaryAlt,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport {\n buttonProperties,\n getNativeProps,\n KeyCodes,\n mergeAriaAttributeValues,\n memoizeFunction,\n Async,\n EventGroup,\n getId,\n} from '../../../Utilities';\nimport { ContextualMenuItem } from '../ContextualMenuItem';\nimport { getSplitButtonVerticalDividerClassNames } from '../ContextualMenu.classNames';\nimport { KeytipData } from '../../../KeytipData';\nimport { isItemDisabled, hasSubmenu, getMenuItemAriaRole } from '../../../utilities/contextualMenu/index';\nimport { VerticalDivider } from '../../../Divider';\nimport { ContextualMenuItemWrapper } from './ContextualMenuItemWrapper';\nimport type { IContextualMenuItem } from '../ContextualMenu.types';\nimport type { IMenuItemClassNames } from '../ContextualMenu.classNames';\nimport type { IKeytipProps } from '../../../Keytip';\nimport type { IContextualMenuItemWrapperProps } from './ContextualMenuItemWrapper.types';\n\nexport interface IContextualMenuSplitButtonState {}\n\nconst TouchIdleDelay = 500; /* ms */\n\nexport class ContextualMenuSplitButton extends ContextualMenuItemWrapper {\n private _splitButton: HTMLDivElement;\n private _lastTouchTimeoutId: number | undefined;\n private _processingTouch: boolean;\n private _ariaDescriptionId: string;\n\n private _async: Async;\n private _events: EventGroup;\n\n private _getMemoizedMenuButtonKeytipProps = memoizeFunction((keytipProps: IKeytipProps) => {\n return {\n ...keytipProps,\n hasMenu: true,\n };\n });\n\n constructor(props: IContextualMenuItemWrapperProps) {\n super(props);\n\n this._async = new Async(this);\n this._events = new EventGroup(this);\n }\n\n public componentDidMount() {\n if (this._splitButton && 'onpointerdown' in this._splitButton) {\n this._events.on(this._splitButton, 'pointerdown', this._onPointerDown, true);\n }\n }\n\n public componentWillUnmount(): void {\n this._async.dispose();\n this._events.dispose();\n }\n\n public render(): JSX.Element | null {\n const {\n item,\n classNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n onItemMouseLeave,\n expandedMenuItemKey,\n } = this.props;\n\n const itemHasSubmenu = hasSubmenu(item);\n\n let { keytipProps } = item;\n if (keytipProps) {\n keytipProps = this._getMemoizedMenuButtonKeytipProps(keytipProps);\n }\n\n // Check for ariaDescription to set the _ariaDescriptionId and render a hidden span with\n // the description in it to be added to ariaDescribedBy\n const { ariaDescription } = item;\n if (ariaDescription) {\n this._ariaDescriptionId = getId();\n }\n\n return (\n \n {(keytipAttributes: any): JSX.Element => (\n (this._splitButton = splitButton)}\n role={getMenuItemAriaRole(item)}\n aria-label={item.ariaLabel}\n className={classNames.splitContainer}\n aria-disabled={isItemDisabled(item)}\n aria-expanded={itemHasSubmenu ? item.key === expandedMenuItemKey : undefined}\n aria-haspopup={true}\n aria-describedby={mergeAriaAttributeValues(\n item.ariaDescribedBy,\n ariaDescription ? this._ariaDescriptionId : undefined,\n keytipAttributes['aria-describedby'],\n )}\n aria-checked={item.isChecked || item.checked}\n aria-posinset={focusableElementIndex + 1}\n aria-setsize={totalItemCount}\n onMouseEnter={this._onItemMouseEnterPrimary}\n onMouseLeave={\n onItemMouseLeave ? onItemMouseLeave.bind(this, { ...item, subMenuProps: null, items: null }) : undefined\n }\n onMouseMove={this._onItemMouseMovePrimary}\n onKeyDown={this._onItemKeyDown}\n onClick={this._executeItemClick}\n onTouchStart={this._onTouchStart}\n tabIndex={0}\n data-is-focusable={true}\n aria-roledescription={item['aria-roledescription']}\n >\n {this._renderSplitPrimaryButton(item, classNames, index, hasCheckmarks!, hasIcons!)}\n {this._renderSplitDivider(item)}\n {this._renderSplitIconButton(item, classNames, index, keytipAttributes)}\n {this._renderAriaDescription(ariaDescription, classNames.screenReaderText)}\n
\n )}\n \n );\n }\n\n protected _onItemKeyDown = (ev: React.KeyboardEvent): void => {\n const { item, onItemKeyDown } = this.props;\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which === KeyCodes.enter) {\n this._executeItemClick(ev);\n ev.preventDefault();\n ev.stopPropagation();\n } else if (onItemKeyDown) {\n onItemKeyDown(item, ev);\n }\n };\n\n protected _getSubmenuTarget = (): HTMLElement | undefined => {\n return this._splitButton;\n };\n\n protected _renderAriaDescription = (ariaDescription?: string, className?: string) => {\n // If ariaDescription is given, descriptionId will be assigned to ariaDescriptionSpan\n return ariaDescription ? (\n \n {ariaDescription}\n \n ) : null;\n };\n\n private _renderSplitPrimaryButton(\n item: IContextualMenuItem,\n // eslint-disable-next-line deprecation/deprecation\n classNames: IMenuItemClassNames,\n index: number,\n hasCheckmarks: boolean,\n hasIcons: boolean,\n ) {\n const { contextualMenuItemAs: ChildrenRenderer = ContextualMenuItem, onItemClick } = this.props;\n\n const itemProps: IContextualMenuItem = {\n key: item.key,\n disabled: isItemDisabled(item) || item.primaryDisabled,\n /* eslint-disable deprecation/deprecation */\n name: item.name,\n text: item.text || item.name,\n secondaryText: item.secondaryText,\n /* eslint-enable deprecation/deprecation */\n className: classNames.splitPrimary,\n canCheck: item.canCheck,\n isChecked: item.isChecked,\n checked: item.checked,\n iconProps: item.iconProps,\n onRenderIcon: item.onRenderIcon,\n data: item.data,\n 'data-is-focusable': false,\n };\n\n const { itemProps: itemComponentProps } = item;\n\n return (\n \n );\n }\n\n private _renderSplitDivider(item: IContextualMenuItem) {\n const getDividerClassNames =\n item.getSplitButtonVerticalDividerClassNames || getSplitButtonVerticalDividerClassNames;\n return ;\n }\n\n private _renderSplitIconButton(\n item: IContextualMenuItem,\n classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation\n index: number,\n keytipAttributes: any,\n ) {\n const {\n contextualMenuItemAs: ChildrenRenderer = ContextualMenuItem,\n onItemMouseLeave,\n onItemMouseDown,\n openSubMenu,\n dismissSubMenu,\n dismissMenu,\n } = this.props;\n\n const itemProps: IContextualMenuItem = {\n onClick: this._onIconItemClick,\n disabled: isItemDisabled(item),\n className: classNames.splitMenu,\n subMenuProps: item.subMenuProps,\n submenuIconProps: item.submenuIconProps,\n split: true,\n key: item.key,\n };\n\n const buttonProps = {\n ...getNativeProps>(itemProps, buttonProperties),\n ...{\n onMouseEnter: this._onItemMouseEnterIcon,\n onMouseLeave: onItemMouseLeave ? onItemMouseLeave.bind(this, item) : undefined,\n onMouseDown: (ev: React.MouseEvent) =>\n onItemMouseDown ? onItemMouseDown(item, ev) : undefined,\n onMouseMove: this._onItemMouseMoveIcon,\n 'data-is-focusable': false,\n 'data-ktp-execute-target': keytipAttributes['data-ktp-execute-target'],\n 'aria-hidden': true,\n },\n };\n\n const { itemProps: itemComponentProps } = item;\n\n return (\n \n );\n }\n\n private _onItemMouseEnterPrimary = (ev: React.MouseEvent): void => {\n const { item, onItemMouseEnter } = this.props;\n if (onItemMouseEnter) {\n onItemMouseEnter({ ...item, subMenuProps: undefined, items: undefined }, ev, this._splitButton);\n }\n };\n\n private _onItemMouseEnterIcon = (ev: React.MouseEvent): void => {\n const { item, onItemMouseEnter } = this.props;\n if (onItemMouseEnter) {\n onItemMouseEnter(item, ev, this._splitButton);\n }\n };\n\n private _onItemMouseMovePrimary = (ev: React.MouseEvent): void => {\n const { item, onItemMouseMove } = this.props;\n if (onItemMouseMove) {\n onItemMouseMove({ ...item, subMenuProps: undefined, items: undefined }, ev, this._splitButton);\n }\n };\n\n private _onItemMouseMoveIcon = (ev: React.MouseEvent): void => {\n const { item, onItemMouseMove } = this.props;\n if (onItemMouseMove) {\n onItemMouseMove(item, ev, this._splitButton);\n }\n };\n\n private _onIconItemClick = (ev: React.MouseEvent): void => {\n const { item, onItemClickBase } = this.props;\n if (onItemClickBase) {\n onItemClickBase(item, ev, (this._splitButton ? this._splitButton : ev.currentTarget) as HTMLElement);\n }\n };\n\n private _executeItemClick = (ev: React.MouseEvent | React.KeyboardEvent): void => {\n const { item, executeItemClick, onItemClick } = this.props;\n\n if (item.disabled || item.isDisabled) {\n return;\n }\n\n if (this._processingTouch && onItemClick) {\n return onItemClick(item, ev);\n }\n\n if (executeItemClick) {\n executeItemClick(item, ev);\n }\n };\n\n private _onTouchStart = (ev: React.TouchEvent): void => {\n if (this._splitButton && !('onpointerdown' in this._splitButton)) {\n this._handleTouchAndPointerEvent(ev);\n }\n };\n\n private _onPointerDown = (ev: PointerEvent): void => {\n if (ev.pointerType === 'touch') {\n this._handleTouchAndPointerEvent(ev);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n };\n\n private _handleTouchAndPointerEvent(ev: React.TouchEvent | PointerEvent) {\n const { onTap } = this.props;\n\n if (onTap) {\n onTap(ev);\n }\n // If we already have an existing timeout from a previous touch/pointer event\n // cancel that timeout so we can set a new one.\n if (this._lastTouchTimeoutId) {\n this._async.clearTimeout(this._lastTouchTimeoutId);\n this._lastTouchTimeoutId = undefined;\n }\n this._processingTouch = true;\n this._lastTouchTimeoutId = this._async.setTimeout(() => {\n this._processingTouch = false;\n this._lastTouchTimeoutId = undefined;\n }, TouchIdleDelay);\n }\n}\n","import * as React from 'react';\nimport type { MinimalMenuProps } from './types';\n\nexport const MenuContext = React.createContext({});\n\nexport const useMenuContext = () => {\n return React.useContext(MenuContext);\n};\n","import * as React from 'react';\nimport { ContextualMenuItemType } from './ContextualMenu.types';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport { FocusZone, FocusZoneDirection, FocusZoneTabbableElements } from '../../FocusZone';\nimport {\n divProperties,\n getNativeProps,\n shallowCompare,\n warnDeprecations,\n Async,\n EventGroup,\n assign,\n classNamesFunction,\n css,\n getFirstFocusable,\n getId,\n getLastFocusable,\n getRTL,\n KeyCodes,\n shouldWrapFocus,\n isIOS,\n isMac,\n initializeComponentRef,\n memoizeFunction,\n getPropsWithDefaults,\n getDocument,\n} from '../../Utilities';\nimport { hasSubmenu, getIsChecked, isItemDisabled } from '../../utilities/contextualMenu/index';\nimport { Callout } from '../../Callout';\nimport { ContextualMenuItem } from './ContextualMenuItem';\nimport {\n ContextualMenuSplitButton,\n ContextualMenuButton,\n ContextualMenuAnchor,\n} from './ContextualMenuItemWrapper/index';\nimport { concatStyleSetsWithProps } from '../../Styling';\nimport { getItemStyles } from './ContextualMenu.classNames';\nimport { useTarget, usePrevious } from '@fluentui/react-hooks';\nimport { useResponsiveMode, ResponsiveMode } from '../../ResponsiveMode';\nimport { MenuContext } from '../../utilities/MenuContext/index';\nimport type {\n IContextualMenuProps,\n IContextualMenuItem,\n IContextualMenuListProps,\n IContextualMenuStyleProps,\n IContextualMenuStyles,\n IContextualMenuItemRenderProps,\n} from './ContextualMenu.types';\nimport type { IFocusZoneProps } from '../../FocusZone';\nimport type { IMenuItemClassNames, IContextualMenuClassNames } from './ContextualMenu.classNames';\nimport type { IRenderFunction, Point, IStyleFunctionOrObject } from '../../Utilities';\nimport type { ICalloutContentStyleProps, ICalloutContentStyles } from '../../Callout';\nimport type { IProcessedStyleSet } from '../../Styling';\nimport type { IContextualMenuItemStyleProps, IContextualMenuItemStyles } from './ContextualMenuItem.types';\nimport type { IPopupRestoreFocusParams } from '../../Popup';\n\nconst getClassNames = classNamesFunction();\nconst getContextualMenuItemClassNames = classNamesFunction();\n\nexport interface IContextualMenuState {\n contextualMenuItems?: IContextualMenuItem[];\n contextualMenuTarget?: Element;\n positions?: any;\n slideDirectionalClassName?: string;\n subMenuId?: string;\n submenuDirection?: DirectionalHint;\n}\n\n// The default ContextualMenu properties have no items and beak, the default submenu direction is right and top.\nconst DEFAULT_PROPS: Partial = {\n items: [],\n shouldFocusOnMount: true,\n gapSpace: 0,\n directionalHint: DirectionalHint.bottomAutoEdge,\n beakWidth: 16,\n};\n\nexport function getSubmenuItems(item: IContextualMenuItem): IContextualMenuItem[] | undefined {\n return item.subMenuProps ? item.subMenuProps.items : item.items;\n}\n\n/**\n * Returns true if a list of menu items can contain a checkbox\n */\nexport function canAnyMenuItemsCheck(items: IContextualMenuItem[]): boolean {\n return items.some(item => {\n if (item.canCheck) {\n return true;\n }\n\n // If the item is a section, check if any of the items in the section can check.\n if (item.sectionProps && item.sectionProps.items.some(submenuItem => submenuItem.canCheck === true)) {\n return true;\n }\n\n return false;\n });\n}\n\nconst NavigationIdleDelay = 250; /* ms */\n\nconst COMPONENT_NAME = 'ContextualMenu';\n\nconst _getMenuItemStylesFunction = memoizeFunction(\n (\n ...styles: (IStyleFunctionOrObject | undefined)[]\n ): IStyleFunctionOrObject => {\n return (styleProps: IContextualMenuItemStyleProps) =>\n concatStyleSetsWithProps(styleProps, getItemStyles, ...styles);\n },\n);\n\nfunction useVisibility(props: IContextualMenuProps, targetWindow: Window | undefined) {\n const { hidden = false, onMenuDismissed, onMenuOpened } = props;\n const previousHidden = usePrevious(hidden);\n\n const onMenuOpenedRef = React.useRef(onMenuOpened);\n const onMenuClosedRef = React.useRef(onMenuDismissed);\n const propsRef = React.useRef(props);\n\n onMenuOpenedRef.current = onMenuOpened;\n onMenuClosedRef.current = onMenuDismissed;\n propsRef.current = props;\n\n React.useEffect(() => {\n // Don't issue dismissed callbacks on initial mount\n if (hidden && previousHidden === false) {\n onMenuClosedRef.current?.(propsRef.current);\n } else if (!hidden && previousHidden !== false) {\n onMenuOpenedRef.current?.(propsRef.current);\n }\n }, [hidden, previousHidden]);\n\n // Issue onDismissedCallback on unmount\n React.useEffect(() => () => onMenuClosedRef.current?.(propsRef.current), []);\n}\n\nfunction useSubMenuState({ hidden }: IContextualMenuProps) {\n const [expandedMenuItemKey, setExpandedMenuItemKey] = React.useState();\n const [submenuTarget, setSubmenuTarget] = React.useState();\n /** True if the menu was expanded by mouse click OR hover (as opposed to by keyboard) */\n const [expandedByMouseClick, setExpandedByMouseClick] = React.useState();\n\n const closeSubMenu = React.useCallback(() => {\n setExpandedByMouseClick(undefined);\n setExpandedMenuItemKey(undefined);\n setSubmenuTarget(undefined);\n }, []);\n\n const openSubMenu = React.useCallback(\n ({ key: submenuItemKey }: IContextualMenuItem, target: HTMLElement, openedByMouseClick?: boolean) => {\n if (expandedMenuItemKey === submenuItemKey) {\n return;\n }\n\n target.focus();\n\n setExpandedByMouseClick(openedByMouseClick);\n setExpandedMenuItemKey(submenuItemKey);\n setSubmenuTarget(target);\n },\n [expandedMenuItemKey],\n );\n\n React.useEffect(() => {\n if (hidden) {\n closeSubMenu();\n }\n }, [hidden, closeSubMenu]);\n\n return [expandedMenuItemKey, submenuTarget, expandedByMouseClick, openSubMenu, closeSubMenu] as const;\n}\n\nfunction useShouldUpdateFocusOnMouseMove({ delayUpdateFocusOnHover, hidden }: IContextualMenuProps) {\n const shouldUpdateFocusOnMouseEvent = React.useRef(!delayUpdateFocusOnHover);\n const gotMouseMove = React.useRef(false);\n\n React.useEffect(() => {\n shouldUpdateFocusOnMouseEvent.current = !delayUpdateFocusOnHover;\n gotMouseMove.current = hidden ? false : !delayUpdateFocusOnHover && gotMouseMove.current;\n }, [delayUpdateFocusOnHover, hidden]);\n\n const onMenuFocusCapture = React.useCallback(() => {\n if (delayUpdateFocusOnHover) {\n shouldUpdateFocusOnMouseEvent.current = true;\n }\n }, [delayUpdateFocusOnHover]);\n\n return [shouldUpdateFocusOnMouseEvent, gotMouseMove, onMenuFocusCapture] as const;\n}\n\nexport const ContextualMenuBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IContextualMenuProps\n>((propsWithoutDefaults, forwardedRef) => {\n const { ref, ...props } = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n const hostElement = React.useRef(null);\n\n const [targetRef, targetWindow] = useTarget(props.target, hostElement);\n const [expandedMenuItemKey, submenuTarget, expandedByMouseClick, openSubMenu, closeSubMenu] = useSubMenuState(props);\n const [shouldUpdateFocusOnMouseEvent, gotMouseMove, onMenuFocusCapture] = useShouldUpdateFocusOnMouseMove(props);\n\n const responsiveMode = useResponsiveMode(hostElement, props.responsiveMode);\n\n useVisibility(props, targetWindow);\n\n return (\n \n );\n});\nContextualMenuBase.displayName = 'ContextualMenuBase';\n\ninterface IContextualMenuInternalProps extends IContextualMenuProps {\n hoisted: {\n hostElement: React.RefObject;\n forwardedRef: React.Ref;\n targetRef: React.RefObject;\n targetWindow: Window | undefined;\n expandedMenuItemKey?: string;\n submenuTarget?: Element;\n expandedByMouseClick?: boolean;\n shouldUpdateFocusOnMouseEvent: React.MutableRefObject;\n gotMouseMove: React.MutableRefObject;\n openSubMenu(submenuItemKey: IContextualMenuItem, target: HTMLElement, openedByMouseClick?: boolean): void;\n closeSubMenu(): void;\n onMenuFocusCapture(): void;\n };\n}\n\nclass ContextualMenuInternal extends React.Component {\n private _async: Async;\n private _events: EventGroup;\n private _id: string;\n private _previousActiveElement: HTMLElement | undefined;\n private _enterTimerId: number | undefined;\n private _isScrollIdle: boolean;\n private _scrollIdleTimeoutId: number | undefined;\n /** True if the most recent keydown event was for alt (option) or meta (command). */\n private _lastKeyDownWasAltOrMeta: boolean | undefined;\n private _mounted = false;\n\n private _adjustedFocusZoneProps: IFocusZoneProps;\n\n // eslint-disable-next-line deprecation/deprecation\n private _classNames: IProcessedStyleSet | IContextualMenuClassNames;\n\n constructor(props: IContextualMenuInternalProps) {\n super(props);\n\n this._async = new Async(this);\n this._events = new EventGroup(this);\n initializeComponentRef(this);\n\n warnDeprecations(COMPONENT_NAME, props, {\n getMenuClassNames: 'styles',\n });\n\n this.state = {\n contextualMenuItems: undefined,\n subMenuId: getId('ContextualMenu'),\n };\n\n this._id = props.id || getId('ContextualMenu');\n this._isScrollIdle = true;\n }\n\n public dismiss = (ev?: any, dismissAll?: boolean) => {\n const { onDismiss } = this.props;\n\n if (onDismiss) {\n onDismiss(ev, dismissAll);\n }\n };\n\n public shouldComponentUpdate(newProps: IContextualMenuInternalProps, newState: IContextualMenuState): boolean {\n if (!newProps.shouldUpdateWhenHidden && this.props.hidden && newProps.hidden) {\n // Do not update when hidden.\n return false;\n }\n\n return !shallowCompare(this.props, newProps) || !shallowCompare(this.state, newState);\n }\n\n public getSnapshotBeforeUpdate(prevProps: IContextualMenuInternalProps): null {\n const { hoisted } = this.props;\n\n if (this._isHidden(prevProps) !== this._isHidden(this.props)) {\n if (this._isHidden(this.props)) {\n this._onMenuClosed();\n } else {\n this._previousActiveElement = hoisted.targetWindow\n ? (hoisted.targetWindow.document.activeElement as HTMLElement)\n : undefined;\n }\n }\n return null;\n }\n\n // Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.\n public componentDidMount(): void {\n const { hidden, hoisted } = this.props;\n\n if (!hidden) {\n this._previousActiveElement = hoisted.targetWindow\n ? (hoisted.targetWindow.document.activeElement as HTMLElement)\n : undefined;\n }\n\n this._mounted = true;\n }\n\n // Invoked immediately before a component is unmounted from the DOM.\n public componentWillUnmount() {\n this._events.dispose();\n this._async.dispose();\n this._mounted = false;\n }\n\n public render(): JSX.Element | null {\n let { isBeakVisible } = this.props;\n\n const {\n items,\n labelElementId,\n id,\n className,\n beakWidth,\n directionalHint,\n directionalHintForRTL,\n alignTargetEdge,\n gapSpace,\n coverTarget,\n ariaLabel,\n doNotLayer,\n target,\n bounds,\n useTargetWidth,\n useTargetAsMinWidth,\n directionalHintFixed,\n shouldFocusOnMount,\n shouldFocusOnContainer,\n title,\n styles,\n theme,\n calloutProps,\n onRenderSubMenu = this._onRenderSubMenu,\n onRenderMenuList = this._onRenderMenuList,\n focusZoneProps,\n // eslint-disable-next-line deprecation/deprecation\n getMenuClassNames,\n hoisted: { expandedMenuItemKey, targetRef, onMenuFocusCapture, hostElement, forwardedRef },\n } = this.props;\n\n this._classNames = getMenuClassNames\n ? getMenuClassNames(theme!, className)\n : getClassNames(styles, {\n theme: theme!,\n className: className,\n });\n\n const hasIcons = itemsHaveIcons(items);\n\n function itemsHaveIcons(contextualMenuItems: IContextualMenuItem[]): boolean {\n for (const item of contextualMenuItems) {\n if (item.iconProps) {\n return true;\n }\n\n if (\n item.itemType === ContextualMenuItemType.Section &&\n item.sectionProps &&\n itemsHaveIcons(item.sectionProps.items)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n this._adjustedFocusZoneProps = {\n ...focusZoneProps,\n className: this._classNames.root,\n isCircularNavigation: true,\n handleTabKey: FocusZoneTabbableElements.all,\n direction: this._getFocusZoneDirection(),\n };\n\n const hasCheckmarks = canAnyMenuItemsCheck(items);\n const submenuProps = expandedMenuItemKey && this.props.hidden !== true ? this._getSubmenuProps() : null;\n\n isBeakVisible = isBeakVisible === undefined ? this.props.responsiveMode! <= ResponsiveMode.medium : isBeakVisible;\n /**\n * When useTargetWidth is true, get the width of the target element and apply it for the context menu container\n */\n let contextMenuStyle: React.CSSProperties;\n const targetAsHtmlElement = targetRef.current as HTMLElement;\n if ((useTargetWidth || useTargetAsMinWidth) && targetAsHtmlElement && targetAsHtmlElement.offsetWidth) {\n const targetBoundingRect = targetAsHtmlElement.getBoundingClientRect();\n const targetWidth = targetBoundingRect.width - 2; /* Accounts for 1px border */\n\n if (useTargetWidth) {\n contextMenuStyle = {\n width: targetWidth,\n };\n } else if (useTargetAsMinWidth) {\n contextMenuStyle = {\n minWidth: targetWidth,\n };\n }\n }\n\n // The menu should only return if items were provided, if no items were provided then it should not appear.\n if (items && items.length > 0) {\n let totalItemCount = 0;\n for (const item of items) {\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n const itemCount = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n totalItemCount += itemCount;\n }\n }\n\n const calloutStyles = this._classNames.subComponentStyles\n ? (this._classNames.subComponentStyles.callout as IStyleFunctionOrObject<\n ICalloutContentStyleProps,\n ICalloutContentStyles\n >)\n : undefined;\n\n return (\n \n {menuContext => (\n
\n \n )}\n \n );\n } else {\n return null;\n }\n }\n\n private _tryFocusPreviousActiveElement = (options: IPopupRestoreFocusParams) => {\n if (this.props.onRestoreFocus) {\n this.props.onRestoreFocus(options);\n } else if (options && options.documentContainsFocus && this._previousActiveElement) {\n // Make sure that the focus method actually exists\n // In some cases the object might exist but not be a real element.\n // This is primarily for IE 11 and should be removed once IE 11 is no longer in use.\n this._previousActiveElement.focus?.();\n }\n };\n\n private _onMenuClosed() {\n this._tryFocusPreviousActiveElement?.({\n originalElement: this._previousActiveElement,\n containsFocus: true,\n documentContainsFocus: getDocument()?.hasFocus() || false,\n });\n }\n\n /**\n * Return whether the contextual menu is hidden.\n * Undefined value for hidden is equivalent to hidden being false.\n * @param props - Props for the component\n */\n private _isHidden(props: IContextualMenuProps) {\n return !!props.hidden;\n }\n\n /**\n * Gets the focusZoneDirection by using the arrowDirection if specified,\n * the direction specified in the focusZoneProps, or defaults to FocusZoneDirection.vertical\n */\n private _getFocusZoneDirection() {\n const { focusZoneProps } = this.props;\n return focusZoneProps && focusZoneProps.direction !== undefined\n ? focusZoneProps.direction\n : FocusZoneDirection.vertical;\n }\n\n private _onRenderSubMenu(\n subMenuProps: IContextualMenuInternalProps,\n defaultRender?: IRenderFunction,\n ): JSX.Element {\n throw Error(\n 'ContextualMenuBase: onRenderSubMenu callback is null or undefined. ' +\n 'Please ensure to set `onRenderSubMenu` property either manually or with `styled` helper.',\n );\n }\n\n private _onRenderMenuList = (\n menuListProps: IContextualMenuListProps,\n defaultRender?: IRenderFunction,\n ): JSX.Element => {\n let indexCorrection = 0;\n const { items, totalItemCount, hasCheckmarks, hasIcons } = menuListProps;\n\n return (\n
    \n {items.map((item, index) => {\n const menuItem = this._renderMenuItem(item, index, indexCorrection, totalItemCount, hasCheckmarks, hasIcons);\n if (item.itemType !== ContextualMenuItemType.Divider && item.itemType !== ContextualMenuItemType.Header) {\n const indexIncrease = item.customOnRenderListLength ? item.customOnRenderListLength : 1;\n indexCorrection += indexIncrease;\n }\n return menuItem;\n })}\n
\n );\n };\n\n private _renderFocusZone(children: JSX.Element | null): JSX.Element {\n const { focusZoneAs: ChildrenRenderer = FocusZone } = this.props;\n return {children};\n }\n\n /**\n * !!!IMPORTANT!!! Avoid mutating `item: IContextualMenuItem` argument. It will\n * cause the menu items to always re-render because the component update is based on shallow comparison.\n */\n private _renderMenuItem = (\n item: IContextualMenuItem,\n index: number,\n focusableElementIndex: number,\n totalItemCount: number,\n hasCheckmarks: boolean,\n hasIcons: boolean,\n ): JSX.Element => {\n const renderedItems: React.ReactNode[] = [];\n const iconProps = item.iconProps || { iconName: 'None' };\n const {\n getItemClassNames, // eslint-disable-line deprecation/deprecation\n itemProps,\n } = item;\n const styles = itemProps ? itemProps.styles : undefined;\n const { expandedMenuItemKey } = this.props.hoisted;\n\n // We only send a dividerClassName when the item to be rendered is a divider.\n // For all other cases, the default divider style is used.\n const dividerClassName = item.itemType === ContextualMenuItemType.Divider ? item.className : undefined;\n const subMenuIconClassName = item.submenuIconProps ? item.submenuIconProps.className : '';\n\n // eslint-disable-next-line deprecation/deprecation\n let itemClassNames: IMenuItemClassNames;\n\n // IContextualMenuItem#getItemClassNames for backwards compatibility\n // otherwise uses mergeStyles for class names.\n if (getItemClassNames) {\n itemClassNames = getItemClassNames(\n this.props.theme!,\n isItemDisabled(item),\n expandedMenuItemKey === item.key,\n !!getIsChecked(item),\n !!item.href,\n iconProps.iconName !== 'None',\n item.className,\n dividerClassName,\n iconProps.className,\n subMenuIconClassName,\n item.primaryDisabled,\n );\n } else {\n const itemStyleProps: IContextualMenuItemStyleProps = {\n theme: this.props.theme!,\n disabled: isItemDisabled(item),\n expanded: expandedMenuItemKey === item.key,\n checked: !!getIsChecked(item),\n isAnchorLink: !!item.href,\n knownIcon: iconProps.iconName !== 'None',\n itemClassName: item.className,\n dividerClassName,\n iconClassName: iconProps.className,\n subMenuClassName: subMenuIconClassName,\n primaryDisabled: item.primaryDisabled,\n };\n\n // We need to generate default styles then override if styles are provided\n // since the ContextualMenu currently handles item classNames.\n itemClassNames = getContextualMenuItemClassNames(\n _getMenuItemStylesFunction(this._classNames.subComponentStyles?.menuItem, styles),\n itemStyleProps,\n );\n }\n\n // eslint-disable-next-line deprecation/deprecation\n if (item.text === '-' || item.name === '-') {\n item.itemType = ContextualMenuItemType.Divider;\n }\n switch (item.itemType) {\n case ContextualMenuItemType.Divider:\n renderedItems.push(this._renderSeparator(index, itemClassNames));\n break;\n case ContextualMenuItemType.Header:\n renderedItems.push(this._renderSeparator(index, itemClassNames));\n const headerItem = this._renderHeaderMenuItem(item, itemClassNames, index, hasCheckmarks, hasIcons);\n renderedItems.push(this._renderListItem(headerItem, item.key || index, itemClassNames, item.title));\n break;\n case ContextualMenuItemType.Section:\n renderedItems.push(this._renderSectionItem(item, itemClassNames, index, hasCheckmarks, hasIcons));\n break;\n default:\n const menuItem = this._renderNormalItem(\n item,\n itemClassNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n );\n renderedItems.push(this._renderListItem(menuItem, item.key || index, itemClassNames, item.title));\n break;\n }\n\n // Since multiple nodes *could* be rendered, wrap them all in a fragment with this item's key.\n // This ensures the reconciler handles multi-item output per-node correctly and does not re-mount content.\n return {renderedItems};\n };\n\n private _defaultMenuItemRenderer = (item: IContextualMenuItemRenderProps): React.ReactNode => {\n const { index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons } = item;\n return this._renderMenuItem(item, index, focusableElementIndex, totalItemCount, hasCheckmarks, hasIcons);\n };\n\n private _renderSectionItem(\n sectionItem: IContextualMenuItem,\n // eslint-disable-next-line deprecation/deprecation\n menuClassNames: IMenuItemClassNames,\n index: number,\n hasCheckmarks: boolean,\n hasIcons: boolean,\n ) {\n const sectionProps = sectionItem.sectionProps;\n if (!sectionProps) {\n return;\n }\n\n let headerItem;\n let groupProps;\n if (sectionProps.title) {\n let headerContextualMenuItem: IContextualMenuItem | undefined = undefined;\n let ariaLabellledby = '';\n if (typeof sectionProps.title === 'string') {\n // Since title is a user-facing string, it needs to be stripped\n // of whitespace in order to build a valid element ID\n const id = this._id + sectionProps.title.replace(/\\s/g, '');\n headerContextualMenuItem = {\n key: `section-${sectionProps.title}-title`,\n itemType: ContextualMenuItemType.Header,\n text: sectionProps.title,\n id: id,\n };\n ariaLabellledby = id;\n } else {\n const id = sectionProps.title.id || this._id + sectionProps.title.key.replace(/\\s/g, '');\n headerContextualMenuItem = { ...sectionProps.title, id };\n ariaLabellledby = id;\n }\n\n if (headerContextualMenuItem) {\n groupProps = {\n role: 'group',\n 'aria-labelledby': ariaLabellledby,\n };\n headerItem = this._renderHeaderMenuItem(\n headerContextualMenuItem,\n menuClassNames,\n index,\n hasCheckmarks,\n hasIcons,\n );\n }\n }\n\n if (sectionProps.items && sectionProps.items.length > 0) {\n return (\n
  • \n
    \n
      \n {sectionProps.topDivider && this._renderSeparator(index, menuClassNames, true, true)}\n {headerItem &&\n this._renderListItem(headerItem, sectionItem.key || index, menuClassNames, sectionItem.title)}\n {sectionProps.items.map((contextualMenuItem, itemsIndex) =>\n this._renderMenuItem(\n contextualMenuItem,\n itemsIndex,\n itemsIndex,\n sectionProps.items.length,\n hasCheckmarks,\n hasIcons,\n ),\n )}\n {sectionProps.bottomDivider && this._renderSeparator(index, menuClassNames, false, true)}\n
    \n
    \n
  • \n );\n }\n }\n\n private _renderListItem(\n content: React.ReactNode,\n key: string | number,\n classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation\n title?: string,\n ) {\n return (\n
  • \n {content}\n
  • \n );\n }\n\n private _renderSeparator(\n index: number,\n classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation\n top?: boolean,\n fromSection?: boolean,\n ): React.ReactNode {\n if (fromSection || index > 0) {\n return (\n \n );\n }\n return null;\n }\n\n private _renderNormalItem(\n item: IContextualMenuItem,\n classNames: IMenuItemClassNames, // eslint-disable-line deprecation/deprecation\n index: number,\n focusableElementIndex: number,\n totalItemCount: number,\n hasCheckmarks: boolean,\n hasIcons: boolean,\n ): React.ReactNode {\n if (item.onRender) {\n return item.onRender(\n { 'aria-posinset': focusableElementIndex + 1, 'aria-setsize': totalItemCount, ...item },\n this.dismiss,\n );\n }\n if (item.href) {\n return this._renderAnchorMenuItem(\n item,\n classNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n );\n }\n\n if (item.split && hasSubmenu(item)) {\n return this._renderSplitButton(\n item,\n classNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n );\n }\n\n return this._renderButtonItem(\n item,\n classNames,\n index,\n focusableElementIndex,\n totalItemCount,\n hasCheckmarks,\n hasIcons,\n );\n }\n\n private _renderHeaderMenuItem(\n item: IContextualMenuItem,\n // eslint-disable-next-line deprecation/deprecation\n classNames: IMenuItemClassNames,\n index: number,\n hasCheckmarks: boolean,\n hasIcons: boolean,\n ): React.ReactNode {\n const { contextualMenuItemAs: ChildrenRenderer = ContextualMenuItem } = this.props;\n const { itemProps, id } = item;\n const divHtmlProperties =\n itemProps && getNativeProps>(itemProps, divProperties);\n return (\n // eslint-disable-next-line deprecation/deprecation\n
    \n \n
    \n );\n }\n\n private _renderAnchorMenuItem(\n item: IContextualMenuItem,\n // eslint-disable-next-line deprecation/deprecation\n classNames: IMenuItemClassNames,\n index: number,\n focusableElementIndex: number,\n totalItemCount: number,\n hasCheckmarks: boolean,\n hasIcons: boolean,\n ): React.ReactNode {\n const {\n contextualMenuItemAs,\n hoisted: { expandedMenuItemKey, openSubMenu },\n } = this.props;\n return (\n \n );\n }\n\n private _renderButtonItem(\n item: IContextualMenuItem,\n // eslint-disable-next-line deprecation/deprecation\n classNames: IMenuItemClassNames,\n index: number,\n focusableElementIndex: number,\n totalItemCount: number,\n hasCheckmarks?: boolean,\n hasIcons?: boolean,\n ) {\n const {\n contextualMenuItemAs,\n hoisted: { expandedMenuItemKey, openSubMenu },\n } = this.props;\n\n return (\n \n );\n }\n\n private _renderSplitButton(\n item: IContextualMenuItem,\n // eslint-disable-next-line deprecation/deprecation\n classNames: IMenuItemClassNames,\n index: number,\n focusableElementIndex: number,\n totalItemCount: number,\n hasCheckmarks?: boolean,\n hasIcons?: boolean,\n ): JSX.Element {\n const {\n contextualMenuItemAs,\n hoisted: { expandedMenuItemKey, openSubMenu },\n } = this.props;\n\n return (\n \n );\n }\n\n private _onKeyDown = (ev: React.KeyboardEvent): boolean => {\n // Take note if we are processing an alt (option) or meta (command) keydown.\n // See comment in _shouldHandleKeyUp for reasoning.\n this._lastKeyDownWasAltOrMeta = this._isAltOrMeta(ev);\n\n // On Mac, pressing escape dismisses all levels of native context menus\n // eslint-disable-next-line deprecation/deprecation\n const dismissAllMenus = ev.which === KeyCodes.escape && (isMac() || isIOS());\n\n return this._keyHandler(ev, this._shouldHandleKeyDown, dismissAllMenus);\n };\n\n private _shouldHandleKeyDown = (ev: React.KeyboardEvent) => {\n return (\n // eslint-disable-next-line deprecation/deprecation\n ev.which === KeyCodes.escape ||\n this._shouldCloseSubMenu(ev) ||\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === KeyCodes.up && (ev.altKey || ev.metaKey))\n );\n };\n\n private _onKeyUp = (ev: React.KeyboardEvent): boolean => {\n return this._keyHandler(ev, this._shouldHandleKeyUp, true /* dismissAllMenus */);\n };\n\n /**\n * We close the menu on key up only if ALL of the following are true:\n * - Most recent key down was alt or meta (command)\n * - The alt/meta key down was NOT followed by some other key (such as down/up arrow to\n * expand/collapse the menu)\n * - We're not on a Mac (or iOS)\n *\n * This is because on Windows, pressing alt moves focus to the application menu bar or similar,\n * closing any open context menus. There is not a similar behavior on Macs.\n */\n private _shouldHandleKeyUp = (ev: React.KeyboardEvent) => {\n const keyPressIsAltOrMetaAlone = this._lastKeyDownWasAltOrMeta && this._isAltOrMeta(ev);\n this._lastKeyDownWasAltOrMeta = false;\n return !!keyPressIsAltOrMetaAlone && !(isIOS() || isMac());\n };\n\n /**\n * Returns true if the key for the event is alt (Mac option) or meta (Mac command).\n */\n private _isAltOrMeta(ev: React.KeyboardEvent): boolean {\n // eslint-disable-next-line deprecation/deprecation\n return ev.which === KeyCodes.alt || ev.key === 'Meta';\n }\n\n /**\n * Calls `shouldHandleKey` to determine whether the keyboard event should be handled;\n * if so, stops event propagation and dismisses menu(s).\n * @param ev - The keyboard event.\n * @param shouldHandleKey - Returns whether we should handle this keyboard event.\n * @param dismissAllMenus - If true, dismiss all menus. Otherwise, dismiss only the current menu.\n * Only does anything if `shouldHandleKey` returns true.\n * @returns Whether the event was handled.\n */\n private _keyHandler = (\n ev: React.KeyboardEvent,\n shouldHandleKey: (ev: React.KeyboardEvent) => boolean,\n dismissAllMenus?: boolean,\n ): boolean => {\n let handled = false;\n\n if (shouldHandleKey(ev)) {\n this.dismiss(ev, dismissAllMenus);\n ev.preventDefault();\n ev.stopPropagation();\n handled = true;\n }\n\n return handled;\n };\n\n /**\n * Checks if the submenu should be closed\n */\n private _shouldCloseSubMenu = (ev: React.KeyboardEvent): boolean => {\n const submenuCloseKey = getRTL(this.props.theme) ? KeyCodes.right : KeyCodes.left;\n\n // eslint-disable-next-line deprecation/deprecation\n if (ev.which !== submenuCloseKey || !this.props.isSubMenu) {\n return false;\n }\n\n return (\n this._adjustedFocusZoneProps.direction === FocusZoneDirection.vertical ||\n (!!this._adjustedFocusZoneProps.checkForNoWrap &&\n !shouldWrapFocus(ev.target as HTMLElement, 'data-no-horizontal-wrap'))\n );\n };\n\n private _onMenuKeyDown = (ev: React.KeyboardEvent) => {\n // Mark as handled if onKeyDown returns true (for handling collapse cases)\n // or if we are attempting to expand a submenu\n const handled = this._onKeyDown(ev);\n const { hostElement } = this.props.hoisted;\n\n if (handled || !hostElement.current) {\n return;\n }\n\n // If we have a modifier key being pressed, we do not want to move focus.\n // Otherwise, handle up and down keys.\n const hasModifier = !!(ev.altKey || ev.metaKey);\n // eslint-disable-next-line deprecation/deprecation\n const isUp = ev.which === KeyCodes.up;\n // eslint-disable-next-line deprecation/deprecation\n const isDown = ev.which === KeyCodes.down;\n if (!hasModifier && (isUp || isDown)) {\n const elementToFocus = isUp\n ? getLastFocusable(hostElement.current, hostElement.current.lastChild as HTMLElement, true)\n : getFirstFocusable(hostElement.current, hostElement.current.firstChild as HTMLElement, true);\n\n if (elementToFocus) {\n elementToFocus.focus();\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n };\n\n /**\n * Scroll handler for the callout to make sure the mouse events\n * for updating focus are not interacting during scroll\n */\n private _onScroll = (): void => {\n if (!this._isScrollIdle && this._scrollIdleTimeoutId !== undefined) {\n this._async.clearTimeout(this._scrollIdleTimeoutId);\n this._scrollIdleTimeoutId = undefined;\n } else {\n this._isScrollIdle = false;\n }\n\n this._scrollIdleTimeoutId = this._async.setTimeout(() => {\n this._isScrollIdle = true;\n }, NavigationIdleDelay);\n };\n\n private _onItemMouseEnterBase = (item: any, ev: React.MouseEvent, target?: HTMLElement): void => {\n if (this._shouldIgnoreMouseEvent()) {\n return;\n }\n\n this._updateFocusOnMouseEvent(item, ev, target);\n };\n\n private _onItemMouseMoveBase = (item: any, ev: React.MouseEvent, target: HTMLElement): void => {\n const targetElement = ev.currentTarget as HTMLElement;\n const { shouldUpdateFocusOnMouseEvent, gotMouseMove, targetWindow } = this.props.hoisted;\n\n // Always do this check to make sure we record a mouseMove if needed (even if we are timed out)\n if (shouldUpdateFocusOnMouseEvent.current) {\n gotMouseMove.current = true;\n } else {\n return;\n }\n\n if (\n !this._isScrollIdle ||\n this._enterTimerId !== undefined ||\n targetElement === (targetWindow?.document.activeElement as HTMLElement)\n ) {\n return;\n }\n\n this._updateFocusOnMouseEvent(item, ev, target);\n };\n\n private _shouldIgnoreMouseEvent(): boolean {\n return !this._isScrollIdle || !this.props.hoisted.gotMouseMove.current;\n }\n\n private _onMouseItemLeave = (item: any, ev: React.MouseEvent): void => {\n const { expandedMenuItemKey, hostElement } = this.props.hoisted;\n\n if (this._shouldIgnoreMouseEvent()) {\n return;\n }\n\n if (this._enterTimerId !== undefined) {\n this._async.clearTimeout(this._enterTimerId);\n this._enterTimerId = undefined;\n }\n\n if (expandedMenuItemKey !== undefined) {\n return;\n }\n\n /**\n * IE11 focus() method forces parents to scroll to top of element.\n * Edge and IE expose a setActive() function for focusable divs that\n * sets the page focus but does not scroll the parent element.\n */\n if ((hostElement.current as any).setActive) {\n try {\n (hostElement.current as any).setActive();\n } catch (e) {\n /* no-op */\n }\n } else {\n hostElement.current?.focus();\n }\n };\n\n /**\n * Handles updating focus when mouseEnter or mouseMove fire.\n * As part of updating focus, This function will also update\n * the expand/collapse state accordingly.\n */\n private _updateFocusOnMouseEvent(item: IContextualMenuItem, ev: React.MouseEvent, target?: HTMLElement) {\n const targetElement = target ? target : (ev.currentTarget as HTMLElement);\n const {\n subMenuHoverDelay: timeoutDuration = NavigationIdleDelay,\n hoisted: { expandedMenuItemKey, openSubMenu },\n } = this.props;\n\n if (item.key === expandedMenuItemKey) {\n return;\n }\n\n if (this._enterTimerId !== undefined) {\n this._async.clearTimeout(this._enterTimerId);\n this._enterTimerId = undefined;\n }\n\n // If the menu is not expanded we can update focus without any delay\n if (expandedMenuItemKey === undefined) {\n targetElement.focus();\n }\n\n // Delay updating expanding/dismissing the submenu\n // and only set focus if we have not already done so\n if (hasSubmenu(item)) {\n ev.stopPropagation();\n this._enterTimerId = this._async.setTimeout(() => {\n targetElement.focus();\n openSubMenu(item, targetElement, true);\n this._enterTimerId = undefined;\n }, timeoutDuration);\n } else {\n this._enterTimerId = this._async.setTimeout(() => {\n this._onSubMenuDismiss(ev);\n targetElement.focus();\n this._enterTimerId = undefined;\n }, timeoutDuration);\n }\n }\n\n private _onItemMouseDown = (item: IContextualMenuItem, ev: React.MouseEvent): void => {\n if (item.onMouseDown) {\n item.onMouseDown(item, ev);\n }\n };\n\n private _onItemClick = (\n item: IContextualMenuItem,\n ev: React.MouseEvent | React.KeyboardEvent,\n ): void => {\n this._onItemClickBase(item, ev, ev.currentTarget as HTMLElement);\n };\n\n private _onItemClickBase = (\n item: IContextualMenuItem,\n ev: React.MouseEvent | React.KeyboardEvent,\n target: HTMLElement,\n ): void => {\n const items = getSubmenuItems(item);\n const { expandedMenuItemKey, openSubMenu } = this.props.hoisted;\n\n // Cancel a async menu item hover timeout action from being taken and instead\n // just trigger the click event instead.\n this._cancelSubMenuTimer();\n\n if (!hasSubmenu(item) && (!items || !items.length)) {\n // This is an item without a menu. Click it.\n this._executeItemClick(item, ev);\n } else {\n if (item.key !== expandedMenuItemKey) {\n // This has a collapsed sub menu. Expand it.\n openSubMenu(\n item,\n target,\n // When Edge + Narrator are used together (regardless of if the button is in a form or not), pressing\n // \"Enter\" fires this method and not _onMenuKeyDown. Checking ev.nativeEvent.detail differentiates\n // between a real click event and a keypress event (detail should be the number of mouse clicks).\n // ...Plot twist! For a real click event in IE 11, detail is always 0 (Edge sets it properly to 1).\n // So we also check the pointerType property, which both Edge and IE set to \"mouse\" for real clicks\n // and \"\" for pressing \"Enter\" with Narrator on.\n ev.nativeEvent.detail !== 0 || (ev.nativeEvent as PointerEvent).pointerType === 'mouse',\n );\n }\n }\n\n ev.stopPropagation();\n ev.preventDefault();\n };\n\n private _onAnchorClick = (item: IContextualMenuItem, ev: React.MouseEvent) => {\n this._executeItemClick(item, ev);\n ev.stopPropagation();\n };\n\n private _executeItemClick = (\n item: IContextualMenuItem,\n ev: React.MouseEvent | React.KeyboardEvent,\n ): void => {\n if (item.disabled || item.isDisabled) {\n return;\n }\n\n let dismiss = false;\n if (item.onClick) {\n dismiss = !!item.onClick(ev, item);\n } else if (this.props.onItemClick) {\n dismiss = !!this.props.onItemClick(ev, item);\n }\n\n if (dismiss || !ev.defaultPrevented) {\n this.dismiss(ev, true);\n }\n };\n\n private _onItemKeyDown = (item: any, ev: React.KeyboardEvent): void => {\n const openKey = getRTL(this.props.theme) ? KeyCodes.left : KeyCodes.right;\n\n if (\n !item.disabled &&\n // eslint-disable-next-line deprecation/deprecation\n (ev.which === openKey || ev.which === KeyCodes.enter || (ev.which === KeyCodes.down && (ev.altKey || ev.metaKey)))\n ) {\n this.props.hoisted.openSubMenu(item, ev.currentTarget as HTMLElement, false);\n ev.preventDefault();\n }\n };\n\n // Cancel a async menu item hover timeout action from being taken and instead\n // do new upcoming behavior\n private _cancelSubMenuTimer = () => {\n if (this._enterTimerId !== undefined) {\n this._async.clearTimeout(this._enterTimerId);\n this._enterTimerId = undefined;\n }\n };\n\n private _getSubmenuProps() {\n const { submenuTarget, expandedMenuItemKey, expandedByMouseClick } = this.props.hoisted;\n const item = this._findItemByKey(expandedMenuItemKey!);\n let submenuProps: IContextualMenuProps | null = null;\n\n if (item) {\n submenuProps = {\n items: getSubmenuItems(item)!,\n target: submenuTarget,\n onDismiss: this._onSubMenuDismiss,\n isSubMenu: true,\n id: this.state.subMenuId,\n shouldFocusOnMount: true,\n shouldFocusOnContainer: expandedByMouseClick,\n directionalHint: getRTL(this.props.theme) ? DirectionalHint.leftTopEdge : DirectionalHint.rightTopEdge,\n className: this.props.className,\n gapSpace: 0,\n isBeakVisible: false,\n };\n\n if (item.subMenuProps) {\n assign(submenuProps, item.subMenuProps);\n }\n }\n return submenuProps;\n }\n\n private _findItemByKey(key: string): IContextualMenuItem | undefined {\n const { items } = this.props;\n return this._findItemByKeyFromItems(key, items);\n }\n\n /**\n * Returns the item that matches a given key if any.\n * @param key - The key of the item to match\n * @param items - The items to look for the key\n */\n private _findItemByKeyFromItems(key: string, items: IContextualMenuItem[]): IContextualMenuItem | undefined {\n for (const item of items) {\n if (item.itemType === ContextualMenuItemType.Section && item.sectionProps) {\n const match = this._findItemByKeyFromItems(key, item.sectionProps.items);\n if (match) {\n return match;\n }\n } else if (item.key && item.key === key) {\n return item;\n }\n }\n }\n\n /**\n * This function is called ASYNCHRONOUSLY, and so there is a chance it is called\n * after the component is unmounted. The _mounted property is added to prevent\n * from calling setState() after unmount. Do NOT copy this pattern in synchronous\n * code.\n */\n private _onSubMenuDismiss = (ev?: any, dismissAll?: boolean): void => {\n if (dismissAll) {\n this.dismiss(ev, dismissAll);\n } else if (this._mounted) {\n this.props.hoisted.closeSubMenu();\n }\n };\n\n private _onPointerAndTouchEvent = (ev: React.TouchEvent | PointerEvent) => {\n this._cancelSubMenuTimer();\n };\n}\n","import { getGlobalClassNames, FontWeights } from '../../Styling';\nimport { CONTEXTUAL_MENU_ITEM_HEIGHT } from './ContextualMenu.cnstyles';\nimport type { IContextualMenuStyleProps, IContextualMenuStyles } from './ContextualMenu.types';\n\nconst GlobalClassNames = {\n root: 'ms-ContextualMenu',\n container: 'ms-ContextualMenu-container',\n list: 'ms-ContextualMenu-list',\n header: 'ms-ContextualMenu-header',\n title: 'ms-ContextualMenu-title',\n isopen: 'is-open',\n};\n\nexport const getStyles = (props: IContextualMenuStyleProps): IContextualMenuStyles => {\n const { className, theme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const { fonts, semanticColors, effects } = theme;\n\n return {\n root: [\n theme.fonts.medium,\n classNames.root,\n classNames.isopen,\n {\n backgroundColor: semanticColors.menuBackground,\n minWidth: '180px',\n },\n className,\n ],\n container: [\n classNames.container,\n {\n selectors: {\n ':focus': { outline: 0 },\n },\n },\n ],\n list: [\n classNames.list,\n classNames.isopen,\n {\n listStyleType: 'none',\n margin: '0',\n padding: '0',\n },\n ],\n header: [\n classNames.header,\n fonts.small,\n {\n fontWeight: FontWeights.semibold,\n color: semanticColors.menuHeader,\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n height: CONTEXTUAL_MENU_ITEM_HEIGHT,\n lineHeight: CONTEXTUAL_MENU_ITEM_HEIGHT,\n cursor: 'default',\n padding: '0px 6px',\n userSelect: 'none',\n textAlign: 'left',\n },\n ],\n title: [\n classNames.title,\n {\n fontSize: fonts.mediumPlus.fontSize,\n paddingRight: '14px',\n paddingLeft: '14px',\n paddingBottom: '5px',\n paddingTop: '5px',\n backgroundColor: semanticColors.menuItemBackgroundPressed,\n },\n ],\n subComponentStyles: {\n callout: {\n root: {\n boxShadow: effects.elevation8,\n },\n },\n menuItem: {},\n },\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { ContextualMenuBase } from './ContextualMenu.base';\nimport { getStyles } from './ContextualMenu.styles';\nimport type { IContextualMenuProps, IContextualMenuStyleProps, IContextualMenuStyles } from './ContextualMenu.types';\n\nfunction onRenderSubMenu(subMenuProps: IContextualMenuProps) {\n return ;\n}\n\n// This is to prevent cyclic import with ContextualMenu.base.tsx.\nconst LocalContextualMenu: React.FunctionComponent = styled<\n IContextualMenuProps,\n IContextualMenuStyleProps,\n IContextualMenuStyles\n>(ContextualMenuBase, getStyles, () => ({ onRenderSubMenu }), { scope: 'ContextualMenu' });\n\n/**\n * ContextualMenu description\n */\nexport const ContextualMenu: React.FunctionComponent = LocalContextualMenu;\nContextualMenu.displayName = 'ContextualMenu';\n","/**\n * Regular expressions matching characters to ignore when calculating the initials.\n */\n\n/**\n * Regular expression matching characters within various types of enclosures, including the enclosures themselves\n * so for example, (xyz) [xyz] {xyz} all would be ignored\n */\nconst UNWANTED_ENCLOSURES_REGEX: RegExp = /[\\(\\[\\{\\<][^\\)\\]\\}\\>]*[\\)\\]\\}\\>]/g;\n\n/**\n * Regular expression matching special ASCII characters except space, plus some unicode special characters.\n * Applies after unwanted enclosures have been removed\n */\nconst UNWANTED_CHARS_REGEX: RegExp = /[\\0-\\u001F\\!-/:-@\\[-`\\{-\\u00BF\\u0250-\\u036F\\uD800-\\uFFFF]/g;\n\n/**\n * Regular expression matching phone numbers. Applied after chars matching UNWANTED_CHARS_REGEX have been removed\n * and number has been trimmed for whitespaces\n */\nconst PHONENUMBER_REGEX: RegExp = /^\\d+[\\d\\s]*(:?ext|x|)\\s*\\d+$/i;\n\n/** Regular expression matching one or more spaces. */\nconst MULTIPLE_WHITESPACES_REGEX: RegExp = /\\s+/g;\n\n/**\n * Regular expression matching languages for which we currently don't support initials.\n * Arabic: Arabic, Arabic Supplement, Arabic Extended-A.\n * Korean: Hangul Jamo, Hangul Compatibility Jamo, Hangul Jamo Extended-A, Hangul Syllables, Hangul Jamo Extended-B.\n * Japanese: Hiragana, Katakana.\n * CJK: CJK Unified Ideographs Extension A, CJK Unified Ideographs, CJK Compatibility Ideographs,\n * CJK Unified Ideographs Extension B\n */\n// eslint-disable-next-line @fluentui/max-len\nconst UNSUPPORTED_TEXT_REGEX: RegExp = /[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\u1100-\\u11FF\\u3130-\\u318F\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3040-\\u309F\\u30A0-\\u30FF\\u3400-\\u4DBF\\u4E00-\\u9FFF\\uF900-\\uFAFF]|[\\uD840-\\uD869][\\uDC00-\\uDED6]/;\n\nfunction getInitialsLatin(displayName: string, isRtl: boolean): string {\n let initials = '';\n\n const splits: string[] = displayName.split(' ');\n\n if (splits.length === 2) {\n initials += splits[0].charAt(0).toUpperCase();\n initials += splits[1].charAt(0).toUpperCase();\n } else if (splits.length === 3) {\n initials += splits[0].charAt(0).toUpperCase();\n initials += splits[2].charAt(0).toUpperCase();\n } else if (splits.length !== 0) {\n initials += splits[0].charAt(0).toUpperCase();\n }\n\n if (isRtl && initials.length > 1) {\n return initials.charAt(1) + initials.charAt(0);\n }\n\n return initials;\n}\n\nfunction cleanupDisplayName(displayName: string): string {\n displayName = displayName.replace(UNWANTED_ENCLOSURES_REGEX, '');\n displayName = displayName.replace(UNWANTED_CHARS_REGEX, '');\n displayName = displayName.replace(MULTIPLE_WHITESPACES_REGEX, ' ');\n displayName = displayName.trim();\n\n return displayName;\n}\n\n/**\n * Get (up to 2 characters) initials based on display name of the persona.\n *\n * @public\n */\nexport function getInitials(\n displayName: string | undefined | null,\n isRtl: boolean,\n allowPhoneInitials?: boolean,\n): string {\n if (!displayName) {\n return '';\n }\n\n displayName = cleanupDisplayName(displayName);\n\n // For names containing CJK characters, and phone numbers, we don't display initials\n if (UNSUPPORTED_TEXT_REGEX.test(displayName) || (!allowPhoneInitials && PHONENUMBER_REGEX.test(displayName))) {\n return '';\n }\n\n return getInitialsLatin(displayName, isRtl);\n}\n","import { PersonaPresence, PersonaSize } from './Persona.types';\n\n// Persona Sizes\nexport namespace personaSize {\n export const size8 = '20px';\n // TODO: remove in a future major release as it's deprecated.\n export const size10 = '20px';\n // TODO: remove in a future major release as it's deprecated.\n export const size16 = '16px';\n export const size24 = '24px';\n // TODO: remove in a future major release as it's deprecated.\n export const size28 = '28px';\n export const size32 = '32px';\n export const size40 = '40px';\n export const size48 = '48px';\n export const size56 = '56px';\n export const size72 = '72px';\n export const size100 = '100px';\n export const size120 = '120px';\n}\n\n// Persona Presence Sizes\nexport namespace personaPresenceSize {\n export const size6 = '6px';\n export const size8 = '8px';\n export const size12 = '12px';\n export const size16 = '16px';\n export const size20 = '20px';\n export const size28 = '28px';\n export const size32 = '32px';\n\n /**\n * @deprecated This is now unused\n */\n export const border = '2px';\n}\n\n// TODO: remove the deprecated parts in a future major release.\nexport const sizeBoolean = (size: PersonaSize) => ({\n isSize8: size === PersonaSize.size8,\n /* eslint-disable deprecation/deprecation */\n isSize10: size === PersonaSize.size10 || size === PersonaSize.tiny,\n isSize16: size === PersonaSize.size16,\n isSize24: size === PersonaSize.size24 || size === PersonaSize.extraExtraSmall,\n isSize28: size === PersonaSize.size28 || size === PersonaSize.extraSmall,\n isSize32: size === PersonaSize.size32,\n isSize40: size === PersonaSize.size40 || size === PersonaSize.small,\n isSize48: size === PersonaSize.size48 || size === PersonaSize.regular,\n isSize56: size === PersonaSize.size56,\n isSize72: size === PersonaSize.size72 || size === PersonaSize.large,\n isSize100: size === PersonaSize.size100 || size === PersonaSize.extraLarge,\n isSize120: size === PersonaSize.size120,\n});\n\nexport const sizeToPixels: { [key: number]: number } = {\n // Old deprecated sizes\n [PersonaSize.tiny]: 10,\n [PersonaSize.extraExtraSmall]: 24,\n [PersonaSize.extraSmall]: 28,\n [PersonaSize.small]: 40,\n [PersonaSize.regular]: 48,\n [PersonaSize.large]: 72,\n [PersonaSize.extraLarge]: 100,\n // New sizes\n [PersonaSize.size8]: 8,\n [PersonaSize.size10]: 10, // TODO: deprecated (not in the design specs)\n [PersonaSize.size16]: 16, // TODO: deprecated (not in the design specs)\n [PersonaSize.size24]: 24,\n [PersonaSize.size28]: 28, // TODO: deprecated (not in the design specs)\n /* eslint-enable deprecation/deprecation */\n [PersonaSize.size32]: 32,\n [PersonaSize.size40]: 40,\n [PersonaSize.size48]: 48,\n [PersonaSize.size56]: 56,\n [PersonaSize.size72]: 72,\n [PersonaSize.size100]: 100,\n [PersonaSize.size120]: 120,\n};\n\nexport const presenceBoolean = (presence: PersonaPresence) => ({\n isAvailable: presence === PersonaPresence.online,\n isAway: presence === PersonaPresence.away,\n isBlocked: presence === PersonaPresence.blocked,\n isBusy: presence === PersonaPresence.busy,\n isDoNotDisturb: presence === PersonaPresence.dnd,\n isOffline: presence === PersonaPresence.offline,\n});\n","import * as React from 'react';\nimport { classNamesFunction } from '../../../Utilities';\nimport { Icon } from '../../../Icon';\nimport { PersonaPresence as PersonaPresenceEnum, PersonaSize } from '../Persona.types';\nimport { sizeBoolean } from '../PersonaConsts';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport type { IPersonaPresenceProps, IPersonaPresenceStyleProps, IPersonaPresenceStyles } from '../Persona.types';\n\nconst coinSizeFontScaleFactor = 6;\nconst coinSizePresenceScaleFactor = 3;\nconst presenceMaxSize = 40;\nconst presenceFontMaxSize = 20;\n\nconst getClassNames = classNamesFunction({\n // There can be many PersonaPresence rendered with different sizes.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\n\n/**\n * PersonaPresence with no default styles.\n * [Use the `getStyles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport const PersonaPresenceBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IPersonaPresenceProps\n>((props, forwardedRef) => {\n const {\n coinSize,\n isOutOfOffice,\n styles, // Use getStyles from props.\n presence,\n theme,\n presenceTitle,\n presenceColors,\n } = props;\n\n const rootRef = React.useRef(null);\n const mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n\n const size = sizeBoolean(props.size as PersonaSize);\n\n // Render Presence Icon if Persona is above size 32.\n const renderIcon =\n !(size.isSize8 || size.isSize10 || size.isSize16 || size.isSize24 || size.isSize28 || size.isSize32) &&\n (coinSize ? coinSize > 32 : true);\n\n const presenceHeightWidth: string = coinSize\n ? coinSize / coinSizePresenceScaleFactor < presenceMaxSize\n ? coinSize / coinSizePresenceScaleFactor + 'px'\n : presenceMaxSize + 'px'\n : '';\n const presenceFontSize: string = coinSize\n ? coinSize / coinSizeFontScaleFactor < presenceFontMaxSize\n ? coinSize / coinSizeFontScaleFactor + 'px'\n : presenceFontMaxSize + 'px'\n : '';\n const coinSizeWithPresenceIconStyle = coinSize\n ? { fontSize: presenceFontSize, lineHeight: presenceHeightWidth }\n : undefined;\n const coinSizeWithPresenceStyle = coinSize ? { width: presenceHeightWidth, height: presenceHeightWidth } : undefined;\n\n // Use getStyles from props, or fall back to getStyles from styles file.\n const classNames = getClassNames(styles, {\n theme: theme!,\n presence,\n size: props.size,\n isOutOfOffice,\n presenceColors,\n });\n\n if (presence === PersonaPresenceEnum.none) {\n return null;\n }\n\n return (\n \n {renderIcon && (\n \n )}\n \n );\n});\nPersonaPresenceBase.displayName = 'PersonaPresenceBase';\n\nfunction determineIcon(\n presence: PersonaPresenceEnum | undefined,\n isOutOfOffice: boolean | undefined,\n): string | undefined {\n if (!presence) {\n return undefined;\n }\n\n const oofIcon = 'SkypeArrow';\n\n switch (PersonaPresenceEnum[presence]) {\n case 'online':\n return 'SkypeCheck';\n case 'away':\n return isOutOfOffice ? oofIcon : 'SkypeClock';\n case 'dnd':\n return 'SkypeMinus';\n case 'offline':\n return isOutOfOffice ? oofIcon : '';\n }\n\n return '';\n}\n","import { PersonaPresence, PersonaSize } from '../Persona.types';\nimport { HighContrastSelector, getGlobalClassNames, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { personaPresenceSize, presenceBoolean, sizeBoolean } from '../PersonaConsts';\nimport type { IPersonaPresenceStyleProps, IPersonaPresenceStyles } from '../Persona.types';\nimport type { IRawStyle } from '../../../Styling';\n\nconst GlobalClassNames = {\n presence: 'ms-Persona-presence',\n presenceIcon: 'ms-Persona-presenceIcon',\n};\n\nexport const getStyles = (props: IPersonaPresenceStyleProps): IPersonaPresenceStyles => {\n const { theme, presenceColors } = props;\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const size = sizeBoolean(props.size as PersonaSize);\n const presence = presenceBoolean(props.presence as PersonaPresence);\n\n // Presence colors\n const presenceColorAvailable = (presenceColors && presenceColors.available) || '#6BB700';\n const presenceColorAway = (presenceColors && presenceColors.away) || '#FFAA44';\n const presenceColorBusy = (presenceColors && presenceColors.busy) || '#C43148';\n const presenceColorDnd = (presenceColors && presenceColors.dnd) || '#C50F1F';\n const presenceColorOffline = (presenceColors && presenceColors.offline) || '#8A8886';\n const presenceColorOof = (presenceColors && presenceColors.oof) || '#B4009E';\n const presenceColorBackground = (presenceColors && presenceColors.background) || semanticColors.bodyBackground;\n\n const isOpenCirclePresence =\n presence.isOffline ||\n (props.isOutOfOffice && (presence.isAvailable || presence.isBusy || presence.isAway || presence.isDoNotDisturb));\n\n const borderSizeForSmallPersonas = '1px';\n const borderSizeForLargePersonas = '2px';\n\n const borderSize = size.isSize72 || size.isSize100 ? borderSizeForLargePersonas : borderSizeForSmallPersonas;\n\n return {\n presence: [\n classNames.presence,\n {\n position: 'absolute',\n height: personaPresenceSize.size12,\n width: personaPresenceSize.size12,\n borderRadius: '50%',\n top: 'auto',\n right: '-2px',\n bottom: '-2px',\n border: `2px solid ${presenceColorBackground}`,\n textAlign: 'center',\n boxSizing: 'content-box',\n backgroundClip: 'border-box',\n ...getHighContrastNoAdjustStyle(),\n\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Window',\n backgroundColor: 'WindowText',\n },\n },\n },\n\n (size.isSize8 || size.isSize10) && {\n right: 'auto',\n top: '7px',\n left: 0,\n border: 0,\n\n selectors: {\n [HighContrastSelector]: {\n top: '9px',\n border: '1px solid WindowText',\n },\n },\n },\n\n (size.isSize8 || size.isSize10 || size.isSize24 || size.isSize28 || size.isSize32) &&\n makeSizeStyle(personaPresenceSize.size8),\n\n (size.isSize40 || size.isSize48) && makeSizeStyle(personaPresenceSize.size12),\n\n size.isSize16 && {\n height: personaPresenceSize.size6,\n width: personaPresenceSize.size6,\n borderWidth: '1.5px',\n },\n\n size.isSize56 && makeSizeStyle(personaPresenceSize.size16),\n\n size.isSize72 && makeSizeStyle(personaPresenceSize.size20),\n\n size.isSize100 && makeSizeStyle(personaPresenceSize.size28),\n\n size.isSize120 && makeSizeStyle(personaPresenceSize.size32),\n\n presence.isAvailable && {\n backgroundColor: presenceColorAvailable,\n\n selectors: {\n [HighContrastSelector]: backgroundColor('Highlight'),\n },\n },\n\n presence.isAway && backgroundColor(presenceColorAway),\n\n presence.isBlocked && [\n {\n selectors: {\n // Only show :after at larger sizes\n ':after':\n size.isSize40 || size.isSize48 || size.isSize72 || size.isSize100\n ? {\n content: '\"\"',\n width: '100%',\n height: borderSize,\n backgroundColor: presenceColorBusy,\n transform: 'translateY(-50%) rotate(-45deg)',\n position: 'absolute',\n top: '50%',\n left: 0,\n }\n : undefined,\n\n [HighContrastSelector]: {\n selectors: {\n ':after': {\n width: `calc(100% - 4px)`,\n left: '2px',\n backgroundColor: 'Window',\n },\n },\n },\n },\n },\n ],\n\n presence.isBusy && backgroundColor(presenceColorBusy),\n\n presence.isDoNotDisturb && backgroundColor(presenceColorDnd),\n\n presence.isOffline && backgroundColor(presenceColorOffline),\n\n (isOpenCirclePresence || presence.isBlocked) && [\n {\n backgroundColor: presenceColorBackground,\n\n selectors: {\n ':before': {\n content: '\"\"',\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n border: `${borderSize} solid ${presenceColorBusy}`,\n borderRadius: '50%',\n boxSizing: 'border-box',\n },\n [HighContrastSelector]: {\n backgroundColor: 'WindowText',\n\n selectors: {\n ':before': {\n width: `calc(100% - 2px)`,\n height: `calc(100% - 2px)`,\n top: '1px',\n left: '1px',\n borderColor: 'Window',\n },\n },\n },\n },\n },\n ],\n\n isOpenCirclePresence && presence.isAvailable && makeBeforeBorderStyle(borderSize, presenceColorAvailable),\n\n isOpenCirclePresence && presence.isBusy && makeBeforeBorderStyle(borderSize, presenceColorBusy),\n\n isOpenCirclePresence && presence.isAway && makeBeforeBorderStyle(borderSize, presenceColorOof),\n\n isOpenCirclePresence && presence.isDoNotDisturb && makeBeforeBorderStyle(borderSize, presenceColorDnd),\n\n isOpenCirclePresence && presence.isOffline && makeBeforeBorderStyle(borderSize, presenceColorOffline),\n\n isOpenCirclePresence &&\n presence.isOffline &&\n props.isOutOfOffice &&\n makeBeforeBorderStyle(borderSize, presenceColorOof),\n ],\n\n presenceIcon: [\n classNames.presenceIcon,\n {\n color: presenceColorBackground,\n fontSize: '6px', // exception case where we don't have an available theme.fonts variable to match it.\n lineHeight: personaPresenceSize.size12,\n verticalAlign: 'top',\n\n selectors: {\n [HighContrastSelector]: {\n color: 'Window',\n },\n },\n },\n\n size.isSize56 && {\n fontSize: '8px', // exception case where we don't have an available theme.fonts variable to match it.\n lineHeight: personaPresenceSize.size16,\n },\n\n size.isSize72 && {\n fontSize: fonts.small.fontSize,\n lineHeight: personaPresenceSize.size20,\n },\n\n size.isSize100 && {\n fontSize: fonts.medium.fontSize,\n lineHeight: personaPresenceSize.size28,\n },\n\n size.isSize120 && {\n fontSize: fonts.medium.fontSize,\n lineHeight: personaPresenceSize.size32,\n },\n\n presence.isAway && {\n position: 'relative',\n left: isOpenCirclePresence ? undefined : '1px',\n },\n\n isOpenCirclePresence && presence.isAvailable && makeOpenCircleIconStyle(presenceColorAvailable),\n\n isOpenCirclePresence && presence.isBusy && makeOpenCircleIconStyle(presenceColorBusy),\n\n isOpenCirclePresence && presence.isAway && makeOpenCircleIconStyle(presenceColorOof),\n\n isOpenCirclePresence && presence.isDoNotDisturb && makeOpenCircleIconStyle(presenceColorDnd),\n\n isOpenCirclePresence && presence.isOffline && makeOpenCircleIconStyle(presenceColorOffline),\n\n isOpenCirclePresence && presence.isOffline && props.isOutOfOffice && makeOpenCircleIconStyle(presenceColorOof),\n ],\n };\n};\n\nfunction makeOpenCircleIconStyle(color: string): IRawStyle {\n return {\n color,\n borderColor: color,\n };\n}\n\nfunction makeBeforeBorderStyle(borderSize: string, color: string): IRawStyle {\n return {\n selectors: {\n ':before': {\n border: `${borderSize} solid ${color}`,\n },\n },\n };\n}\n\nfunction makeSizeStyle(size: string): IRawStyle {\n return {\n height: size,\n width: size,\n };\n}\n\nfunction backgroundColor(color: string): IRawStyle {\n return { backgroundColor: color };\n}\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { PersonaPresenceBase } from './PersonaPresence.base';\nimport { getStyles } from './PersonaPresence.styles';\nimport type { IPersonaPresenceProps, IPersonaPresenceStyleProps, IPersonaPresenceStyles } from '../Persona.types';\n\n/**\n * PersonaPresence is used to render an individual's presence.\n */\nexport const PersonaPresence: React.FunctionComponent = styled<\n IPersonaPresenceProps,\n IPersonaPresenceStyleProps,\n IPersonaPresenceStyles\n>(PersonaPresenceBase, getStyles, undefined, { scope: 'PersonaPresence' });\n","import { PersonaInitialsColor } from './Persona.types';\nimport type { IPersonaProps } from './Persona.types';\n\n/**\n * Following colors are considered reserved and can only be set with overrides, so they are excluded from this set:\n * - `gray` and `black` can result in offensive persona coins with some initials combinations\n * - `red` often has a special meaning\n * - `transparent` is not intended to be used with typical initials due to accessibility issues;\n * its primary use is for Facepile overflow buttons.\n */\nconst COLOR_SWATCHES_LOOKUP: PersonaInitialsColor[] = [\n PersonaInitialsColor.lightBlue,\n PersonaInitialsColor.blue,\n PersonaInitialsColor.darkBlue,\n PersonaInitialsColor.teal,\n PersonaInitialsColor.green,\n PersonaInitialsColor.darkGreen,\n PersonaInitialsColor.lightPink,\n PersonaInitialsColor.pink,\n PersonaInitialsColor.magenta,\n PersonaInitialsColor.purple,\n PersonaInitialsColor.orange,\n PersonaInitialsColor.lightRed,\n PersonaInitialsColor.darkRed,\n PersonaInitialsColor.violet,\n PersonaInitialsColor.gold,\n PersonaInitialsColor.burgundy,\n PersonaInitialsColor.warmGray,\n PersonaInitialsColor.cyan,\n PersonaInitialsColor.rust,\n PersonaInitialsColor.coolGray,\n];\n\nconst COLOR_SWATCHES_NUM_ENTRIES = COLOR_SWATCHES_LOOKUP.length;\n\nfunction getInitialsColorFromName(displayName: string | undefined): PersonaInitialsColor {\n let color = PersonaInitialsColor.blue;\n if (!displayName) {\n return color;\n }\n\n let hashCode = 0;\n for (let iLen: number = displayName.length - 1; iLen >= 0; iLen--) {\n const ch: number = displayName.charCodeAt(iLen);\n const shift: number = iLen % 8;\n // eslint-disable-next-line no-bitwise\n hashCode ^= (ch << shift) + (ch >> (8 - shift));\n }\n\n color = COLOR_SWATCHES_LOOKUP[hashCode % COLOR_SWATCHES_NUM_ENTRIES];\n\n return color;\n}\n\nfunction personaInitialsColorToHexCode(personaInitialsColor: PersonaInitialsColor): string {\n switch (personaInitialsColor) {\n case PersonaInitialsColor.lightBlue:\n return '#4F6BED';\n case PersonaInitialsColor.blue:\n return '#0078D4';\n case PersonaInitialsColor.darkBlue:\n return '#004E8C';\n case PersonaInitialsColor.teal:\n return '#038387';\n case PersonaInitialsColor.lightGreen:\n case PersonaInitialsColor.green:\n return '#498205';\n case PersonaInitialsColor.darkGreen:\n return '#0B6A0B';\n case PersonaInitialsColor.lightPink:\n return '#C239B3';\n case PersonaInitialsColor.pink:\n return '#E3008C';\n case PersonaInitialsColor.magenta:\n return '#881798';\n case PersonaInitialsColor.purple:\n return '#5C2E91';\n case PersonaInitialsColor.orange:\n return '#CA5010';\n // eslint-disable-next-line deprecation/deprecation\n case PersonaInitialsColor.red:\n return '#EE1111';\n case PersonaInitialsColor.lightRed:\n return '#D13438';\n case PersonaInitialsColor.darkRed:\n return '#A4262C';\n case PersonaInitialsColor.transparent:\n return 'transparent';\n case PersonaInitialsColor.violet:\n return '#8764B8';\n case PersonaInitialsColor.gold:\n return '#986F0B';\n case PersonaInitialsColor.burgundy:\n return '#750B1C';\n case PersonaInitialsColor.warmGray:\n return '#7A7574';\n case PersonaInitialsColor.cyan:\n return '#005B70';\n case PersonaInitialsColor.rust:\n return '#8E562E';\n case PersonaInitialsColor.coolGray:\n return '#69797E';\n // eslint-disable-next-line deprecation/deprecation\n case PersonaInitialsColor.black:\n return '#1D1D1D';\n case PersonaInitialsColor.gray:\n return '#393939';\n }\n}\n\n/** @deprecated Use `getPersonaInitialsColor` */\nexport function initialsColorPropToColorCode(props: IPersonaProps): string {\n return getPersonaInitialsColor(props);\n}\n\n/**\n * Gets the hex color string (prefixed with #) for the given persona props.\n * This is the logic used internally by the Persona control.\n * @param props - Current persona props\n * @returns Hex color string prefixed with #\n */\nexport function getPersonaInitialsColor(props: Pick): string {\n // eslint-disable-next-line deprecation/deprecation\n const { primaryText, text } = props;\n let { initialsColor } = props;\n let initialsColorCode: string;\n if (typeof initialsColor === 'string') {\n initialsColorCode = initialsColor;\n } else {\n initialsColor = initialsColor !== undefined ? initialsColor : getInitialsColorFromName(text || primaryText);\n initialsColorCode = personaInitialsColorToHexCode(initialsColor);\n }\n\n return initialsColorCode;\n}\n","import * as React from 'react';\nimport {\n classNamesFunction,\n divProperties,\n memoizeFunction,\n getInitials,\n getNativeProps,\n getRTL,\n getPropsWithDefaults,\n} from '../../../Utilities';\nimport { mergeStyles } from '../../../Styling';\nimport { PersonaPresence } from '../PersonaPresence/index';\nimport { Icon } from '../../../Icon';\nimport { Image, ImageFit, ImageLoadState } from '../../../Image';\nimport { PersonaInitialsColor, PersonaPresence as PersonaPresenceEnum, PersonaSize } from '../Persona.types';\nimport { getPersonaInitialsColor } from '../PersonaInitialsColor';\nimport { sizeToPixels } from '../PersonaConsts';\nimport { useWarnings } from '@fluentui/react-hooks';\nimport type {\n IPersonaCoinProps,\n IPersonaCoinStyleProps,\n IPersonaCoinStyles,\n IPersonaPresenceProps,\n} from '../Persona.types';\n\nconst getClassNames = classNamesFunction({\n // There can be many PersonaCoin rendered with different sizes.\n // Therefore setting a larger cache size.\n cacheSize: 100,\n});\n\nconst getInitialsStyles = memoizeFunction(\n (\n className: string,\n initialsColor: PersonaInitialsColor | string | undefined,\n initialsTextColor: string | undefined,\n text: string | undefined,\n primaryText: string | undefined,\n showUnknownPersonaCoin: boolean | undefined,\n ) =>\n mergeStyles(\n className,\n !showUnknownPersonaCoin && {\n backgroundColor: getPersonaInitialsColor({ text, initialsColor, primaryText }),\n color: initialsTextColor,\n },\n ),\n);\n\nconst DEFAULT_PROPS = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n};\n\nfunction useDebugWarnings(props: IPersonaCoinProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'PersonaCoin',\n props,\n deprecations: { primaryText: 'text' },\n });\n }\n}\n\nfunction useImageLoadState({ onPhotoLoadingStateChange, imageUrl }: IPersonaCoinProps) {\n const [imageLoadState, setImageLoadstate] = React.useState(ImageLoadState.notLoaded);\n\n React.useEffect(() => {\n setImageLoadstate(ImageLoadState.notLoaded);\n }, [imageUrl]);\n\n const onLoadingStateChange = (loadState: ImageLoadState) => {\n setImageLoadstate(loadState);\n\n onPhotoLoadingStateChange?.(loadState);\n };\n\n return [imageLoadState, onLoadingStateChange] as const;\n}\n\n/**\n * PersonaCoin with no default styles.\n * [Use the `getStyles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport const PersonaCoinBase: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n IPersonaCoinProps\n>((propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n useDebugWarnings(props);\n\n const [imageLoadState, onLoadingStateChange] = useImageLoadState(props);\n\n const renderCoin = getCoinRenderer(onLoadingStateChange);\n\n const {\n className,\n coinProps,\n showUnknownPersonaCoin,\n coinSize,\n styles,\n imageUrl,\n initialsColor,\n initialsTextColor,\n isOutOfOffice,\n // eslint-disable-next-line deprecation/deprecation\n onRenderCoin = renderCoin,\n // eslint-disable-next-line deprecation/deprecation\n onRenderPersonaCoin = onRenderCoin,\n onRenderInitials = renderPersonaCoinInitials,\n presence,\n presenceTitle,\n presenceColors,\n // eslint-disable-next-line deprecation/deprecation\n primaryText,\n showInitialsUntilImageLoads,\n text,\n theme,\n size,\n } = props;\n\n const divProps = getNativeProps>(props, divProperties);\n const divCoinProps = getNativeProps>(coinProps || {}, divProperties);\n const coinSizeStyle = coinSize ? { width: coinSize, height: coinSize } : undefined;\n const hideImage = showUnknownPersonaCoin;\n\n const personaPresenceProps: IPersonaPresenceProps = {\n coinSize,\n isOutOfOffice,\n presence,\n presenceTitle,\n presenceColors,\n size,\n theme,\n };\n\n // Use getStyles from props, or fall back to getStyles from styles file.\n const classNames = getClassNames(styles, {\n theme: theme!,\n className: coinProps && coinProps.className ? coinProps.className : className,\n size,\n coinSize,\n showUnknownPersonaCoin,\n });\n\n const shouldRenderInitials = Boolean(\n imageLoadState !== ImageLoadState.loaded &&\n ((showInitialsUntilImageLoads && imageUrl) || !imageUrl || imageLoadState === ImageLoadState.error || hideImage),\n );\n\n return (\n
    \n {\n // Render PersonaCoin if size is not size8. size10 and tiny need to removed after a deprecation cleanup.\n // eslint-disable-next-line deprecation/deprecation\n size !== PersonaSize.size8 && size !== PersonaSize.size10 && size !== PersonaSize.tiny ? (\n
    \n {shouldRenderInitials && (\n \n {onRenderInitials(props, renderPersonaCoinInitials)}\n
    \n )}\n {!hideImage && onRenderPersonaCoin(props, renderCoin)}\n \n
    \n ) : // Otherwise, render just PersonaPresence.\n props.presence ? (\n \n ) : (\n // Just render Contact Icon if there isn't a Presence prop.\n \n )\n }\n {props.children}\n \n );\n});\nPersonaCoinBase.displayName = 'PersonaCoinBase';\n\nconst getCoinRenderer = (onLoadingStateChange: (loadState: ImageLoadState) => void) => ({\n coinSize,\n styles,\n imageUrl,\n imageAlt,\n imageShouldFadeIn,\n imageShouldStartVisible,\n theme,\n showUnknownPersonaCoin,\n size = DEFAULT_PROPS.size,\n}: IPersonaCoinProps): JSX.Element | null => {\n // Render the Image component only if an image URL is provided\n if (!imageUrl) {\n return null;\n }\n const classNames = getClassNames(styles, {\n theme: theme!,\n size,\n showUnknownPersonaCoin,\n });\n const dimension = coinSize || sizeToPixels[size];\n return (\n \n );\n};\n\nconst renderPersonaCoinInitials = ({\n imageInitials,\n allowPhoneInitials,\n showUnknownPersonaCoin,\n text,\n // eslint-disable-next-line deprecation/deprecation\n primaryText,\n theme,\n}: IPersonaCoinProps): JSX.Element => {\n if (showUnknownPersonaCoin) {\n return ;\n }\n\n const isRTL = getRTL(theme);\n\n imageInitials = imageInitials || getInitials(text || primaryText || '', isRTL, allowPhoneInitials);\n\n return imageInitials !== '' ? {imageInitials} : ;\n};\n","import { PersonaSize } from '../Persona.types';\nimport { HighContrastSelector, FontWeights, getGlobalClassNames, getHighContrastNoAdjustStyle } from '../../../Styling';\nimport { sizeBoolean, sizeToPixels } from '../PersonaConsts';\nimport type { IPersonaCoinStyleProps, IPersonaCoinStyles } from '../Persona.types';\n\nconst GlobalClassNames = {\n coin: 'ms-Persona-coin',\n imageArea: 'ms-Persona-imageArea',\n image: 'ms-Persona-image',\n initials: 'ms-Persona-initials',\n size8: 'ms-Persona--size8',\n size10: 'ms-Persona--size10',\n size16: 'ms-Persona--size16',\n size24: 'ms-Persona--size24',\n size28: 'ms-Persona--size28',\n size32: 'ms-Persona--size32',\n size40: 'ms-Persona--size40',\n size48: 'ms-Persona--size48',\n size56: 'ms-Persona--size56',\n size72: 'ms-Persona--size72',\n size100: 'ms-Persona--size100',\n size120: 'ms-Persona--size120',\n};\n\nexport const getStyles = (props: IPersonaCoinStyleProps): IPersonaCoinStyles => {\n const { className, theme, coinSize } = props;\n\n const { palette, fonts } = theme;\n\n const size = sizeBoolean(props.size as PersonaSize);\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n // Static colors used when displaying 'unknown persona' coin\n const unknownPersonaBackgroundColor = 'rgb(234, 234, 234)';\n const unknownPersonaFontColor = 'rgb(168, 0, 0)';\n\n const dimension = coinSize || (props.size && sizeToPixels[props.size]) || 48;\n\n return {\n coin: [\n classNames.coin,\n fonts.medium,\n size.isSize8 && classNames.size8,\n size.isSize10 && classNames.size10,\n size.isSize16 && classNames.size16,\n size.isSize24 && classNames.size24,\n size.isSize28 && classNames.size28,\n size.isSize32 && classNames.size32,\n size.isSize40 && classNames.size40,\n size.isSize48 && classNames.size48,\n size.isSize56 && classNames.size56,\n size.isSize72 && classNames.size72,\n size.isSize100 && classNames.size100,\n size.isSize120 && classNames.size120,\n className,\n ],\n\n size10WithoutPresenceIcon: {\n fontSize: fonts.xSmall.fontSize,\n position: 'absolute',\n top: '5px',\n right: 'auto',\n left: 0,\n },\n\n imageArea: [\n classNames.imageArea,\n {\n position: 'relative',\n textAlign: 'center',\n flex: '0 0 auto',\n height: dimension,\n width: dimension,\n },\n\n dimension <= 10 && {\n overflow: 'visible',\n background: 'transparent',\n height: 0,\n width: 0,\n },\n ],\n\n image: [\n classNames.image,\n {\n marginRight: '10px',\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n border: 0,\n borderRadius: '50%',\n perspective: '1px',\n },\n\n dimension <= 10 && {\n overflow: 'visible',\n background: 'transparent',\n height: 0,\n width: 0,\n },\n\n dimension > 10 && {\n height: dimension,\n width: dimension,\n },\n ],\n\n initials: [\n classNames.initials,\n {\n borderRadius: '50%',\n color: props.showUnknownPersonaCoin ? unknownPersonaFontColor : palette.white,\n fontSize: fonts.large.fontSize,\n fontWeight: FontWeights.semibold,\n // copying the logic for the dimensions; defaulted to 46 for size48\n lineHeight: dimension === 48 ? 46 : dimension,\n height: dimension,\n\n selectors: {\n [HighContrastSelector]: {\n border: '1px solid WindowText',\n ...getHighContrastNoAdjustStyle(),\n color: 'WindowText',\n boxSizing: 'border-box',\n backgroundColor: 'Window !important',\n },\n i: {\n fontWeight: FontWeights.semibold,\n },\n },\n },\n\n props.showUnknownPersonaCoin && {\n backgroundColor: unknownPersonaBackgroundColor,\n },\n\n dimension < 32 && {\n fontSize: fonts.xSmall.fontSize,\n },\n\n dimension >= 32 &&\n dimension < 40 && {\n fontSize: fonts.medium.fontSize,\n },\n\n dimension >= 40 &&\n dimension < 56 && {\n fontSize: fonts.mediumPlus.fontSize,\n },\n\n dimension >= 56 &&\n dimension < 72 && {\n fontSize: fonts.xLarge.fontSize,\n },\n\n dimension >= 72 &&\n dimension < 100 && {\n fontSize: fonts.xxLarge.fontSize,\n },\n\n dimension >= 100 && {\n fontSize: fonts.superLarge.fontSize,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../../Utilities';\nimport { PersonaCoinBase } from './PersonaCoin.base';\nimport { getStyles } from './PersonaCoin.styles';\nimport type { IPersonaCoinProps, IPersonaCoinStyleProps, IPersonaCoinStyles } from '../Persona.types';\n\n/**\n * PersonaCoin is used to render an individual's avatar and presence.\n */\nexport const PersonaCoin: React.FunctionComponent = styled<\n IPersonaCoinProps,\n IPersonaCoinStyleProps,\n IPersonaCoinStyles\n>(PersonaCoinBase, getStyles, undefined, {\n scope: 'PersonaCoin',\n});\n","import * as React from 'react';\nimport { classNamesFunction, divProperties, getNativeProps, getPropsWithDefaults } from '../../Utilities';\nimport { TooltipHost, TooltipOverflowMode } from '../../Tooltip';\nimport { PersonaCoin } from './PersonaCoin/PersonaCoin';\nimport { PersonaPresence as PersonaPresenceEnum, PersonaSize } from './Persona.types';\nimport { useWarnings, useMergedRefs } from '@fluentui/react-hooks';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport type { IRenderFunction } from '../../Utilities';\nimport type { IPersonaProps, IPersonaStyleProps, IPersonaStyles, IPersonaCoinProps } from './Persona.types';\n\nconst getClassNames = classNamesFunction();\n\nconst DEFAULT_PROPS = {\n size: PersonaSize.size48,\n presence: PersonaPresenceEnum.none,\n imageAlt: '',\n showOverflowTooltip: true,\n};\n\nfunction useDebugWarnings(props: IPersonaProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Persona',\n props,\n deprecations: { primaryText: 'text' },\n });\n }\n}\n\n/**\n * Persona with no default styles.\n * [Use the `styles` API to add your own styles.](https://github.com/microsoft/fluentui/wiki/Styling)\n */\nexport const PersonaBase: React.FunctionComponent = React.forwardRef(\n (propsWithoutDefaults, forwardedRef) => {\n const props = getPropsWithDefaults(DEFAULT_PROPS, propsWithoutDefaults);\n\n useDebugWarnings(props);\n const rootRef = React.useRef(null);\n const mergedRootRef = useMergedRefs(forwardedRef, rootRef);\n\n /**\n * Deprecation helper for getting text.\n */\n const getText = (): string => {\n // eslint-disable-next-line deprecation/deprecation\n return props.text || props.primaryText || '';\n };\n\n /**\n * Renders various types of Text (primaryText, secondaryText, etc)\n * based on the classNames passed\n * @param elementClassNames - element className\n * @param renderFunction - render function\n * @param defaultRenderFunction - default render function\n */\n const renderElement = (\n elementClassNames: string,\n renderFunction: IRenderFunction | undefined,\n defaultRenderFunction: IRenderFunction | undefined,\n ): JSX.Element => {\n return (\n
    \n {renderFunction && renderFunction(props, defaultRenderFunction)}\n
    \n );\n };\n\n /**\n * using closure to wrap the default render behavior\n * to make it independent of the type of text passed\n * @param text - text to render\n */\n const onRenderText = (text: string | undefined, tooltip = true): IRenderFunction | undefined => {\n // return default render behavior for valid text or undefined\n return text\n ? tooltip\n ? (): JSX.Element => {\n // default onRender behavior\n return (\n \n {text}\n \n );\n }\n : () => <>{text}\n : undefined;\n };\n\n const onInternalRenderPersonaCoin = (providedCoinProps: IPersonaCoinProps): JSX.Element | null => {\n return ;\n };\n\n // wrapping default render behavior based on various props properties\n const onInternalRenderPrimaryText = onRenderText(getText(), props.showOverflowTooltip);\n const onInternalRenderSecondaryText = onRenderText(props.secondaryText, props.showOverflowTooltip);\n const onInternalRenderTertiaryText = onRenderText(props.tertiaryText, props.showOverflowTooltip);\n const onInternalRenderOptionalText = onRenderText(props.optionalText, props.showOverflowTooltip);\n\n const {\n hidePersonaDetails,\n onRenderOptionalText = onInternalRenderOptionalText,\n onRenderPrimaryText = onInternalRenderPrimaryText,\n onRenderSecondaryText = onInternalRenderSecondaryText,\n onRenderTertiaryText = onInternalRenderTertiaryText,\n onRenderPersonaCoin = onInternalRenderPersonaCoin,\n } = props;\n const size = props.size as PersonaSize;\n\n // These properties are to be explicitly passed into PersonaCoin because they are the only props directly used\n const {\n allowPhoneInitials,\n className,\n coinProps,\n showUnknownPersonaCoin,\n coinSize,\n styles,\n imageAlt,\n imageInitials,\n imageShouldFadeIn,\n imageShouldStartVisible,\n imageUrl,\n initialsColor,\n initialsTextColor,\n isOutOfOffice,\n onPhotoLoadingStateChange,\n // eslint-disable-next-line deprecation/deprecation\n onRenderCoin,\n onRenderInitials,\n presence,\n presenceTitle,\n presenceColors,\n showInitialsUntilImageLoads,\n showSecondaryText,\n theme,\n } = props;\n\n const personaCoinProps: IPersonaCoinProps = {\n allowPhoneInitials,\n showUnknownPersonaCoin,\n coinSize,\n imageAlt,\n imageInitials,\n imageShouldFadeIn,\n imageShouldStartVisible,\n imageUrl,\n initialsColor,\n initialsTextColor,\n onPhotoLoadingStateChange,\n onRenderCoin,\n onRenderInitials,\n presence,\n presenceTitle,\n showInitialsUntilImageLoads,\n size,\n text: getText(),\n isOutOfOffice,\n presenceColors,\n ...coinProps,\n };\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n className,\n showSecondaryText,\n presence,\n size,\n });\n\n const divProps = getNativeProps>(props, divProperties);\n const personaDetails = (\n
    \n {renderElement(classNames.primaryText, onRenderPrimaryText, onInternalRenderPrimaryText)}\n {renderElement(classNames.secondaryText, onRenderSecondaryText, onInternalRenderSecondaryText)}\n {renderElement(classNames.tertiaryText, onRenderTertiaryText, onInternalRenderTertiaryText)}\n {renderElement(classNames.optionalText, onRenderOptionalText, onInternalRenderOptionalText)}\n {props.children}\n
    \n );\n return (\n \n {onRenderPersonaCoin(personaCoinProps, onRenderPersonaCoin)}\n {\n /* eslint-disable deprecation/deprecation */\n\n (!hidePersonaDetails ||\n size === PersonaSize.size8 ||\n size === PersonaSize.size10 ||\n size === PersonaSize.tiny) &&\n personaDetails\n /* eslint-enable deprecation/deprecation */\n }\n \n );\n },\n);\nPersonaBase.displayName = 'PersonaBase';\n","import { PersonaPresence, PersonaSize } from './Persona.types';\nimport { FontWeights, normalize, noWrap, getGlobalClassNames } from '../../Styling';\nimport { personaSize, presenceBoolean, sizeBoolean } from './PersonaConsts';\nimport type { IPersonaStyleProps, IPersonaStyles } from './Persona.types';\nimport type { IStyle } from '../../Styling';\n\nconst GlobalClassNames = {\n root: 'ms-Persona',\n size8: 'ms-Persona--size8',\n size10: 'ms-Persona--size10',\n size16: 'ms-Persona--size16',\n size24: 'ms-Persona--size24',\n size28: 'ms-Persona--size28',\n size32: 'ms-Persona--size32',\n size40: 'ms-Persona--size40',\n size48: 'ms-Persona--size48',\n size56: 'ms-Persona--size56',\n size72: 'ms-Persona--size72',\n size100: 'ms-Persona--size100',\n size120: 'ms-Persona--size120',\n available: 'ms-Persona--online',\n away: 'ms-Persona--away',\n blocked: 'ms-Persona--blocked',\n busy: 'ms-Persona--busy',\n doNotDisturb: 'ms-Persona--donotdisturb',\n offline: 'ms-Persona--offline',\n details: 'ms-Persona-details',\n primaryText: 'ms-Persona-primaryText',\n secondaryText: 'ms-Persona-secondaryText',\n tertiaryText: 'ms-Persona-tertiaryText',\n optionalText: 'ms-Persona-optionalText',\n textContent: 'ms-Persona-textContent',\n};\n\nexport const getStyles = (props: IPersonaStyleProps): IPersonaStyles => {\n const { className, showSecondaryText, theme } = props;\n\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n const size = sizeBoolean(props.size as PersonaSize);\n const presence = presenceBoolean(props.presence as PersonaPresence);\n\n const showSecondaryTextDefaultHeight = '16px';\n\n const sharedTextStyles: IStyle = {\n color: semanticColors.bodySubtext,\n fontWeight: FontWeights.regular,\n fontSize: fonts.small.fontSize,\n };\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n normalize,\n {\n color: semanticColors.bodyText,\n position: 'relative',\n height: personaSize.size48,\n minWidth: personaSize.size48,\n display: 'flex',\n alignItems: 'center',\n\n selectors: {\n '.contextualHost': {\n display: 'none',\n },\n },\n },\n\n size.isSize8 && [\n classNames.size8,\n {\n height: personaSize.size8,\n minWidth: personaSize.size8,\n },\n ],\n\n // TODO: Deprecated size and needs to be removed in a future major release.\n size.isSize10 && [\n classNames.size10,\n {\n height: personaSize.size10,\n minWidth: personaSize.size10,\n },\n ],\n\n // TODO: Deprecated size and needs to be removed in a future major release.\n size.isSize16 && [\n classNames.size16,\n {\n height: personaSize.size16,\n minWidth: personaSize.size16,\n },\n ],\n\n size.isSize24 && [\n classNames.size24,\n {\n height: personaSize.size24,\n minWidth: personaSize.size24,\n },\n ],\n\n size.isSize24 &&\n showSecondaryText && {\n height: '36px',\n },\n\n // TODO: Deprecated size and needs to be removed in a future major release.\n size.isSize28 && [\n classNames.size28,\n {\n height: personaSize.size28,\n minWidth: personaSize.size28,\n },\n ],\n\n size.isSize28 &&\n showSecondaryText && {\n height: '32px',\n },\n\n size.isSize32 && [\n classNames.size32,\n {\n height: personaSize.size32,\n minWidth: personaSize.size32,\n },\n ],\n\n size.isSize40 && [\n classNames.size40,\n {\n height: personaSize.size40,\n minWidth: personaSize.size40,\n },\n ],\n\n size.isSize48 && classNames.size48,\n\n size.isSize56 && [\n classNames.size56,\n {\n height: personaSize.size56,\n minWidth: personaSize.size56,\n },\n ],\n\n size.isSize72 && [\n classNames.size72,\n {\n height: personaSize.size72,\n minWidth: personaSize.size72,\n },\n ],\n\n size.isSize100 && [\n classNames.size100,\n {\n height: personaSize.size100,\n minWidth: personaSize.size100,\n },\n ],\n\n size.isSize120 && [\n classNames.size120,\n {\n height: personaSize.size120,\n minWidth: personaSize.size120,\n },\n ],\n\n /**\n * Modifiers: presence\n */\n presence.isAvailable && classNames.available,\n presence.isAway && classNames.away,\n presence.isBlocked && classNames.blocked,\n presence.isBusy && classNames.busy,\n presence.isDoNotDisturb && classNames.doNotDisturb,\n presence.isOffline && classNames.offline,\n className,\n ],\n\n details: [\n classNames.details,\n {\n padding: '0 24px 0 16px',\n minWidth: 0,\n width: '100%',\n textAlign: 'left',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n },\n\n (size.isSize8 || size.isSize10) && {\n paddingLeft: 17, // increased padding because we don't render a coin at this size\n },\n\n (size.isSize24 || size.isSize28 || size.isSize32) && {\n padding: '0 8px',\n },\n\n (size.isSize40 || size.isSize48) && {\n padding: '0 12px',\n },\n ],\n\n primaryText: [\n classNames.primaryText,\n noWrap,\n {\n color: semanticColors.bodyText,\n fontWeight: FontWeights.regular,\n fontSize: fonts.medium.fontSize,\n selectors: {\n ':hover': {\n color: semanticColors.inputTextHovered,\n },\n },\n },\n\n showSecondaryText && {\n height: showSecondaryTextDefaultHeight,\n lineHeight: showSecondaryTextDefaultHeight,\n overflowX: 'hidden',\n },\n\n (size.isSize8 || size.isSize10) && {\n fontSize: fonts.small.fontSize,\n lineHeight: personaSize.size8,\n },\n\n size.isSize16 && {\n lineHeight: personaSize.size28,\n },\n\n (size.isSize24 || size.isSize28 || size.isSize32 || size.isSize40 || size.isSize48) &&\n showSecondaryText && {\n height: 18,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) && {\n fontSize: fonts.xLarge.fontSize,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) &&\n showSecondaryText && {\n height: 22,\n },\n ],\n\n secondaryText: [\n classNames.secondaryText,\n noWrap,\n sharedTextStyles,\n\n (size.isSize8 || size.isSize10 || size.isSize16 || size.isSize24 || size.isSize28 || size.isSize32) && {\n display: 'none',\n },\n\n showSecondaryText && {\n display: 'block',\n height: showSecondaryTextDefaultHeight,\n lineHeight: showSecondaryTextDefaultHeight,\n overflowX: 'hidden',\n },\n\n size.isSize24 &&\n showSecondaryText && {\n height: 18,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) && {\n fontSize: fonts.medium.fontSize,\n },\n\n (size.isSize56 || size.isSize72 || size.isSize100 || size.isSize120) &&\n showSecondaryText && {\n height: 18,\n },\n ],\n\n tertiaryText: [\n classNames.tertiaryText,\n noWrap,\n sharedTextStyles,\n {\n display: 'none',\n fontSize: fonts.medium.fontSize,\n },\n\n (size.isSize72 || size.isSize100 || size.isSize120) && {\n display: 'block',\n },\n ],\n\n optionalText: [\n classNames.optionalText,\n noWrap,\n sharedTextStyles,\n {\n display: 'none',\n fontSize: fonts.medium.fontSize,\n },\n\n (size.isSize100 || size.isSize120) && {\n display: 'block',\n },\n ],\n\n textContent: [classNames.textContent, noWrap],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { PersonaBase } from './Persona.base';\nimport { getStyles } from './Persona.styles';\nimport type { IPersonaProps, IPersonaStyleProps, IPersonaStyles } from './Persona.types';\n\n/**\n * Personas are used for rendering an individual's avatar, presence and details.\n * They are used within the PeoplePicker components.\n */\nexport const Persona: React.FunctionComponent = styled<\n IPersonaProps,\n IPersonaStyleProps,\n IPersonaStyles\n>(PersonaBase, getStyles, undefined, {\n scope: 'Persona',\n});\n","export function supportBigInt() {\n return typeof BigInt === 'function';\n}","import { supportBigInt } from './supportUtil';\n/**\n * Format string number to readable number\n */\n\nexport function trimNumber(numStr) {\n var str = numStr.trim();\n var negative = str.startsWith('-');\n\n if (negative) {\n str = str.slice(1);\n }\n\n str = str // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`\n .replace(/(\\.\\d*[^0])0*$/, '$1') // Remove useless decimal. `1.` => `1`\n .replace(/\\.0*$/, '') // Remove integer 0. `0001` => `1`, 000.1' => `.1`\n .replace(/^0+/, '');\n\n if (str.startsWith('.')) {\n str = \"0\".concat(str);\n }\n\n var trimStr = str || '0';\n var splitNumber = trimStr.split('.');\n var integerStr = splitNumber[0] || '0';\n var decimalStr = splitNumber[1] || '0';\n\n if (integerStr === '0' && decimalStr === '0') {\n negative = false;\n }\n\n var negativeStr = negative ? '-' : '';\n return {\n negative: negative,\n negativeStr: negativeStr,\n trimStr: trimStr,\n integerStr: integerStr,\n decimalStr: decimalStr,\n fullStr: \"\".concat(negativeStr).concat(trimStr)\n };\n}\nexport function isE(number) {\n var str = String(number);\n return !Number.isNaN(Number(str)) && str.includes('e');\n}\n/**\n * [Legacy] Convert 1e-9 to 0.000000001.\n * This may lose some precision if user really want 1e-9.\n */\n\nexport function getNumberPrecision(number) {\n var numStr = String(number);\n\n if (isE(number)) {\n var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));\n var decimalMatch = numStr.match(/\\.(\\d+)/);\n\n if (decimalMatch === null || decimalMatch === void 0 ? void 0 : decimalMatch[1]) {\n precision += decimalMatch[1].length;\n }\n\n return precision;\n }\n\n return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;\n}\n/**\n * Convert number (includes scientific notation) to -xxx.yyy format\n */\n\nexport function num2str(number) {\n var numStr = String(number);\n\n if (isE(number)) {\n if (number > Number.MAX_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);\n }\n\n if (number < Number.MIN_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);\n }\n\n numStr = number.toFixed(getNumberPrecision(numStr));\n }\n\n return trimNumber(numStr).fullStr;\n}\nexport function validateNumber(num) {\n if (typeof num === 'number') {\n return !Number.isNaN(num);\n } // Empty\n\n\n if (!num) {\n return false;\n }\n\n return (// Normal type: 11.28\n /^\\s*-?\\d+(\\.\\d+)?\\s*$/.test(num) || // Pre-number: 1.\n /^\\s*-?\\d+\\.\\s*$/.test(num) || // Post-number: .1\n /^\\s*-?\\.\\d+\\s*$/.test(num)\n );\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n\n/* eslint-disable max-classes-per-file */\nimport { getNumberPrecision, isE, num2str, trimNumber, validateNumber } from './numberUtil';\nimport { supportBigInt } from './supportUtil';\n/**\n * We can remove this when IE not support anymore\n */\n\nexport var NumberDecimal = /*#__PURE__*/function () {\n function NumberDecimal(value) {\n _classCallCheck(this, NumberDecimal);\n\n this.origin = '';\n\n if (!value && value !== 0 || !String(value).trim()) {\n this.empty = true;\n return;\n }\n\n this.origin = String(value);\n this.number = Number(value);\n }\n\n _createClass(NumberDecimal, [{\n key: \"negate\",\n value: function negate() {\n return new NumberDecimal(-this.toNumber());\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new NumberDecimal(value);\n }\n\n var target = Number(value);\n\n if (Number.isNaN(target)) {\n return this;\n }\n\n var number = this.number + target; // [Legacy] Back to safe integer\n\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.number);\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n return this.number;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!safe) {\n return this.origin;\n }\n\n if (this.isInvalidate()) {\n return '';\n }\n\n return num2str(this.number);\n }\n }]);\n\n return NumberDecimal;\n}();\nexport var BigIntDecimal = /*#__PURE__*/function () {\n function BigIntDecimal(value) {\n _classCallCheck(this, BigIntDecimal);\n\n this.origin = '';\n\n if (!value && value !== 0 || !String(value).trim()) {\n this.empty = true;\n return;\n }\n\n this.origin = String(value); // Act like Number convert\n\n if (value === '-') {\n this.nan = true;\n return;\n }\n\n var mergedValue = value; // We need convert back to Number since it require `toFixed` to handle this\n\n if (isE(mergedValue)) {\n mergedValue = Number(mergedValue);\n }\n\n mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);\n\n if (validateNumber(mergedValue)) {\n var trimRet = trimNumber(mergedValue);\n this.negative = trimRet.negative;\n var numbers = trimRet.trimStr.split('.');\n this.integer = BigInt(numbers[0]);\n var decimalStr = numbers[1] || '0';\n this.decimal = BigInt(decimalStr);\n this.decimalLen = decimalStr.length;\n } else {\n this.nan = true;\n }\n }\n\n _createClass(BigIntDecimal, [{\n key: \"getMark\",\n value: function getMark() {\n return this.negative ? '-' : '';\n }\n }, {\n key: \"getIntegerStr\",\n value: function getIntegerStr() {\n return this.integer.toString();\n }\n }, {\n key: \"getDecimalStr\",\n value: function getDecimalStr() {\n return this.decimal.toString().padStart(this.decimalLen, '0');\n }\n /**\n * Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000\n * This is used for add function only.\n */\n\n }, {\n key: \"alignDecimal\",\n value: function alignDecimal(decimalLength) {\n var str = \"\".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));\n return BigInt(str);\n }\n }, {\n key: \"negate\",\n value: function negate() {\n var clone = new BigIntDecimal(this.toString());\n clone.negative = !clone.negative;\n return clone;\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new BigIntDecimal(value);\n }\n\n var offset = new BigIntDecimal(value);\n\n if (offset.isInvalidate()) {\n return this;\n }\n\n var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);\n var myAlignedDecimal = this.alignDecimal(maxDecimalLength);\n var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);\n var valueStr = (myAlignedDecimal + offsetAlignedDecimal).toString(); // We need fill string length back to `maxDecimalLength` to avoid parser failed\n\n var _trimNumber = trimNumber(valueStr),\n negativeStr = _trimNumber.negativeStr,\n trimStr = _trimNumber.trimStr;\n\n var hydrateValueStr = \"\".concat(negativeStr).concat(trimStr.padStart(maxDecimalLength + 1, '0'));\n return new BigIntDecimal(\"\".concat(hydrateValueStr.slice(0, -maxDecimalLength), \".\").concat(hydrateValueStr.slice(-maxDecimalLength)));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return this.nan;\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n if (this.isNaN()) {\n return NaN;\n }\n\n return Number(this.toString());\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (!safe) {\n return this.origin;\n }\n\n if (this.isInvalidate()) {\n return '';\n }\n\n return trimNumber(\"\".concat(this.getMark()).concat(this.getIntegerStr(), \".\").concat(this.getDecimalStr())).fullStr;\n }\n }]);\n\n return BigIntDecimal;\n}();\nexport default function getMiniDecimal(value) {\n // We use BigInt here.\n // Will fallback to Number if not support.\n if (supportBigInt()) {\n return new BigIntDecimal(value);\n }\n\n return new NumberDecimal(value);\n}\n/**\n * Align the logic of toFixed to around like 1.5 => 2\n */\n\nexport function toFixed(numStr, separatorStr, precision) {\n if (numStr === '') {\n return '';\n }\n\n var _trimNumber2 = trimNumber(numStr),\n negativeStr = _trimNumber2.negativeStr,\n integerStr = _trimNumber2.integerStr,\n decimalStr = _trimNumber2.decimalStr;\n\n var precisionDecimalStr = \"\".concat(separatorStr).concat(decimalStr);\n var numberWithoutDecimal = \"\".concat(negativeStr).concat(integerStr);\n\n if (precision >= 0) {\n // We will get last + 1 number to check if need advanced number\n var advancedNum = Number(decimalStr[precision]);\n\n if (advancedNum >= 5) {\n var advancedDecimal = getMiniDecimal(numStr).add(\"0.\".concat('0'.repeat(precision)).concat(10 - advancedNum));\n return toFixed(advancedDecimal.toString(), separatorStr, precision);\n }\n\n if (precision === 0) {\n return numberWithoutDecimal;\n }\n\n return \"\".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));\n }\n\n if (precisionDecimalStr === '.0') {\n return numberWithoutDecimal;\n }\n\n return \"\".concat(numberWithoutDecimal).concat(precisionDecimalStr);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport isMobile from \"rc-util/es/isMobile\";\n/**\n * When click and hold on a button - the speed of auto changing the value.\n */\n\nvar STEP_INTERVAL = 200;\n/**\n * When click and hold on a button - the delay before auto changing the value.\n */\n\nvar STEP_DELAY = 600;\nexport default function StepHandler(_ref) {\n var prefixCls = _ref.prefixCls,\n upNode = _ref.upNode,\n downNode = _ref.downNode,\n upDisabled = _ref.upDisabled,\n downDisabled = _ref.downDisabled,\n onStep = _ref.onStep;\n // ======================== Step ========================\n var stepTimeoutRef = React.useRef();\n var onStepRef = React.useRef();\n onStepRef.current = onStep; // We will interval update step when hold mouse down\n\n var onStepMouseDown = function onStepMouseDown(e, up) {\n e.preventDefault();\n onStepRef.current(up); // Loop step for interval\n\n function loopStep() {\n onStepRef.current(up);\n stepTimeoutRef.current = setTimeout(loopStep, STEP_INTERVAL);\n } // First time press will wait some time to trigger loop step update\n\n\n stepTimeoutRef.current = setTimeout(loopStep, STEP_DELAY);\n };\n\n var onStopStep = function onStopStep() {\n clearTimeout(stepTimeoutRef.current);\n };\n\n React.useEffect(function () {\n return onStopStep;\n }, []); // ======================= Render =======================\n\n if (isMobile()) {\n return null;\n }\n\n var handlerClassName = \"\".concat(prefixCls, \"-handler\");\n var upClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-up\"), _defineProperty({}, \"\".concat(handlerClassName, \"-up-disabled\"), upDisabled));\n var downClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-down\"), _defineProperty({}, \"\".concat(handlerClassName, \"-down-disabled\"), downDisabled));\n var sharedHandlerProps = {\n unselectable: 'on',\n role: 'button',\n onMouseUp: onStopStep,\n onMouseLeave: onStopStep\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(handlerClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, true);\n },\n \"aria-label\": \"Increase Value\",\n \"aria-disabled\": upDisabled,\n className: upClassName\n }), upNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-up-inner\")\n })), /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, false);\n },\n \"aria-label\": \"Decrease Value\",\n \"aria-disabled\": downDisabled,\n className: downClassName\n }), downNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-down-inner\")\n })));\n}","import * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nexport var useLayoutEffect = canUseDom() ? React.useLayoutEffect : React.useEffect;","import * as React from 'react';\nimport { useLayoutEffect } from './useLayoutEffect';\n/**\n * Work as `componentDidUpdate`\n */\n\nexport default function useUpdateEffect(callback, condition) {\n var initRef = React.useRef(false);\n useLayoutEffect(function () {\n if (!initRef.current) {\n initRef.current = true;\n return undefined;\n }\n\n return callback();\n }, condition);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport getMiniDecimal, { toFixed } from './utils/MiniDecimal';\nimport StepHandler from './StepHandler';\nimport { getNumberPrecision, num2str, validateNumber } from './utils/numberUtil';\nimport useCursor from './hooks/useCursor';\nimport useUpdateEffect from './hooks/useUpdateEffect';\n/**\n * We support `stringMode` which need handle correct type when user call in onChange\n */\n\nvar getDecimalValue = function getDecimalValue(stringMode, decimalValue) {\n if (stringMode || decimalValue.isEmpty()) {\n return decimalValue.toString();\n }\n\n return decimalValue.toNumber();\n};\n\nvar getDecimalIfValidate = function getDecimalIfValidate(value) {\n var decimal = getMiniDecimal(value);\n return decimal.isInvalidate() ? null : decimal;\n};\n\nvar InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input-number' : _props$prefixCls,\n className = props.className,\n style = props.style,\n min = props.min,\n max = props.max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n defaultValue = props.defaultValue,\n value = props.value,\n disabled = props.disabled,\n readOnly = props.readOnly,\n upHandler = props.upHandler,\n downHandler = props.downHandler,\n keyboard = props.keyboard,\n stringMode = props.stringMode,\n parser = props.parser,\n formatter = props.formatter,\n precision = props.precision,\n decimalSeparator = props.decimalSeparator,\n onChange = props.onChange,\n onInput = props.onInput,\n onPressEnter = props.onPressEnter,\n onStep = props.onStep,\n inputProps = _objectWithoutProperties(props, [\"prefixCls\", \"className\", \"style\", \"min\", \"max\", \"step\", \"defaultValue\", \"value\", \"disabled\", \"readOnly\", \"upHandler\", \"downHandler\", \"keyboard\", \"stringMode\", \"parser\", \"formatter\", \"precision\", \"decimalSeparator\", \"onChange\", \"onInput\", \"onPressEnter\", \"onStep\"]);\n\n var inputClassName = \"\".concat(prefixCls, \"-input\");\n var inputRef = React.useRef(null);\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focus = _React$useState2[0],\n setFocus = _React$useState2[1];\n\n var userTypingRef = React.useRef(false);\n var compositionRef = React.useRef(false); // ============================ Value =============================\n // Real value control\n\n var _React$useState3 = React.useState(function () {\n return getMiniDecimal(value !== null && value !== void 0 ? value : defaultValue);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n decimalValue = _React$useState4[0],\n setDecimalValue = _React$useState4[1];\n\n function setUncontrolledDecimalValue(newDecimal) {\n if (value === undefined) {\n setDecimalValue(newDecimal);\n }\n } // ====================== Parser & Formatter ======================\n\n /**\n * `precision` is used for formatter & onChange.\n * It will auto generate by `value` & `step`.\n * But it will not block user typing.\n *\n * Note: Auto generate `precision` is used for legacy logic.\n * We should remove this since we already support high precision with BigInt.\n *\n * @param number Provide which number should calculate precision\n * @param userTyping Change by user typing\n */\n\n\n var getPrecision = React.useCallback(function (numStr, userTyping) {\n if (userTyping) {\n return undefined;\n }\n\n if (precision >= 0) {\n return precision;\n }\n\n return Math.max(getNumberPrecision(numStr), getNumberPrecision(step));\n }, [precision, step]); // >>> Parser\n\n var mergedParser = React.useCallback(function (num) {\n var numStr = String(num);\n\n if (parser) {\n return parser(numStr);\n }\n\n var parsedStr = numStr;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(decimalSeparator, '.');\n } // [Legacy] We still support auto convert `$ 123,456` to `123456`\n\n\n return parsedStr.replace(/[^\\w.-]+/g, '');\n }, [parser, decimalSeparator]); // >>> Formatter\n\n var mergedFormatter = React.useCallback(function (number, userTyping) {\n if (formatter) {\n return formatter(number);\n }\n\n var str = typeof number === 'number' ? num2str(number) : number; // User typing will not auto format with precision directly\n\n if (!userTyping) {\n var mergedPrecision = getPrecision(str, userTyping);\n\n if (validateNumber(str) && (decimalSeparator || mergedPrecision >= 0)) {\n // Separator\n var separatorStr = decimalSeparator || '.';\n str = toFixed(str, separatorStr, mergedPrecision);\n }\n }\n\n return str;\n }, [formatter, getPrecision, decimalSeparator]); // ========================== InputValue ==========================\n\n /**\n * Input text value control\n *\n * User can not update input content directly. It update with follow rules by priority:\n * 1. controlled `value` changed\n * * [SPECIAL] Typing like `1.` should not immediately convert to `1`\n * 2. User typing with format (not precision)\n * 3. Blur or Enter trigger revalidate\n */\n\n var _React$useState5 = React.useState(function () {\n var initValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : value;\n\n if (decimalValue.isInvalidate() && ['string', 'number'].includes(_typeof(initValue))) {\n return Number.isNaN(initValue) ? '' : initValue;\n }\n\n return mergedFormatter(decimalValue.toString(), false);\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n inputValue = _React$useState6[0],\n setInternalInputValue = _React$useState6[1]; // Should always be string\n\n\n function setInputValue(newValue, userTyping) {\n setInternalInputValue(mergedFormatter( // Invalidate number is sometime passed by external control, we should let it go\n // Otherwise is controlled by internal interactive logic which check by userTyping\n // You can ref 'show limited value when input is not focused' test for more info.\n newValue.isInvalidate() ? newValue.toString(false) : newValue.toString(!userTyping), userTyping));\n } // >>> Max & Min limit\n\n\n var maxDecimal = React.useMemo(function () {\n return getDecimalIfValidate(max);\n }, [max]);\n var minDecimal = React.useMemo(function () {\n return getDecimalIfValidate(min);\n }, [min]);\n var upDisabled = React.useMemo(function () {\n if (!maxDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n\n return maxDecimal.lessEquals(decimalValue);\n }, [maxDecimal, decimalValue]);\n var downDisabled = React.useMemo(function () {\n if (!minDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n\n return decimalValue.lessEquals(minDecimal);\n }, [minDecimal, decimalValue]); // Cursor controller\n\n var _useCursor = useCursor(inputRef.current, focus),\n _useCursor2 = _slicedToArray(_useCursor, 2),\n recordCursor = _useCursor2[0],\n restoreCursor = _useCursor2[1]; // ============================= Data =============================\n\n /**\n * Find target value closet within range.\n * e.g. [11, 28]:\n * 3 => 11\n * 23 => 23\n * 99 => 28\n */\n\n\n var getRangeValue = function getRangeValue(target) {\n // target > max\n if (maxDecimal && !target.lessEquals(maxDecimal)) {\n return maxDecimal;\n } // target < min\n\n\n if (minDecimal && !minDecimal.lessEquals(target)) {\n return minDecimal;\n }\n\n return null;\n };\n /**\n * Check value is in [min, max] range\n */\n\n\n var isInRange = function isInRange(target) {\n return !getRangeValue(target);\n };\n /**\n * Trigger `onChange` if value validated and not equals of origin.\n * Return the value that re-align in range.\n */\n\n\n var triggerValueUpdate = function triggerValueUpdate(newValue, userTyping) {\n var updateValue = newValue;\n var isRangeValidate = isInRange(updateValue) || updateValue.isEmpty(); // Skip align value when trigger value is empty.\n // We just trigger onChange(null)\n // This should not block user typing\n\n if (!updateValue.isEmpty() && !userTyping) {\n // Revert value in range if needed\n updateValue = getRangeValue(updateValue) || updateValue;\n isRangeValidate = true;\n }\n\n if (!readOnly && !disabled && isRangeValidate) {\n var numStr = updateValue.toString();\n var mergedPrecision = getPrecision(numStr, userTyping);\n\n if (mergedPrecision >= 0) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision));\n } // Trigger event\n\n\n if (!updateValue.equals(decimalValue)) {\n setUncontrolledDecimalValue(updateValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(updateValue.isEmpty() ? null : getDecimalValue(stringMode, updateValue)); // Reformat input if value is not controlled\n\n if (value === undefined) {\n setInputValue(updateValue, userTyping);\n }\n }\n\n return updateValue;\n }\n\n return decimalValue;\n }; // ========================== User Input ==========================\n // >>> Collect input value\n\n\n var collectInputValue = function collectInputValue(inputStr) {\n recordCursor(); // Update inputValue incase input can not parse as number\n\n setInternalInputValue(inputStr); // Parse number\n\n if (!compositionRef.current) {\n var finalValue = mergedParser(inputStr);\n var finalDecimal = getMiniDecimal(finalValue);\n\n if (!finalDecimal.isNaN()) {\n triggerValueUpdate(finalDecimal, true);\n }\n }\n }; // >>> Composition\n\n\n var onCompositionStart = function onCompositionStart() {\n compositionRef.current = true;\n };\n\n var onCompositionEnd = function onCompositionEnd() {\n compositionRef.current = false;\n collectInputValue(inputRef.current.value);\n }; // >>> Input\n\n\n var onInternalInput = function onInternalInput(e) {\n var inputStr = e.target.value; // optimize for chinese input experience\n // https://github.com/ant-design/ant-design/issues/8196\n\n if (!parser) {\n inputStr = inputStr.replace(/。/g, '.');\n }\n\n collectInputValue(inputStr); // Trigger onInput later to let user customize value if they want do handle something after onChange\n\n onInput === null || onInput === void 0 ? void 0 : onInput(inputStr);\n }; // ============================= Step =============================\n\n\n var onInternalStep = function onInternalStep(up) {\n var _inputRef$current;\n\n // Ignore step since out of range\n if (up && upDisabled || !up && downDisabled) {\n return;\n } // Clear typing status since it may caused by up & down key.\n // We should sync with input value.\n\n\n userTypingRef.current = false;\n var stepDecimal = getMiniDecimal(step);\n\n if (!up) {\n stepDecimal = stepDecimal.negate();\n }\n\n var target = (decimalValue || getMiniDecimal(0)).add(stepDecimal.toString());\n var updatedValue = triggerValueUpdate(target, false);\n onStep === null || onStep === void 0 ? void 0 : onStep(getDecimalValue(stringMode, updatedValue), {\n offset: step,\n type: up ? 'up' : 'down'\n });\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n }; // ============================ Flush =============================\n\n /**\n * Flush current input content to trigger value change & re-formatter input if needed\n */\n\n\n var flushInputValue = function flushInputValue(userTyping) {\n var parsedValue = getMiniDecimal(mergedParser(inputValue));\n var formatValue = parsedValue;\n\n if (!parsedValue.isNaN()) {\n // Only validate value or empty value can be re-fill to inputValue\n // Reassign the formatValue within ranged of trigger control\n formatValue = triggerValueUpdate(parsedValue, userTyping);\n } else {\n formatValue = decimalValue;\n }\n\n if (value !== undefined) {\n // Reset back with controlled value first\n setInputValue(decimalValue, false);\n } else if (!formatValue.isNaN()) {\n // Reset input back since no validate value\n setInputValue(formatValue, false);\n }\n };\n\n var onKeyDown = function onKeyDown(event) {\n var which = event.which;\n userTypingRef.current = true;\n\n if (which === KeyCode.ENTER) {\n if (!compositionRef.current) {\n userTypingRef.current = false;\n }\n\n flushInputValue(true);\n onPressEnter === null || onPressEnter === void 0 ? void 0 : onPressEnter(event);\n }\n\n if (keyboard === false) {\n return;\n } // Do step\n\n\n if (!compositionRef.current && [KeyCode.UP, KeyCode.DOWN].includes(which)) {\n onInternalStep(KeyCode.UP === which);\n event.preventDefault();\n }\n };\n\n var onKeyUp = function onKeyUp() {\n userTypingRef.current = false;\n }; // >>> Focus & Blur\n\n\n var onBlur = function onBlur() {\n flushInputValue(false);\n setFocus(false);\n userTypingRef.current = false;\n }; // ========================== Controlled ==========================\n // Input by precision\n\n\n useUpdateEffect(function () {\n if (!decimalValue.isInvalidate()) {\n setInputValue(decimalValue, false);\n }\n }, [precision]); // Input by value\n\n useUpdateEffect(function () {\n var newValue = getMiniDecimal(value);\n setDecimalValue(newValue); // When user typing from `1.2` to `1.`, we should not convert to `1` immediately.\n // But let it go if user set `formatter`\n\n if (newValue.isNaN() || !userTypingRef.current || formatter) {\n // Update value as effect\n setInputValue(newValue, false);\n }\n }, [value]); // ============================ Cursor ============================\n\n useUpdateEffect(function () {\n if (formatter) {\n restoreCursor();\n }\n }, [inputValue]); // ============================ Render ============================\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-focused\"), focus), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-readonly\"), readOnly), _defineProperty(_classNames, \"\".concat(prefixCls, \"-not-a-number\"), decimalValue.isNaN()), _defineProperty(_classNames, \"\".concat(prefixCls, \"-out-of-range\"), !decimalValue.isInvalidate() && !isInRange(decimalValue)), _classNames)),\n style: style,\n onFocus: function onFocus() {\n setFocus(true);\n },\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd\n }, /*#__PURE__*/React.createElement(StepHandler, {\n prefixCls: prefixCls,\n upNode: upHandler,\n downNode: downHandler,\n upDisabled: upDisabled,\n downDisabled: downDisabled,\n onStep: onInternalStep\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(inputClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: \"off\",\n role: \"spinbutton\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": decimalValue.isInvalidate() ? null : decimalValue.toString(),\n step: step\n }, inputProps, {\n ref: composeRef(inputRef, ref),\n className: inputClassName,\n value: inputValue,\n onChange: onInternalInput,\n disabled: disabled,\n readOnly: readOnly\n }))));\n});\nInputNumber.displayName = 'InputNumber';\nexport default InputNumber;","import { useRef } from 'react';\nimport warning from \"rc-util/es/warning\";\n/**\n * Keep input cursor in the correct position if possible.\n * Is this necessary since we have `formatter` which may mass the content?\n */\n\nexport default function useCursor(input, focused) {\n var selectionRef = useRef(null);\n\n function recordCursor() {\n // Record position\n try {\n var start = input.selectionStart,\n end = input.selectionEnd,\n value = input.value;\n var beforeTxt = value.substring(0, start);\n var afterTxt = value.substring(end);\n selectionRef.current = {\n start: start,\n end: end,\n value: value,\n beforeTxt: beforeTxt,\n afterTxt: afterTxt\n };\n } catch (e) {// Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n /**\n * Restore logic:\n * 1. back string same\n * 2. start string same\n */\n\n\n function restoreCursor() {\n if (input && selectionRef.current && focused) {\n try {\n var value = input.value;\n var _selectionRef$current = selectionRef.current,\n beforeTxt = _selectionRef$current.beforeTxt,\n afterTxt = _selectionRef$current.afterTxt,\n start = _selectionRef$current.start;\n var startPos = value.length;\n\n if (value.endsWith(afterTxt)) {\n startPos = value.length - selectionRef.current.afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else {\n var beforeLastChar = beforeTxt[start - 1];\n var newIndex = value.indexOf(beforeLastChar, start - 1);\n\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n\n input.setSelectionRange(startPos, startPos);\n } catch (e) {\n warning(false, \"Something warning of cursor restore. Please fire issue about this: \".concat(e.message));\n }\n }\n }\n\n return [recordCursor, restoreCursor];\n}","import InputNumber from './InputNumber';\nexport default InputNumber;","// This icon file is generated automatically.\nvar UpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z\" } }] }, \"name\": \"up\", \"theme\": \"outlined\" };\nexport default UpOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport UpOutlinedSvg from \"@ant-design/icons-svg/es/asn/UpOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar UpOutlined = function UpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: UpOutlinedSvg\n }));\n};\n\nUpOutlined.displayName = 'UpOutlined';\nexport default /*#__PURE__*/React.forwardRef(UpOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcInputNumber from 'rc-input-number';\nimport UpOutlined from \"@ant-design/icons/es/icons/UpOutlined\";\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nvar InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var size = React.useContext(SizeContext);\n\n var className = props.className,\n customizeSize = props.size,\n customizePrefixCls = props.prefixCls,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n readOnly = props.readOnly,\n others = __rest(props, [\"className\", \"size\", \"prefixCls\", \"bordered\", \"readOnly\"]);\n\n var prefixCls = getPrefixCls('input-number', customizePrefixCls);\n var upIcon = /*#__PURE__*/React.createElement(UpOutlined, {\n className: \"\".concat(prefixCls, \"-handler-up-inner\")\n });\n var downIcon = /*#__PURE__*/React.createElement(DownOutlined, {\n className: \"\".concat(prefixCls, \"-handler-down-inner\")\n });\n var mergeSize = customizeSize || size;\n var inputNumberClass = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), mergeSize === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), mergeSize === 'small'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-readonly\"), readOnly), _defineProperty(_classNames, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames), className);\n return /*#__PURE__*/React.createElement(RcInputNumber, _extends({\n ref: ref,\n className: inputNumberClass,\n upHandler: upIcon,\n downHandler: downIcon,\n prefixCls: prefixCls,\n readOnly: readOnly\n }, others));\n});\nexport default InputNumber;","import type { ISettings, ISettingsFunction } from './Customizations';\n\n/**\n * Merge new and old settings, giving priority to new settings.\n * New settings is optional in which case oldSettings is returned as-is.\n * @param oldSettings - Old settings to fall back to.\n * @param newSettings - New settings that will be merged over oldSettings.\n * @returns Merged settings.\n */\nexport function mergeSettings(oldSettings: ISettings = {}, newSettings?: ISettings | ISettingsFunction): ISettings {\n const mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _settingsMergeWith(newSettings);\n\n return mergeSettingsWith(oldSettings);\n}\n\nexport function mergeScopedSettings(\n oldSettings: ISettings = {},\n newSettings?: ISettings | ISettingsFunction,\n): ISettings {\n const mergeSettingsWith = _isSettingsFunction(newSettings) ? newSettings : _scopedSettingsMergeWith(newSettings);\n\n return mergeSettingsWith(oldSettings);\n}\n\nfunction _isSettingsFunction(settings?: ISettings | ISettingsFunction): settings is ISettingsFunction {\n return typeof settings === 'function';\n}\n\nfunction _settingsMergeWith(newSettings?: object): (settings: ISettings) => ISettings {\n return (settings: ISettings) => (newSettings ? { ...settings, ...newSettings } : settings);\n}\n\nfunction _scopedSettingsMergeWith(scopedSettingsFromProps: ISettings = {}): (scopedSettings: ISettings) => ISettings {\n return (oldScopedSettings: ISettings): ISettings => {\n const newScopedSettings: ISettings = { ...oldScopedSettings };\n\n for (let scopeName in scopedSettingsFromProps) {\n if (scopedSettingsFromProps.hasOwnProperty(scopeName)) {\n newScopedSettings[scopeName] = { ...oldScopedSettings[scopeName], ...scopedSettingsFromProps[scopeName] };\n }\n }\n\n return newScopedSettings;\n };\n}\n","import * as React from 'react';\nimport { Customizations } from './Customizations';\nimport { CustomizerContext } from './CustomizerContext';\nimport { mergeCustomizations } from './mergeCustomizations';\nimport type { ICustomizerContext } from './CustomizerContext';\nimport type { ICustomizerProps } from './Customizer.types';\n\n/**\n * The Customizer component allows for default props to be mixed into components which\n * are decorated with the customizable() decorator, or use the styled HOC. This enables\n * injection scenarios like:\n *\n * 1. render svg icons instead of the icon font within all buttons\n * 2. inject a custom theme object into a component\n *\n * Props are provided via the settings prop which should be one of the following:\n * - A json map which contains 1 or more name/value pairs representing injectable props.\n * - A function that receives the current settings and returns the new ones that apply to the scope\n *\n * @public\n *\n * @deprecated This component is deprecated for purpose of applying theme to components\n * as of `@fluentui/react` version 8. Use `ThemeProvider` for applying theme instead.\n */\nexport class Customizer extends React.Component {\n public componentDidMount(): void {\n Customizations.observe(this._onCustomizationChange);\n }\n\n public componentWillUnmount(): void {\n Customizations.unobserve(this._onCustomizationChange);\n }\n\n public render(): React.ReactElement<{}> {\n const { contextTransform } = this.props;\n return (\n \n {(parentContext: ICustomizerContext) => {\n let newContext = mergeCustomizations(this.props, parentContext);\n\n if (contextTransform) {\n newContext = contextTransform(newContext);\n }\n\n return {this.props.children};\n }}\n \n );\n }\n\n private _onCustomizationChange = () => this.forceUpdate();\n}\n","import { mergeSettings, mergeScopedSettings } from './mergeSettings';\nimport type { ICustomizerProps } from './Customizer.types';\nimport type { ICustomizerContext } from './CustomizerContext';\n\n/**\n * Merge props and customizations giving priority to props over context.\n * NOTE: This function will always perform multiple merge operations. Use with caution.\n * @param props - New settings to merge in.\n * @param parentContext - Context containing current settings.\n * @returns Merged customizations.\n */\nexport function mergeCustomizations(props: ICustomizerProps, parentContext: ICustomizerContext): ICustomizerContext {\n const { customizations = { settings: {}, scopedSettings: {} } } = parentContext || {};\n\n return {\n customizations: {\n settings: mergeSettings(customizations.settings, props.settings),\n scopedSettings: mergeScopedSettings(customizations.scopedSettings, props.scopedSettings),\n inCustomizerContext: true,\n },\n };\n}\n","import * as React from 'react';\nimport {\n getNativeProps,\n divProperties,\n classNamesFunction,\n getDocument,\n memoizeFunction,\n getRTL,\n Customizer,\n useFocusRects,\n} from '../../Utilities';\nimport { createTheme } from '../../Styling';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport type { IFabricProps, IFabricStyleProps, IFabricStyles } from './Fabric.types';\nimport type { IProcessedStyleSet } from '@fluentui/merge-styles';\nimport type { ITheme } from '../../Styling';\n\nconst getClassNames = classNamesFunction();\nconst getFabricTheme = memoizeFunction((theme?: ITheme, isRTL?: boolean) => createTheme({ ...theme, rtl: isRTL }));\n\nconst getDir = ({ theme, dir }: IFabricProps) => {\n const contextDir = getRTL(theme) ? 'rtl' : 'ltr';\n const pageDir = getRTL() ? 'rtl' : 'ltr';\n const componentDir = dir ? dir : contextDir;\n return {\n // If Fabric dir !== contextDir\n // Or If contextDir !== pageDir\n // Then we need to set dir of the Fabric root\n rootDir: componentDir !== contextDir || componentDir !== pageDir ? componentDir : dir,\n // If dir !== contextDir || pageDir\n // then set contextual theme around content\n needsTheme: componentDir !== contextDir,\n };\n};\n\nexport const FabricBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const { className, theme, applyTheme, applyThemeToBody, styles } = props;\n\n const classNames = getClassNames(styles, {\n theme: theme!,\n applyTheme: applyTheme,\n className,\n });\n\n const rootElement = React.useRef(null);\n useApplyThemeToBody(applyThemeToBody, classNames, rootElement);\n useFocusRects(rootElement);\n\n return <>{useRenderedContent(props, classNames, rootElement, ref)};\n },\n);\nFabricBase.displayName = 'FabricBase';\n\nfunction useRenderedContent(\n props: IFabricProps,\n { root }: IProcessedStyleSet,\n rootElement: React.RefObject,\n ref: React.Ref,\n) {\n const { as: Root = 'div', dir, theme } = props;\n const divProps = getNativeProps>(props, divProperties, ['dir']);\n\n const { rootDir, needsTheme } = getDir(props);\n\n let renderedContent = ;\n\n // Create the contextual theme if component direction does not match parent direction.\n if (needsTheme) {\n // Disabling ThemeProvider here because theme doesn't need to be re-provided by ThemeProvider if dir has changed.\n renderedContent = (\n // eslint-disable-next-line deprecation/deprecation\n {renderedContent}\n );\n }\n\n return renderedContent;\n}\n\nfunction useApplyThemeToBody(\n applyThemeToBody: boolean | undefined,\n { bodyThemed }: IProcessedStyleSet,\n rootElement: React.RefObject,\n) {\n React.useEffect((): void | (() => void) => {\n if (applyThemeToBody) {\n const currentDoc = getDocument(rootElement.current);\n if (currentDoc) {\n currentDoc.body.classList.add(bodyThemed);\n return () => {\n currentDoc.body.classList.remove(bodyThemed);\n };\n }\n }\n }, [bodyThemed, applyThemeToBody, rootElement]);\n\n return rootElement;\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport type { IFabricStyleProps, IFabricStyles } from './Fabric.types';\n\nconst inheritFont = { fontFamily: 'inherit' };\n\nconst GlobalClassNames = {\n root: 'ms-Fabric',\n bodyThemed: 'ms-Fabric-bodyThemed',\n};\n\nexport interface IFabricClassNames {\n root: string;\n bodyThemed: string;\n}\n\nexport const getStyles = (props: IFabricStyleProps): IFabricStyles => {\n const { theme, className, applyTheme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: theme.palette.neutralPrimary,\n selectors: {\n '& button': inheritFont,\n '& input': inheritFont,\n '& textarea': inheritFont,\n },\n },\n // apply theme to only if applyTheme is true\n applyTheme && {\n color: theme.semanticColors.bodyText,\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n className,\n ],\n bodyThemed: [\n {\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { FabricBase } from './Fabric.base';\nimport { getStyles } from './Fabric.styles';\nimport type { IFabricProps, IFabricStyleProps, IFabricStyles } from './Fabric.types';\n\n/**\n * @deprecated This component is deprecated as of `@fluentui/react` version 8. Use `ThemeProvider` instead.\n */\nexport const Fabric: React.FunctionComponent = styled(\n FabricBase,\n getStyles,\n undefined,\n {\n scope: 'Fabric',\n },\n);\n","const _layersByHostId: { [hostId: string]: (() => void)[] } = {};\n\nlet _defaultHostSelector: string | undefined;\n\n/**\n * Register a layer for a given host id\n * @param hostId Id of the layer host\n * @param layer Layer instance\n */\nexport function registerLayer(hostId: string, callback: () => void) {\n if (!_layersByHostId[hostId]) {\n _layersByHostId[hostId] = [];\n }\n\n _layersByHostId[hostId].push(callback);\n}\n\n/**\n * Unregister a layer for a given host id\n * @param hostId Id of the layer host\n * @param layer Layer instance\n */\nexport function unregisterLayer(hostId: string, callback: () => void) {\n if (_layersByHostId[hostId]) {\n const idx = _layersByHostId[hostId].indexOf(callback);\n if (idx >= 0) {\n _layersByHostId[hostId].splice(idx, 1);\n if (_layersByHostId[hostId].length === 0) {\n delete _layersByHostId[hostId];\n }\n }\n }\n}\n\n/**\n * Used for notifying applicable Layers that a host is available/unavailable and to re-evaluate Layers that\n * care about the specific host.\n */\nexport function notifyHostChanged(id: string) {\n if (_layersByHostId[id]) {\n _layersByHostId[id].forEach(callback => callback());\n }\n}\n\n/**\n * Sets the default target selector to use when determining the host in which\n * Layered content will be injected into. If not provided, an element will be\n * created at the end of the document body.\n *\n * Passing in a falsy value will clear the default target and reset back to\n * using a created element at the end of document body.\n */\nexport function setDefaultTarget(selector?: string) {\n _defaultHostSelector = selector;\n}\n\n/**\n * Get the default target selector when determining a host\n */\nexport function getDefaultTarget(): string | undefined {\n return _defaultHostSelector;\n}\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { Fabric } from '../../Fabric';\nimport { classNamesFunction, setPortalAttribute, setVirtualParent } from '../../Utilities';\nimport { registerLayer, getDefaultTarget, unregisterLayer } from './Layer.notification';\nimport { useMergedRefs, useWarnings } from '@fluentui/react-hooks';\nimport { useDocument } from '../../WindowProvider';\nimport type { ILayerProps, ILayerStyleProps, ILayerStyles } from './Layer.types';\n\nconst getClassNames = classNamesFunction();\n\nexport const LayerBase: React.FunctionComponent = React.forwardRef(\n (props, ref) => {\n const rootRef = React.useRef(null);\n const mergedRef = useMergedRefs(rootRef, ref);\n const layerRef = React.useRef();\n\n // Tracks if the layer mount events need to be raised.\n // Required to allow the DOM to render after the layer element is added.\n const [needRaiseLayerMount, setNeedRaiseLayerMount] = React.useState(false);\n\n const doc = useDocument();\n\n const {\n eventBubblingEnabled,\n styles,\n theme,\n className,\n children,\n hostId,\n onLayerDidMount = () => undefined,\n // eslint-disable-next-line deprecation/deprecation\n onLayerMounted = () => undefined,\n onLayerWillUnmount,\n insertFirst,\n } = props;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n isNotHost: !hostId,\n });\n\n // Returns the user provided hostId props element, the default target selector,\n // or undefined if document doesn't exist.\n const getHost = (): Node | undefined => {\n if (!doc) {\n return undefined;\n }\n\n if (hostId) {\n return doc.getElementById(hostId) as Node;\n } else {\n const defaultHostSelector = getDefaultTarget();\n return defaultHostSelector ? (doc.querySelector(defaultHostSelector) as Node) : doc.body;\n }\n };\n\n // Removes the current layer element's parentNode and runs onLayerWillUnmount prop if provided.\n const removeLayerElement = (): void => {\n onLayerWillUnmount?.();\n\n const elem = layerRef.current;\n\n // Clear ref before removing from the DOM\n layerRef.current = undefined;\n\n if (elem && elem.parentNode) {\n elem.parentNode.removeChild(elem);\n }\n };\n\n // If a doc or host exists, it will remove and update layer parentNodes.\n const createLayerElement = () => {\n const host = getHost();\n\n if (!doc || !host) {\n return;\n }\n\n // Remove and re-create any previous existing layer elements.\n removeLayerElement();\n\n const el: HTMLDivElement = doc.createElement('div');\n\n el.className = classNames.root!;\n setPortalAttribute(el);\n setVirtualParent(el, rootRef.current!);\n\n insertFirst ? host.insertBefore(el, host.firstChild) : host.appendChild(el);\n layerRef.current = el;\n setNeedRaiseLayerMount(true);\n };\n\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(() => {\n createLayerElement();\n // Check if the user provided a hostId prop and register the layer with the ID.\n if (hostId) {\n registerLayer(hostId, createLayerElement);\n }\n\n return () => {\n removeLayerElement();\n\n if (hostId) {\n unregisterLayer(hostId, createLayerElement);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- should run if the hostId updates.\n }, [hostId]);\n\n React.useEffect(() => {\n if (layerRef.current && needRaiseLayerMount) {\n onLayerMounted?.();\n onLayerDidMount?.();\n setNeedRaiseLayerMount(false);\n }\n }, [needRaiseLayerMount, onLayerMounted, onLayerDidMount]);\n\n useDebugWarnings(props);\n\n return (\n \n {layerRef.current &&\n ReactDOM.createPortal(\n /* eslint-disable deprecation/deprecation */\n \n {children}\n ,\n /* eslint-enable deprecation/deprecation */\n layerRef.current,\n )}\n \n );\n },\n);\nLayerBase.displayName = 'LayerBase';\n\nlet filteredEventProps: { [key: string]: (ev: React.SyntheticEvent) => void };\n\nconst onFilterEvent = (ev: React.SyntheticEvent): void => {\n // We should just be able to check ev.bubble here and only stop events that are bubbling up. However, even though\n // mouseenter and mouseleave do NOT bubble up, they are showing up as bubbling. Therefore we stop events based on\n // event name rather than ev.bubble.\n if (\n ev.eventPhase === Event.BUBBLING_PHASE &&\n ev.type !== 'mouseenter' &&\n ev.type !== 'mouseleave' &&\n ev.type !== 'touchstart' &&\n ev.type !== 'touchend'\n ) {\n ev.stopPropagation();\n }\n};\n\nfunction getFilteredEvents() {\n if (!filteredEventProps) {\n filteredEventProps = {} as any;\n [\n 'onClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onDrag',\n 'onDragEnd',\n 'onDragEnter',\n 'onDragExit',\n 'onDragLeave',\n 'onDragOver',\n 'onDragStart',\n 'onDrop',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOver',\n 'onMouseOut',\n 'onMouseUp',\n 'onTouchMove',\n 'onTouchStart',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onFocus',\n 'onBlur',\n 'onChange',\n 'onInput',\n 'onInvalid',\n 'onSubmit',\n ].forEach(name => (filteredEventProps[name] = onFilterEvent));\n }\n return filteredEventProps;\n}\n\nfunction useDebugWarnings(props: ILayerProps) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks -- build-time conditional\n useWarnings({\n name: 'Layer',\n props,\n deprecations: { onLayerMounted: 'onLayerDidMount' },\n });\n }\n}\n","import { IVirtualElement } from './IVirtualElement';\n/**\n * Sets the virtual parent of an element.\n * Pass `undefined` as the `parent` to clear the virtual parent.\n *\n * @public\n */\nexport function setVirtualParent(child: HTMLElement, parent: HTMLElement | null): void {\n const virtualChild = child;\n const virtualParent = parent;\n\n if (!virtualChild._virtual) {\n virtualChild._virtual = {\n children: [],\n };\n }\n\n const oldParent = virtualChild._virtual.parent;\n\n if (oldParent && oldParent !== parent) {\n // Remove the child from its old parent.\n const index = oldParent._virtual.children.indexOf(virtualChild);\n\n if (index > -1) {\n oldParent._virtual.children.splice(index, 1);\n }\n }\n\n virtualChild._virtual.parent = virtualParent || undefined;\n\n if (virtualParent) {\n if (!virtualParent._virtual) {\n virtualParent._virtual = {\n children: [],\n };\n }\n\n virtualParent._virtual.children.push(virtualChild);\n }\n}\n","import { ZIndexes, getGlobalClassNames } from '../../Styling';\nimport type { ILayerStyleProps, ILayerStyles } from './Layer.types';\n\nconst GlobalClassNames = {\n root: 'ms-Layer',\n rootNoHost: 'ms-Layer--fixed',\n content: 'ms-Layer-content',\n};\n\nexport const getStyles = (props: ILayerStyleProps): ILayerStyles => {\n const { className, isNotHost, theme } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n isNotHost && [\n classNames.rootNoHost,\n {\n position: 'fixed',\n zIndex: ZIndexes.Layer,\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n visibility: 'hidden',\n },\n ],\n className,\n ],\n content: [\n classNames.content,\n {\n visibility: 'visible',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { LayerBase } from './Layer.base';\nimport { getStyles } from './Layer.styles';\nimport type { ILayerProps, ILayerStyleProps, ILayerStyles } from './Layer.types';\n\nexport const Layer: React.FunctionComponent = styled(\n LayerBase,\n getStyles,\n undefined,\n {\n scope: 'Layer',\n fields: ['hostId', 'theme', 'styles'],\n },\n);\n","// This icon file is generated automatically.\nvar QuestionCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z\" } }] }, \"name\": \"question-circle\", \"theme\": \"outlined\" };\nexport default QuestionCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport QuestionCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/QuestionCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar QuestionCircleOutlined = function QuestionCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: QuestionCircleOutlinedSvg\n }));\n};\n\nQuestionCircleOutlined.displayName = 'QuestionCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(QuestionCircleOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport QuestionCircleOutlined from \"@ant-design/icons/es/icons/QuestionCircleOutlined\";\nimport Col from '../grid/col';\nimport { FormContext } from './context';\nimport { useLocaleReceiver } from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale/default';\nimport Tooltip from '../tooltip';\n\nfunction toTooltipProps(tooltip) {\n if (!tooltip) {\n return null;\n }\n\n if (_typeof(tooltip) === 'object' && ! /*#__PURE__*/React.isValidElement(tooltip)) {\n return tooltip;\n }\n\n return {\n title: tooltip\n };\n}\n\nvar FormItemLabel = function FormItemLabel(_ref) {\n var prefixCls = _ref.prefixCls,\n label = _ref.label,\n htmlFor = _ref.htmlFor,\n labelCol = _ref.labelCol,\n labelAlign = _ref.labelAlign,\n colon = _ref.colon,\n required = _ref.required,\n requiredMark = _ref.requiredMark,\n tooltip = _ref.tooltip;\n\n var _useLocaleReceiver = useLocaleReceiver('Form'),\n _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),\n formLocale = _useLocaleReceiver2[0];\n\n if (!label) return null;\n return /*#__PURE__*/React.createElement(FormContext.Consumer, {\n key: \"label\"\n }, function (_ref2) {\n var _classNames;\n\n var vertical = _ref2.vertical,\n contextLabelAlign = _ref2.labelAlign,\n contextLabelCol = _ref2.labelCol,\n contextColon = _ref2.colon;\n\n var _a;\n\n var mergedLabelCol = labelCol || contextLabelCol || {};\n var mergedLabelAlign = labelAlign || contextLabelAlign;\n var labelClsBasic = \"\".concat(prefixCls, \"-item-label\");\n var labelColClassName = classNames(labelClsBasic, mergedLabelAlign === 'left' && \"\".concat(labelClsBasic, \"-left\"), mergedLabelCol.className);\n var labelChildren = label; // Keep label is original where there should have no colon\n\n var computedColon = colon === true || contextColon !== false && colon !== false;\n var haveColon = computedColon && !vertical; // Remove duplicated user input colon\n\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[:|:]\\s*$/, '');\n } // Tooltip\n\n\n var tooltipProps = toTooltipProps(tooltip);\n\n if (tooltipProps) {\n var _tooltipProps$icon = tooltipProps.icon,\n icon = _tooltipProps$icon === void 0 ? /*#__PURE__*/React.createElement(QuestionCircleOutlined, null) : _tooltipProps$icon,\n restTooltipProps = __rest(tooltipProps, [\"icon\"]);\n\n var tooltipNode = /*#__PURE__*/React.createElement(Tooltip, restTooltipProps, /*#__PURE__*/React.cloneElement(icon, {\n className: \"\".concat(prefixCls, \"-item-tooltip\"),\n title: ''\n }));\n labelChildren = /*#__PURE__*/React.createElement(React.Fragment, null, labelChildren, tooltipNode);\n } // Add required mark if optional\n\n\n if (requiredMark === 'optional' && !required) {\n labelChildren = /*#__PURE__*/React.createElement(React.Fragment, null, labelChildren, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-item-optional\"),\n title: \"\"\n }, (formLocale === null || formLocale === void 0 ? void 0 : formLocale.optional) || ((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.optional)));\n }\n\n var labelClassName = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-required\"), required), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-required-mark-optional\"), requiredMark === 'optional'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-item-no-colon\"), !computedColon), _classNames));\n return /*#__PURE__*/React.createElement(Col, _extends({}, mergedLabelCol, {\n className: labelColClassName\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: htmlFor,\n className: labelClassName,\n title: typeof label === 'string' ? label : ''\n }, labelChildren));\n });\n};\n\nexport default FormItemLabel;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport useCacheErrors from './hooks/useCacheErrors';\nimport useForceUpdate from '../_util/hooks/useForceUpdate';\nimport { FormItemPrefixContext } from './context';\nimport { ConfigContext } from '../config-provider';\nvar EMPTY_LIST = [];\nexport default function ErrorList(_ref) {\n var _ref$errors = _ref.errors,\n errors = _ref$errors === void 0 ? EMPTY_LIST : _ref$errors,\n help = _ref.help,\n onDomErrorVisibleChange = _ref.onDomErrorVisibleChange;\n var forceUpdate = useForceUpdate();\n\n var _React$useContext = React.useContext(FormItemPrefixContext),\n prefixCls = _React$useContext.prefixCls,\n status = _React$useContext.status;\n\n var _React$useContext2 = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext2.getPrefixCls;\n\n var _useCacheErrors = useCacheErrors(errors, function (changedVisible) {\n if (changedVisible) {\n /**\n * We trigger in sync to avoid dom shaking but this get warning in react 16.13.\n *\n * So use Promise to keep in micro async to handle this.\n * https://github.com/ant-design/ant-design/issues/21698#issuecomment-593743485\n */\n Promise.resolve().then(function () {\n onDomErrorVisibleChange === null || onDomErrorVisibleChange === void 0 ? void 0 : onDomErrorVisibleChange(true);\n });\n }\n\n forceUpdate();\n }, !!help),\n _useCacheErrors2 = _slicedToArray(_useCacheErrors, 2),\n visible = _useCacheErrors2[0],\n cacheErrors = _useCacheErrors2[1];\n\n var memoErrors = useMemo(function () {\n return cacheErrors;\n }, visible, function (_, nextVisible) {\n return nextVisible;\n }); // Memo status in same visible\n\n var _React$useState = React.useState(status),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerStatus = _React$useState2[0],\n setInnerStatus = _React$useState2[1];\n\n React.useEffect(function () {\n if (visible && status) {\n setInnerStatus(status);\n }\n }, [visible, status]);\n var baseClassName = \"\".concat(prefixCls, \"-item-explain\");\n var rootPrefixCls = getPrefixCls();\n return /*#__PURE__*/React.createElement(CSSMotion, {\n motionDeadline: 500,\n visible: visible,\n motionName: \"\".concat(rootPrefixCls, \"-show-help\"),\n onLeaveEnd: function onLeaveEnd() {\n onDomErrorVisibleChange === null || onDomErrorVisibleChange === void 0 ? void 0 : onDomErrorVisibleChange(false);\n }\n }, function (_ref2) {\n var motionClassName = _ref2.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(baseClassName, _defineProperty({}, \"\".concat(baseClassName, \"-\").concat(innerStatus), innerStatus), motionClassName),\n key: \"help\"\n }, memoErrors.map(function (error, index) {\n return (\n /*#__PURE__*/\n // eslint-disable-next-line react/no-array-index-key\n React.createElement(\"div\", {\n key: index,\n role: \"alert\"\n }, error)\n );\n }));\n });\n}","import * as React from 'react';\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\n/** Always debounce error to avoid [error -> null -> error] blink */\n\nexport default function useCacheErrors(errors, changeTrigger, directly) {\n var cacheRef = React.useRef({\n errors: errors,\n visible: !!errors.length\n });\n var forceUpdate = useForceUpdate();\n\n var update = function update() {\n var prevVisible = cacheRef.current.visible;\n var newVisible = !!errors.length;\n var prevErrors = cacheRef.current.errors;\n cacheRef.current.errors = errors;\n cacheRef.current.visible = newVisible;\n\n if (prevVisible !== newVisible) {\n changeTrigger(newVisible);\n } else if (prevErrors.length !== errors.length || prevErrors.some(function (prevErr, index) {\n return prevErr !== errors[index];\n })) {\n forceUpdate();\n }\n };\n\n React.useEffect(function () {\n if (!directly) {\n var timeout = setTimeout(update, 10);\n return function () {\n return clearTimeout(timeout);\n };\n }\n }, [errors]);\n\n if (directly) {\n update();\n }\n\n return [cacheRef.current.visible, cacheRef.current.errors];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport Col from '../grid/col';\nimport { FormContext, FormItemPrefixContext } from './context';\nimport ErrorList from './ErrorList';\nvar iconMap = {\n success: CheckCircleFilled,\n warning: ExclamationCircleFilled,\n error: CloseCircleFilled,\n validating: LoadingOutlined\n};\n\nvar FormItemInput = function FormItemInput(props) {\n var prefixCls = props.prefixCls,\n status = props.status,\n wrapperCol = props.wrapperCol,\n children = props.children,\n help = props.help,\n errors = props.errors,\n onDomErrorVisibleChange = props.onDomErrorVisibleChange,\n hasFeedback = props.hasFeedback,\n formItemRender = props._internalItemRender,\n validateStatus = props.validateStatus,\n extra = props.extra;\n var baseClassName = \"\".concat(prefixCls, \"-item\");\n var formContext = React.useContext(FormContext);\n var mergedWrapperCol = wrapperCol || formContext.wrapperCol || {};\n var className = classNames(\"\".concat(baseClassName, \"-control\"), mergedWrapperCol.className);\n React.useEffect(function () {\n return function () {\n onDomErrorVisibleChange(false);\n };\n }, []); // Should provides additional icon if `hasFeedback`\n\n var IconNode = validateStatus && iconMap[validateStatus];\n var icon = hasFeedback && IconNode ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(baseClassName, \"-children-icon\")\n }, /*#__PURE__*/React.createElement(IconNode, null)) : null; // Pass to sub FormItem should not with col info\n\n var subFormContext = _extends({}, formContext);\n\n delete subFormContext.labelCol;\n delete subFormContext.wrapperCol;\n var inputDom = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-control-input\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-control-input-content\")\n }, children), icon);\n var errorListDom = /*#__PURE__*/React.createElement(FormItemPrefixContext.Provider, {\n value: {\n prefixCls: prefixCls,\n status: status\n }\n }, /*#__PURE__*/React.createElement(ErrorList, {\n errors: errors,\n help: help,\n onDomErrorVisibleChange: onDomErrorVisibleChange\n })); // If extra = 0, && will goes wrong\n // 0&&error -> 0\n\n var extraDom = extra ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(baseClassName, \"-extra\")\n }, extra) : null;\n var dom = formItemRender && formItemRender.mark === 'pro_table_render' && formItemRender.render ? formItemRender.render(props, {\n input: inputDom,\n errorList: errorListDom,\n extra: extraDom\n }) : /*#__PURE__*/React.createElement(React.Fragment, null, inputDom, errorListDom, extraDom);\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: subFormContext\n }, /*#__PURE__*/React.createElement(Col, _extends({}, mergedWrapperCol, {\n className: className\n }), dom));\n};\n\nexport default FormItemInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { useContext, useRef } from 'react';\nimport isEqual from 'lodash/isEqual';\nimport classNames from 'classnames';\nimport { Field } from 'rc-field-form';\nimport FieldContext from \"rc-field-form/es/FieldContext\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport omit from \"rc-util/es/omit\";\nimport Row from '../grid/row';\nimport { ConfigContext } from '../config-provider';\nimport { tuple } from '../_util/type';\nimport devWarning from '../_util/devWarning';\nimport FormItemLabel from './FormItemLabel';\nimport FormItemInput from './FormItemInput';\nimport { FormContext, FormItemContext } from './context';\nimport { toArray, getFieldId } from './util';\nimport { cloneElement, isValidElement } from '../_util/reactNode';\nimport useFrameState from './hooks/useFrameState';\nimport useItemRef from './hooks/useItemRef';\nvar NAME_SPLIT = '__SPLIT__';\nvar ValidateStatuses = tuple('success', 'warning', 'error', 'validating', '');\nvar MemoInput = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (prev, next) {\n return prev.value === next.value && prev.update === next.update;\n});\n\nfunction hasValidName(name) {\n if (name === null) {\n devWarning(false, 'Form.Item', '`null` is passed as `name` property');\n }\n\n return !(name === undefined || name === null);\n}\n\nfunction FormItem(props) {\n var name = props.name,\n fieldKey = props.fieldKey,\n noStyle = props.noStyle,\n dependencies = props.dependencies,\n customizePrefixCls = props.prefixCls,\n style = props.style,\n className = props.className,\n shouldUpdate = props.shouldUpdate,\n hasFeedback = props.hasFeedback,\n help = props.help,\n rules = props.rules,\n validateStatus = props.validateStatus,\n children = props.children,\n required = props.required,\n label = props.label,\n messageVariables = props.messageVariables,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? 'onChange' : _props$trigger,\n validateTrigger = props.validateTrigger,\n hidden = props.hidden,\n restProps = __rest(props, [\"name\", \"fieldKey\", \"noStyle\", \"dependencies\", \"prefixCls\", \"style\", \"className\", \"shouldUpdate\", \"hasFeedback\", \"help\", \"rules\", \"validateStatus\", \"children\", \"required\", \"label\", \"messageVariables\", \"trigger\", \"validateTrigger\", \"hidden\"]);\n\n var destroyRef = useRef(false);\n\n var _useContext = useContext(ConfigContext),\n getPrefixCls = _useContext.getPrefixCls;\n\n var _useContext2 = useContext(FormContext),\n formName = _useContext2.name,\n requiredMark = _useContext2.requiredMark;\n\n var _useContext3 = useContext(FormItemContext),\n updateItemErrors = _useContext3.updateItemErrors;\n\n var _React$useState = React.useState(!!help),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n domErrorVisible = _React$useState2[0],\n innerSetDomErrorVisible = _React$useState2[1];\n\n var _useFrameState = useFrameState({}),\n _useFrameState2 = _slicedToArray(_useFrameState, 2),\n inlineErrors = _useFrameState2[0],\n setInlineErrors = _useFrameState2[1];\n\n var _useContext4 = useContext(FieldContext),\n contextValidateTrigger = _useContext4.validateTrigger;\n\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : contextValidateTrigger;\n\n function setDomErrorVisible(visible) {\n if (!destroyRef.current) {\n innerSetDomErrorVisible(visible);\n }\n }\n\n var hasName = hasValidName(name); // Cache Field NamePath\n\n var nameRef = useRef([]); // Should clean up if Field removed\n\n React.useEffect(function () {\n return function () {\n destroyRef.current = true;\n updateItemErrors(nameRef.current.join(NAME_SPLIT), []);\n };\n }, []);\n var prefixCls = getPrefixCls('form', customizePrefixCls); // ======================== Errors ========================\n // Collect noStyle Field error to the top FormItem\n\n var updateChildItemErrors = noStyle ? updateItemErrors : function (subName, subErrors, originSubName) {\n setInlineErrors(function () {\n var prevInlineErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n // Clean up origin error when name changed\n if (originSubName && originSubName !== subName) {\n delete prevInlineErrors[originSubName];\n }\n\n if (!isEqual(prevInlineErrors[subName], subErrors)) {\n return _extends(_extends({}, prevInlineErrors), _defineProperty({}, subName, subErrors));\n }\n\n return prevInlineErrors;\n });\n }; // ===================== Children Ref =====================\n\n var getItemRef = useItemRef();\n\n function renderLayout(baseChildren, fieldId, meta, isRequired) {\n var _itemClassName;\n\n var _a;\n\n if (noStyle && !hidden) {\n return baseChildren;\n } // ======================== Errors ========================\n // >>> collect sub errors\n\n\n var subErrorList = [];\n Object.keys(inlineErrors).forEach(function (subName) {\n subErrorList = [].concat(_toConsumableArray(subErrorList), _toConsumableArray(inlineErrors[subName] || []));\n }); // >>> merged errors\n\n var mergedErrors;\n\n if (help !== undefined && help !== null) {\n mergedErrors = toArray(help);\n } else {\n mergedErrors = meta ? meta.errors : [];\n mergedErrors = [].concat(_toConsumableArray(mergedErrors), _toConsumableArray(subErrorList));\n } // ======================== Status ========================\n\n\n var mergedValidateStatus = '';\n\n if (validateStatus !== undefined) {\n mergedValidateStatus = validateStatus;\n } else if (meta === null || meta === void 0 ? void 0 : meta.validating) {\n mergedValidateStatus = 'validating';\n } else if (((_a = meta === null || meta === void 0 ? void 0 : meta.errors) === null || _a === void 0 ? void 0 : _a.length) || subErrorList.length) {\n mergedValidateStatus = 'error';\n } else if (meta === null || meta === void 0 ? void 0 : meta.touched) {\n mergedValidateStatus = 'success';\n }\n\n var itemClassName = (_itemClassName = {}, _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item\"), true), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-with-help\"), domErrorVisible || !!help), _defineProperty(_itemClassName, \"\".concat(className), !!className), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-has-feedback\"), mergedValidateStatus && hasFeedback), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-has-success\"), mergedValidateStatus === 'success'), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-has-warning\"), mergedValidateStatus === 'warning'), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-has-error\"), mergedValidateStatus === 'error'), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-is-validating\"), mergedValidateStatus === 'validating'), _defineProperty(_itemClassName, \"\".concat(prefixCls, \"-item-hidden\"), hidden), _itemClassName); // ======================= Children =======================\n\n return /*#__PURE__*/React.createElement(Row, _extends({\n className: classNames(itemClassName),\n style: style,\n key: \"row\"\n }, omit(restProps, ['colon', 'extra', 'getValueFromEvent', 'getValueProps', 'htmlFor', 'id', 'initialValue', 'isListField', 'labelAlign', 'labelCol', 'normalize', 'preserve', 'tooltip', 'validateFirst', 'valuePropName', 'wrapperCol', '_internalItemRender'])), /*#__PURE__*/React.createElement(FormItemLabel, _extends({\n htmlFor: fieldId,\n required: isRequired,\n requiredMark: requiredMark\n }, props, {\n prefixCls: prefixCls\n })), /*#__PURE__*/React.createElement(FormItemInput, _extends({}, props, meta, {\n errors: mergedErrors,\n prefixCls: prefixCls,\n status: mergedValidateStatus,\n onDomErrorVisibleChange: setDomErrorVisible,\n validateStatus: mergedValidateStatus\n }), /*#__PURE__*/React.createElement(FormItemContext.Provider, {\n value: {\n updateItemErrors: updateChildItemErrors\n }\n }, baseChildren)));\n }\n\n var isRenderProps = typeof children === 'function'; // Record for real component render\n\n var updateRef = useRef(0);\n updateRef.current += 1;\n\n if (!hasName && !isRenderProps && !dependencies) {\n return renderLayout(children);\n }\n\n var variables = {};\n\n if (typeof label === 'string') {\n variables.label = label;\n } else if (name) {\n variables.label = String(name);\n }\n\n if (messageVariables) {\n variables = _extends(_extends({}, variables), messageVariables);\n }\n\n return /*#__PURE__*/React.createElement(Field, _extends({}, props, {\n messageVariables: variables,\n trigger: trigger,\n validateTrigger: mergedValidateTrigger,\n onReset: function onReset() {\n setDomErrorVisible(false);\n }\n }), function (control, meta, context) {\n var errors = meta.errors;\n var mergedName = toArray(name).length && meta ? meta.name : [];\n var fieldId = getFieldId(mergedName, formName);\n\n if (noStyle) {\n // Clean up origin one\n var originErrorName = nameRef.current.join(NAME_SPLIT);\n nameRef.current = _toConsumableArray(mergedName);\n\n if (fieldKey) {\n var fieldKeys = Array.isArray(fieldKey) ? fieldKey : [fieldKey];\n nameRef.current = [].concat(_toConsumableArray(mergedName.slice(0, -1)), _toConsumableArray(fieldKeys));\n }\n\n updateItemErrors(nameRef.current.join(NAME_SPLIT), errors, originErrorName);\n }\n\n var isRequired = required !== undefined ? required : !!(rules && rules.some(function (rule) {\n if (rule && _typeof(rule) === 'object' && rule.required) {\n return true;\n }\n\n if (typeof rule === 'function') {\n var ruleEntity = rule(context);\n return ruleEntity && ruleEntity.required;\n }\n\n return false;\n })); // ======================= Children =======================\n\n var mergedControl = _extends({}, control);\n\n var childNode = null;\n devWarning(!(shouldUpdate && dependencies), 'Form.Item', \"`shouldUpdate` and `dependencies` shouldn't be used together. See https://ant.design/components/form/#dependencies.\");\n\n if (Array.isArray(children) && hasName) {\n devWarning(false, 'Form.Item', '`children` is array of render props cannot have `name`.');\n childNode = children;\n } else if (isRenderProps && (!(shouldUpdate || dependencies) || hasName)) {\n devWarning(!!(shouldUpdate || dependencies), 'Form.Item', '`children` of render props only work with `shouldUpdate` or `dependencies`.');\n devWarning(!hasName, 'Form.Item', \"Do not use `name` with `children` of render props since it's not a field.\");\n } else if (dependencies && !isRenderProps && !hasName) {\n devWarning(false, 'Form.Item', 'Must set `name` or use render props when `dependencies` is set.');\n } else if (isValidElement(children)) {\n devWarning(children.props.defaultValue === undefined, 'Form.Item', '`defaultValue` will not work on controlled Field. You should use `initialValues` of Form instead.');\n\n var childProps = _extends(_extends({}, children.props), mergedControl);\n\n if (!childProps.id) {\n childProps.id = fieldId;\n }\n\n if (supportRef(children)) {\n childProps.ref = getItemRef(mergedName, children);\n } // We should keep user origin event handler\n\n\n var triggers = new Set([].concat(_toConsumableArray(toArray(trigger)), _toConsumableArray(toArray(mergedValidateTrigger))));\n triggers.forEach(function (eventName) {\n childProps[eventName] = function () {\n var _a2, _c2;\n\n var _a, _b, _c;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n (_a = mergedControl[eventName]) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [mergedControl].concat(args));\n (_c = (_b = children.props)[eventName]) === null || _c === void 0 ? void 0 : (_c2 = _c).call.apply(_c2, [_b].concat(args));\n };\n });\n childNode = /*#__PURE__*/React.createElement(MemoInput, {\n value: mergedControl[props.valuePropName || 'value'],\n update: updateRef.current\n }, cloneElement(children, childProps));\n } else if (isRenderProps && (shouldUpdate || dependencies) && !hasName) {\n childNode = children(context);\n } else {\n devWarning(!mergedName.length, 'Form.Item', '`name` is only used for validate React element. If you are using Form.Item as layout display, please remove `name` instead.');\n childNode = children;\n }\n\n return renderLayout(childNode, fieldId, meta, isRequired);\n });\n}\n\nexport default FormItem;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default function useFrameState(defaultValue) {\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n\n var frameRef = useRef(null);\n var batchRef = useRef([]);\n var destroyRef = useRef(false);\n React.useEffect(function () {\n return function () {\n destroyRef.current = true;\n raf.cancel(frameRef.current);\n };\n }, []);\n\n function setFrameValue(updater) {\n if (destroyRef.current) {\n return;\n }\n\n if (frameRef.current === null) {\n batchRef.current = [];\n frameRef.current = raf(function () {\n frameRef.current = null;\n setValue(function (prevValue) {\n var current = prevValue;\n batchRef.current.forEach(function (func) {\n current = func(current);\n });\n return current;\n });\n });\n }\n\n batchRef.current.push(updater);\n }\n\n return [value, setFrameValue];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { FormContext } from '../context';\nexport default function useItemRef() {\n var _React$useContext = React.useContext(FormContext),\n itemRef = _React$useContext.itemRef;\n\n var cacheRef = React.useRef({});\n\n function getRef(name, children) {\n var childrenRef = children && _typeof(children) === 'object' && children.ref;\n var nameStr = name.join('_');\n\n if (cacheRef.current.name !== nameStr || cacheRef.current.originRef !== childrenRef) {\n cacheRef.current.name = nameStr;\n cacheRef.current.originRef = childrenRef;\n cacheRef.current.ref = composeRef(itemRef(name), childrenRef);\n }\n\n return cacheRef.current.ref;\n }\n\n return getRef;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport { List } from 'rc-field-form';\nimport devWarning from '../_util/devWarning';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemPrefixContext } from './context';\n\nvar FormList = function FormList(_a) {\n var customizePrefixCls = _a.prefixCls,\n children = _a.children,\n props = __rest(_a, [\"prefixCls\", \"children\"]);\n\n devWarning(!!props.name, 'Form.List', 'Miss `name` prop.');\n\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n return /*#__PURE__*/React.createElement(List, props, function (fields, operation, meta) {\n return /*#__PURE__*/React.createElement(FormItemPrefixContext.Provider, {\n value: {\n prefixCls: prefixCls,\n status: 'error'\n }\n }, children(fields.map(function (field) {\n return _extends(_extends({}, field), {\n fieldKey: field.key\n });\n }), operation, {\n errors: meta.errors\n }));\n });\n};\n\nexport default FormList;","import InternalForm, { useForm } from './Form';\nimport Item from './FormItem';\nimport ErrorList from './ErrorList';\nimport List from './FormList';\nimport { FormProvider } from './context';\nimport devWarning from '../_util/devWarning';\nvar Form = InternalForm;\nForm.Item = Item;\nForm.List = List;\nForm.ErrorList = ErrorList;\nForm.useForm = useForm;\nForm.Provider = FormProvider;\n\nForm.create = function () {\n devWarning(false, 'Form', 'antd v4 removed `Form.create`. Please remove or use `@ant-design/compatible` instead.');\n};\n\nexport default Form;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport Dialog from 'rc-dialog';\nimport classNames from 'classnames';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport { getConfirmLocale } from './locale';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { ConfigContext } from '../config-provider';\nimport { canUseDocElement } from '../_util/styleChecker';\nimport { getTransitionName } from '../_util/motion';\nvar mousePosition; // ref: https://github.com/ant-design/ant-design/issues/15795\n\nvar getClickPosition = function getClickPosition(e) {\n mousePosition = {\n x: e.pageX,\n y: e.pageY\n }; // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n\n setTimeout(function () {\n mousePosition = null;\n }, 100);\n}; // 只有点击事件支持从鼠标位置动画展开\n\n\nif (canUseDocElement()) {\n document.documentElement.addEventListener('click', getClickPosition, true);\n}\n\nvar Modal = function Modal(props) {\n var _classNames;\n\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var handleCancel = function handleCancel(e) {\n var onCancel = props.onCancel;\n onCancel === null || onCancel === void 0 ? void 0 : onCancel(e);\n };\n\n var handleOk = function handleOk(e) {\n var onOk = props.onOk;\n onOk === null || onOk === void 0 ? void 0 : onOk(e);\n };\n\n var renderFooter = function renderFooter(locale) {\n var okText = props.okText,\n okType = props.okType,\n cancelText = props.cancelText,\n confirmLoading = props.confirmLoading;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, _extends({\n onClick: handleCancel\n }, props.cancelButtonProps), cancelText || locale.cancelText), /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(okType), {\n loading: confirmLoading,\n onClick: handleOk\n }, props.okButtonProps), okText || locale.okText));\n };\n\n var customizePrefixCls = props.prefixCls,\n footer = props.footer,\n visible = props.visible,\n wrapClassName = props.wrapClassName,\n centered = props.centered,\n getContainer = props.getContainer,\n closeIcon = props.closeIcon,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n restProps = __rest(props, [\"prefixCls\", \"footer\", \"visible\", \"wrapClassName\", \"centered\", \"getContainer\", \"closeIcon\", \"focusTriggerAfterClose\"]);\n\n var prefixCls = getPrefixCls('modal', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var defaultFooter = /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\",\n defaultLocale: getConfirmLocale()\n }, renderFooter);\n var closeIconToRender = /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }, closeIcon || /*#__PURE__*/React.createElement(CloseOutlined, {\n className: \"\".concat(prefixCls, \"-close-icon\")\n }));\n var wrapClassNameExtended = classNames(wrapClassName, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-centered\"), !!centered), _defineProperty(_classNames, \"\".concat(prefixCls, \"-wrap-rtl\"), direction === 'rtl'), _classNames));\n return /*#__PURE__*/React.createElement(Dialog, _extends({}, restProps, {\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls: prefixCls,\n wrapClassName: wrapClassNameExtended,\n footer: footer === undefined ? defaultFooter : footer,\n visible: visible,\n mousePosition: mousePosition,\n onClose: handleCancel,\n closeIcon: closeIconToRender,\n focusTriggerAfterClose: focusTriggerAfterClose,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName)\n }));\n};\n\nModal.defaultProps = {\n width: 520,\n confirmLoading: false,\n visible: false,\n okType: 'primary'\n};\nexport default Modal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\n\nvar ActionButton = function ActionButton(props) {\n var clickedRef = React.useRef(false);\n var ref = React.useRef();\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n loading = _React$useState2[0],\n setLoading = _React$useState2[1];\n\n React.useEffect(function () {\n var timeoutId;\n\n if (props.autoFocus) {\n var $this = ref.current;\n timeoutId = setTimeout(function () {\n return $this.focus();\n });\n }\n\n return function () {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, []);\n\n var handlePromiseOnOk = function handlePromiseOnOk(returnValueOfOnOk) {\n var closeModal = props.closeModal;\n\n if (!returnValueOfOnOk || !returnValueOfOnOk.then) {\n return;\n }\n\n setLoading(true);\n returnValueOfOnOk.then(function () {\n // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n // setState({ loading: false });\n closeModal.apply(void 0, arguments);\n }, function (e) {\n // Emit error when catch promise reject\n // eslint-disable-next-line no-console\n console.error(e); // See: https://github.com/ant-design/ant-design/issues/6183\n\n setLoading(false);\n clickedRef.current = false;\n });\n };\n\n var onClick = function onClick() {\n var actionFn = props.actionFn,\n closeModal = props.closeModal;\n\n if (clickedRef.current) {\n return;\n }\n\n clickedRef.current = true;\n\n if (!actionFn) {\n closeModal();\n return;\n }\n\n var returnValueOfOnOk;\n\n if (actionFn.length) {\n returnValueOfOnOk = actionFn(closeModal); // https://github.com/ant-design/ant-design/issues/23358\n\n clickedRef.current = false;\n } else {\n returnValueOfOnOk = actionFn();\n\n if (!returnValueOfOnOk) {\n closeModal();\n return;\n }\n }\n\n handlePromiseOnOk(returnValueOfOnOk);\n };\n\n var type = props.type,\n children = props.children,\n prefixCls = props.prefixCls,\n buttonProps = props.buttonProps;\n return /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(type), {\n onClick: onClick,\n loading: loading,\n prefixCls: prefixCls\n }, buttonProps, {\n ref: ref\n }), children);\n};\n\nexport default ActionButton;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Dialog from './Modal';\nimport ActionButton from './ActionButton';\nimport devWarning from '../_util/devWarning';\nimport ConfigProvider from '../config-provider';\nimport { getTransitionName } from '../_util/motion';\n\nvar ConfirmDialog = function ConfirmDialog(props) {\n var icon = props.icon,\n onCancel = props.onCancel,\n onOk = props.onOk,\n close = props.close,\n zIndex = props.zIndex,\n afterClose = props.afterClose,\n visible = props.visible,\n keyboard = props.keyboard,\n centered = props.centered,\n getContainer = props.getContainer,\n maskStyle = props.maskStyle,\n okText = props.okText,\n okButtonProps = props.okButtonProps,\n cancelText = props.cancelText,\n cancelButtonProps = props.cancelButtonProps,\n direction = props.direction,\n prefixCls = props.prefixCls,\n rootPrefixCls = props.rootPrefixCls,\n bodyStyle = props.bodyStyle,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? false : _props$closable,\n closeIcon = props.closeIcon,\n modalRender = props.modalRender,\n focusTriggerAfterClose = props.focusTriggerAfterClose;\n devWarning(!(typeof icon === 'string' && icon.length > 2), 'Modal', \"`icon` is using ReactNode instead of string naming in v4. Please check `\".concat(icon, \"` at https://ant.design/components/icon\")); // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon\n\n var okType = props.okType || 'primary';\n var contentPrefixCls = \"\".concat(prefixCls, \"-confirm\"); // 默认为 true,保持向下兼容\n\n var okCancel = 'okCancel' in props ? props.okCancel : true;\n var width = props.width || 416;\n var style = props.style || {};\n var mask = props.mask === undefined ? true : props.mask; // 默认为 false,保持旧版默认行为\n\n var maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n var autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n var classString = classNames(contentPrefixCls, \"\".concat(contentPrefixCls, \"-\").concat(props.type), _defineProperty({}, \"\".concat(contentPrefixCls, \"-rtl\"), direction === 'rtl'), props.className);\n var cancelButton = okCancel && /*#__PURE__*/React.createElement(ActionButton, {\n actionFn: onCancel,\n closeModal: close,\n autoFocus: autoFocusButton === 'cancel',\n buttonProps: cancelButtonProps,\n prefixCls: \"\".concat(rootPrefixCls, \"-btn\")\n }, cancelText);\n return /*#__PURE__*/React.createElement(Dialog, {\n prefixCls: prefixCls,\n className: classString,\n wrapClassName: classNames(_defineProperty({}, \"\".concat(contentPrefixCls, \"-centered\"), !!props.centered)),\n onCancel: function onCancel() {\n return close({\n triggerCancel: true\n });\n },\n visible: visible,\n title: \"\",\n footer: \"\",\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n mask: mask,\n maskClosable: maskClosable,\n maskStyle: maskStyle,\n style: style,\n width: width,\n zIndex: zIndex,\n afterClose: afterClose,\n keyboard: keyboard,\n centered: centered,\n getContainer: getContainer,\n closable: closable,\n closeIcon: closeIcon,\n modalRender: modalRender,\n focusTriggerAfterClose: focusTriggerAfterClose\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-body-wrapper\")\n }, /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n direction: direction\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-body\"),\n style: bodyStyle\n }, icon, props.title === undefined ? null : /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(contentPrefixCls, \"-title\")\n }, props.title), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-content\")\n }, props.content))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(contentPrefixCls, \"-btns\")\n }, cancelButton, /*#__PURE__*/React.createElement(ActionButton, {\n type: okType,\n actionFn: onOk,\n closeModal: close,\n autoFocus: autoFocusButton === 'ok',\n buttonProps: okButtonProps,\n prefixCls: \"\".concat(rootPrefixCls, \"-btn\")\n }, okText))));\n};\n\nexport default ConfirmDialog;","var destroyFns = [];\nexport default destroyFns;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport InfoCircleOutlined from \"@ant-design/icons/es/icons/InfoCircleOutlined\";\nimport CheckCircleOutlined from \"@ant-design/icons/es/icons/CheckCircleOutlined\";\nimport CloseCircleOutlined from \"@ant-design/icons/es/icons/CloseCircleOutlined\";\nimport ExclamationCircleOutlined from \"@ant-design/icons/es/icons/ExclamationCircleOutlined\";\nimport { getConfirmLocale } from './locale';\nimport ConfirmDialog from './ConfirmDialog';\nimport { globalConfig } from '../config-provider';\nimport devWarning from '../_util/devWarning';\nimport destroyFns from './destroyFns';\nvar defaultRootPrefixCls = '';\n\nfunction getRootPrefixCls() {\n return defaultRootPrefixCls;\n}\n\nexport default function confirm(config) {\n var div = document.createElement('div');\n document.body.appendChild(div); // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n var currentConfig = _extends(_extends({}, config), {\n close: close,\n visible: true\n });\n\n function destroy() {\n var unmountResult = ReactDOM.unmountComponentAtNode(div);\n\n if (unmountResult && div.parentNode) {\n div.parentNode.removeChild(div);\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var triggerCancel = args.some(function (param) {\n return param && param.triggerCancel;\n });\n\n if (config.onCancel && triggerCancel) {\n config.onCancel.apply(config, args);\n }\n\n for (var i = 0; i < destroyFns.length; i++) {\n var fn = destroyFns[i]; // eslint-disable-next-line @typescript-eslint/no-use-before-define\n\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n }\n\n function render(_a) {\n var okText = _a.okText,\n cancelText = _a.cancelText,\n customizePrefixCls = _a.prefixCls,\n props = __rest(_a, [\"okText\", \"cancelText\", \"prefixCls\"]);\n /**\n * https://github.com/ant-design/ant-design/issues/23623\n *\n * Sync render blocks React event. Let's make this async.\n */\n\n\n setTimeout(function () {\n var runtimeLocale = getConfirmLocale();\n\n var _globalConfig = globalConfig(),\n getPrefixCls = _globalConfig.getPrefixCls; // because Modal.config \b set rootPrefixCls, which is different from other components\n\n\n var rootPrefixCls = getPrefixCls(undefined, getRootPrefixCls());\n var prefixCls = customizePrefixCls || \"\".concat(rootPrefixCls, \"-modal\");\n ReactDOM.render( /*#__PURE__*/React.createElement(ConfirmDialog, _extends({}, props, {\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n okText: okText || (props.okCancel ? runtimeLocale.okText : runtimeLocale.justOkText),\n cancelText: cancelText || runtimeLocale.cancelText\n })), div);\n });\n }\n\n function close() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n currentConfig = _extends(_extends({}, currentConfig), {\n visible: false,\n afterClose: function afterClose() {\n if (typeof config.afterClose === 'function') {\n config.afterClose();\n }\n\n destroy.apply(_this, args);\n }\n });\n render(currentConfig);\n }\n\n function update(configUpdate) {\n if (typeof configUpdate === 'function') {\n currentConfig = configUpdate(currentConfig);\n } else {\n currentConfig = _extends(_extends({}, currentConfig), configUpdate);\n }\n\n render(currentConfig);\n }\n\n render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update: update\n };\n}\nexport function withWarn(props) {\n return _extends(_extends({\n icon: /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null),\n okCancel: false\n }, props), {\n type: 'warning'\n });\n}\nexport function withInfo(props) {\n return _extends(_extends({\n icon: /*#__PURE__*/React.createElement(InfoCircleOutlined, null),\n okCancel: false\n }, props), {\n type: 'info'\n });\n}\nexport function withSuccess(props) {\n return _extends(_extends({\n icon: /*#__PURE__*/React.createElement(CheckCircleOutlined, null),\n okCancel: false\n }, props), {\n type: 'success'\n });\n}\nexport function withError(props) {\n return _extends(_extends({\n icon: /*#__PURE__*/React.createElement(CloseCircleOutlined, null),\n okCancel: false\n }, props), {\n type: 'error'\n });\n}\nexport function withConfirm(props) {\n return _extends(_extends({\n icon: /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null),\n okCancel: true\n }, props), {\n type: 'confirm'\n });\n}\nexport function modalGlobalConfig(_ref) {\n var rootPrefixCls = _ref.rootPrefixCls;\n devWarning(false, 'Modal', 'Modal.config is deprecated. Please use ConfigProvider.config instead.');\n defaultRootPrefixCls = rootPrefixCls;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport ConfirmDialog from '../ConfirmDialog';\nimport defaultLocale from '../../locale/default';\nimport LocaleReceiver from '../../locale-provider/LocaleReceiver';\nimport { ConfigContext } from '../../config-provider';\n\nvar HookModal = function HookModal(_ref, ref) {\n var afterClose = _ref.afterClose,\n config = _ref.config;\n\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n visible = _React$useState2[0],\n setVisible = _React$useState2[1];\n\n var _React$useState3 = React.useState(config),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerConfig = _React$useState4[0],\n setInnerConfig = _React$useState4[1];\n\n var _React$useContext = React.useContext(ConfigContext),\n direction = _React$useContext.direction,\n getPrefixCls = _React$useContext.getPrefixCls;\n\n var prefixCls = getPrefixCls('modal');\n var rootPrefixCls = getPrefixCls();\n\n function close() {\n setVisible(false);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var triggerCancel = args.some(function (param) {\n return param && param.triggerCancel;\n });\n\n if (innerConfig.onCancel && triggerCancel) {\n innerConfig.onCancel();\n }\n }\n\n React.useImperativeHandle(ref, function () {\n return {\n destroy: close,\n update: function update(newConfig) {\n setInnerConfig(function (originConfig) {\n return _extends(_extends({}, originConfig), newConfig);\n });\n }\n };\n });\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\",\n defaultLocale: defaultLocale.Modal\n }, function (modalLocale) {\n return /*#__PURE__*/React.createElement(ConfirmDialog, _extends({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls\n }, innerConfig, {\n close: close,\n visible: visible,\n afterClose: afterClose,\n okText: innerConfig.okText || (innerConfig.okCancel ? modalLocale.okText : modalLocale.justOkText),\n direction: direction,\n cancelText: innerConfig.cancelText || modalLocale.cancelText\n }));\n });\n};\n\nexport default /*#__PURE__*/React.forwardRef(HookModal);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport usePatchElement from '../../_util/hooks/usePatchElement';\nimport HookModal from './HookModal';\nimport { withConfirm, withInfo, withSuccess, withError, withWarn } from '../confirm';\nvar uuid = 0;\nvar ElementsHolder = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (_props, ref) {\n var _usePatchElement = usePatchElement(),\n _usePatchElement2 = _slicedToArray(_usePatchElement, 2),\n elements = _usePatchElement2[0],\n patchElement = _usePatchElement2[1];\n\n React.useImperativeHandle(ref, function () {\n return {\n patchElement: patchElement\n };\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, elements);\n}));\nexport default function useModal() {\n var holderRef = React.useRef(null); // ========================== Effect ==========================\n\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n actionQueue = _React$useState2[0],\n setActionQueue = _React$useState2[1];\n\n React.useEffect(function () {\n if (actionQueue.length) {\n var cloneQueue = _toConsumableArray(actionQueue);\n\n cloneQueue.forEach(function (action) {\n action();\n });\n setActionQueue([]);\n }\n }, [actionQueue]); // =========================== Hook ===========================\n\n var getConfirmFunc = React.useCallback(function (withFunc) {\n return function hookConfirm(config) {\n var _a;\n\n uuid += 1;\n var modalRef = /*#__PURE__*/React.createRef();\n var closeFunc;\n var modal = /*#__PURE__*/React.createElement(HookModal, {\n key: \"modal-\".concat(uuid),\n config: withFunc(config),\n ref: modalRef,\n afterClose: function afterClose() {\n closeFunc();\n }\n });\n closeFunc = (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.patchElement(modal);\n return {\n destroy: function destroy() {\n function destroyAction() {\n var _a;\n\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n\n if (modalRef.current) {\n destroyAction();\n } else {\n setActionQueue(function (prev) {\n return [].concat(_toConsumableArray(prev), [destroyAction]);\n });\n }\n },\n update: function update(newConfig) {\n function updateAction() {\n var _a;\n\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.update(newConfig);\n }\n\n if (modalRef.current) {\n updateAction();\n } else {\n setActionQueue(function (prev) {\n return [].concat(_toConsumableArray(prev), [updateAction]);\n });\n }\n }\n };\n };\n }, []);\n var fns = React.useMemo(function () {\n return {\n info: getConfirmFunc(withInfo),\n success: getConfirmFunc(withSuccess),\n error: getConfirmFunc(withError),\n warning: getConfirmFunc(withWarn),\n confirm: getConfirmFunc(withConfirm)\n };\n }, []); // eslint-disable-next-line react/jsx-key\n\n return [fns, /*#__PURE__*/React.createElement(ElementsHolder, {\n ref: holderRef\n })];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function usePatchElement() {\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n elements = _React$useState2[0],\n setElements = _React$useState2[1];\n\n var patchElement = React.useCallback(function (element) {\n // append a new element to elements (and create a new ref)\n setElements(function (originElements) {\n return [].concat(_toConsumableArray(originElements), [element]);\n }); // return a function that removes the new element out of elements (and create a new ref)\n // it works a little like useEffect\n\n return function () {\n setElements(function (originElements) {\n return originElements.filter(function (ele) {\n return ele !== element;\n });\n });\n };\n }, []);\n return [elements, patchElement];\n}","import OriginModal from './Modal';\nimport confirm, { withWarn, withInfo, withSuccess, withError, withConfirm, modalGlobalConfig } from './confirm';\nimport useModal from './useModal';\nimport destroyFns from './destroyFns';\n\nfunction modalWarn(props) {\n return confirm(withWarn(props));\n}\n\nvar Modal = OriginModal;\nModal.useModal = useModal;\n\nModal.info = function infoFn(props) {\n return confirm(withInfo(props));\n};\n\nModal.success = function successFn(props) {\n return confirm(withSuccess(props));\n};\n\nModal.error = function errorFn(props) {\n return confirm(withError(props));\n};\n\nModal.warning = modalWarn;\nModal.warn = modalWarn;\n\nModal.confirm = function confirmFn(props) {\n return confirm(withConfirm(props));\n};\n\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n var close = destroyFns.pop();\n\n if (close) {\n close();\n }\n }\n};\n\nModal.config = modalGlobalConfig;\nexport default Modal;","import * as React from 'react';\nimport { TooltipBase } from './Tooltip.base';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport type { ICalloutProps } from '../../Callout';\nimport type { IRenderFunction, IRefObject, IStyleFunctionOrObject } from '../../Utilities';\nimport type { IStyle, ITheme } from '../../Styling';\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltip {}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipProps extends React.HTMLAttributes {\n /**\n * Optional callback to access the ITooltip interface. Use this instead of ref for accessing\n * the public methods and properties of the component.\n */\n componentRef?: IRefObject;\n\n /**\n * Properties to pass through for Callout.\n * @defaultvalue `{ isBeakVisible: true, beakWidth: 16, gapSpace: 0, setInitialFocus: true, doNotLayer: false }`\n */\n calloutProps?: ICalloutProps;\n\n /**\n * Content to be passed to the tooltip\n */\n content?: string | JSX.Element | JSX.Element[];\n\n /**\n * Render function to populate tooltip content.\n */\n onRenderContent?: IRenderFunction;\n\n /**\n * Length of delay. Set to `TooltipDelay.zero` if you do not want a delay.\n * @defaultvalue TooltipDelay.medium\n */\n delay?: TooltipDelay;\n\n /**\n * Max width of tooltip\n * @defaultvalue 364px\n */\n maxWidth?: string | null;\n\n /**\n * Element to anchor the Tooltip to.\n */\n targetElement?: HTMLElement;\n\n /**\n * How the tooltip should be anchored to its `targetElement`.\n * @defaultvalue DirectionalHint.topCenter\n */\n directionalHint?: DirectionalHint;\n\n /**\n * How the element should be positioned in RTL layouts.\n * If not specified, a mirror of `directionalHint` will be used instead\n */\n directionalHintForRTL?: DirectionalHint;\n\n /**\n * Theme provided by higher-order component.\n */\n theme?: ITheme;\n\n /**\n * Call to provide customized styling that will layer on top of the variant rules.\n */\n styles?: IStyleFunctionOrObject;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport enum TooltipDelay {\n zero = 0,\n /** 300 ms delay before showing the tooltip */\n medium = 1,\n /** 500 ms delay before showing the tooltip */\n long = 2,\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipStyleProps {\n theme: ITheme;\n\n className?: string;\n\n /**\n * Delay before tooltip appears.\n * @deprecated Delay logic moved to TooltipHost vs relying on animation delay.\n */\n delay?: TooltipDelay;\n\n /**\n * Maximum width of tooltip.\n */\n maxWidth?: string;\n\n /**\n * The gap between the Callout and the target\n * @defaultvalue 0\n */\n gapSpace?: number;\n\n /**\n * The width of the Callout's beak\n * @defaultvalue 16\n */\n beakWidth?: number;\n}\n\n/**\n * {@docCategory Tooltip}\n */\nexport interface ITooltipStyles {\n /**\n * Style for the root element.\n */\n root: IStyle;\n\n /**\n * Style for the content element.\n */\n content: IStyle;\n\n /**\n * Style for the subtext element.\n */\n subText: IStyle;\n}\n","import * as React from 'react';\nimport { classNamesFunction, divProperties, getNativeProps } from '../../Utilities';\nimport { Callout } from '../../Callout';\nimport { DirectionalHint } from '../../common/DirectionalHint';\nimport type { IProcessedStyleSet } from '../../Styling';\nimport type { ITooltipProps, ITooltipStyleProps, ITooltipStyles } from './Tooltip.types';\n\nconst getClassNames = classNamesFunction();\n\nexport class TooltipBase extends React.Component {\n // Specify default props values\n public static defaultProps: Partial = {\n directionalHint: DirectionalHint.topCenter,\n maxWidth: '364px',\n calloutProps: {\n isBeakVisible: true,\n beakWidth: 16,\n gapSpace: 0,\n setInitialFocus: true,\n doNotLayer: false,\n },\n };\n\n private _classNames: IProcessedStyleSet;\n\n public render(): JSX.Element {\n const {\n className,\n calloutProps,\n directionalHint,\n directionalHintForRTL,\n styles,\n id,\n maxWidth,\n onRenderContent = this._onRenderContent,\n targetElement,\n theme,\n } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className: className || (calloutProps && calloutProps.className),\n beakWidth: calloutProps && calloutProps.beakWidth,\n gapSpace: calloutProps && calloutProps.gapSpace,\n maxWidth: maxWidth!,\n });\n\n return (\n \n \n {onRenderContent(this.props, this._onRenderContent)}\n \n \n );\n }\n\n private _onRenderContent = (props: ITooltipProps): JSX.Element => {\n if (typeof props.content === 'string') {\n return

    {props.content}

    ;\n } else {\n return
    {props.content}
    ;\n }\n };\n}\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { TooltipBase } from './Tooltip.base';\nimport { getStyles } from './Tooltip.styles';\nimport type { ITooltipProps, ITooltipStyleProps, ITooltipStyles } from './Tooltip.types';\n\nexport const Tooltip: React.FunctionComponent = styled<\n ITooltipProps,\n ITooltipStyleProps,\n ITooltipStyles\n>(TooltipBase, getStyles, undefined, {\n scope: 'Tooltip',\n});\n","import { AnimationClassNames } from '../../Styling';\nimport type { ITooltipStyleProps, ITooltipStyles } from './Tooltip.types';\n\nexport const getStyles = (props: ITooltipStyleProps): ITooltipStyles => {\n const { className, beakWidth = 16, gapSpace = 0, maxWidth, theme } = props;\n const { semanticColors, fonts, effects } = theme;\n\n // The math here is done to account for the 45 degree rotation of the beak\n // and sub-pixel rounding that differs across browsers, which is more noticeable when\n // the device pixel ratio is larger\n const tooltipGapSpace = -(Math.sqrt((beakWidth * beakWidth) / 2) + gapSpace) + 1 / window.devicePixelRatio;\n\n return {\n root: [\n 'ms-Tooltip',\n theme.fonts.medium,\n AnimationClassNames.fadeIn200,\n {\n background: semanticColors.menuBackground,\n boxShadow: effects.elevation8,\n padding: '8px',\n maxWidth: maxWidth,\n selectors: {\n ':after': {\n content: `''`,\n position: 'absolute',\n bottom: tooltipGapSpace,\n left: tooltipGapSpace,\n right: tooltipGapSpace,\n top: tooltipGapSpace,\n zIndex: 0,\n },\n },\n },\n className,\n ],\n content: [\n 'ms-Tooltip-content',\n fonts.small,\n {\n position: 'relative',\n zIndex: 1,\n color: semanticColors.menuItemText,\n wordWrap: 'break-word',\n overflowWrap: 'break-word',\n overflow: 'hidden',\n },\n ],\n subText: [\n 'ms-Tooltip-subtext',\n {\n // Using inherit here to avoid unintentional global overrides of the

    tag.\n fontSize: 'inherit',\n fontWeight: 'inherit',\n color: 'inherit',\n margin: 0,\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { hiddenContentStyle } from '../../Styling';\nimport {\n initializeComponentRef,\n Async,\n divProperties,\n getNativeProps,\n getId,\n assign,\n hasOverflow,\n portalContainsElement,\n classNamesFunction,\n KeyCodes,\n} from '../../Utilities';\nimport { TooltipOverflowMode } from './TooltipHost.types';\nimport { Tooltip } from './Tooltip';\nimport { TooltipDelay } from './Tooltip.types';\nimport type { ITooltipHostProps, ITooltipHostStyles, ITooltipHostStyleProps, ITooltipHost } from './TooltipHost.types';\n\nexport interface ITooltipHostState {\n isAriaPlaceholderRendered: boolean;\n isTooltipVisible: boolean;\n}\n\nconst getClassNames = classNamesFunction();\n\nexport class TooltipHostBase extends React.Component implements ITooltipHost {\n public static defaultProps = {\n delay: TooltipDelay.medium,\n };\n\n private static _currentVisibleTooltip: ITooltipHost | undefined;\n\n // The wrapping div that gets the hover events\n private _tooltipHost = React.createRef();\n\n private _classNames: { [key in keyof ITooltipHostStyles]: string };\n private _async: Async;\n private _dismissTimerId: number;\n private _openTimerId: number;\n private _defaultTooltipId = getId('tooltip');\n private _ignoreNextFocusEvent: boolean;\n\n // Constructor\n constructor(props: ITooltipHostProps) {\n super(props);\n\n initializeComponentRef(this);\n\n this.state = {\n isAriaPlaceholderRendered: false,\n isTooltipVisible: false,\n };\n\n this._async = new Async(this);\n }\n\n // Render\n public render(): JSX.Element {\n const {\n calloutProps,\n children,\n content,\n directionalHint,\n directionalHintForRTL,\n hostClassName: className,\n id,\n // eslint-disable-next-line deprecation/deprecation\n setAriaDescribedBy = true,\n tooltipProps,\n styles,\n theme,\n } = this.props;\n\n this._classNames = getClassNames(styles!, {\n theme: theme!,\n className,\n });\n\n const { isAriaPlaceholderRendered, isTooltipVisible } = this.state;\n const tooltipId = id || this._defaultTooltipId;\n const isContentPresent = !!(\n content ||\n (tooltipProps && tooltipProps.onRenderContent && tooltipProps.onRenderContent())\n );\n const showTooltip = isTooltipVisible && isContentPresent;\n const ariaDescribedBy = setAriaDescribedBy && isTooltipVisible && isContentPresent ? tooltipId : undefined;\n\n return (\n \n {children}\n {showTooltip && (\n \n )}\n {isAriaPlaceholderRendered && (\n

    \n {content}\n
    \n )}\n \n );\n }\n\n public componentWillUnmount(): void {\n if (TooltipHostBase._currentVisibleTooltip && TooltipHostBase._currentVisibleTooltip === this) {\n TooltipHostBase._currentVisibleTooltip = undefined;\n }\n\n this._async.dispose();\n }\n\n public show = (): void => {\n this._toggleTooltip(true);\n };\n\n public dismiss = (): void => {\n this._hideTooltip();\n };\n\n private _getTargetElement = (): HTMLElement | undefined => {\n if (!this._tooltipHost.current) {\n return undefined;\n }\n\n const { overflowMode } = this.props;\n\n // Select target element based on overflow mode. For parent mode, you want to position the tooltip relative\n // to the parent element, otherwise it might look off.\n if (overflowMode !== undefined) {\n switch (overflowMode) {\n case TooltipOverflowMode.Parent:\n return this._tooltipHost.current.parentElement!;\n\n case TooltipOverflowMode.Self:\n return this._tooltipHost.current;\n }\n }\n\n return this._tooltipHost.current;\n };\n\n private _onTooltipFocus = (ev: React.FocusEvent) => {\n if (this._ignoreNextFocusEvent) {\n this._ignoreNextFocusEvent = false;\n return;\n }\n\n this._onTooltipMouseEnter(ev);\n };\n\n private _onTooltipBlur = (ev: React.FocusEvent) => {\n // The focused element gets a blur event when the document loses focus\n // (e.g. switching tabs in the browser), but we don't want to show the\n // tooltip again when the document gets focus back. Handle this case by\n // checking if the blurred element is still the document's activeElement,\n // and ignoring when it next gets focus back.\n // See https://github.com/microsoft/fluentui/issues/13541\n this._ignoreNextFocusEvent = document?.activeElement === ev.target;\n\n this._hideTooltip();\n };\n\n // Show Tooltip\n private _onTooltipMouseEnter = (ev: any): void => {\n const { overflowMode, delay } = this.props;\n\n if (TooltipHostBase._currentVisibleTooltip && TooltipHostBase._currentVisibleTooltip !== this) {\n TooltipHostBase._currentVisibleTooltip.dismiss();\n }\n TooltipHostBase._currentVisibleTooltip = this;\n\n if (overflowMode !== undefined) {\n const overflowElement = this._getTargetElement();\n if (overflowElement && !hasOverflow(overflowElement)) {\n return;\n }\n }\n\n if (ev.target && portalContainsElement(ev.target as HTMLElement, this._getTargetElement())) {\n // Do not show tooltip when target is inside a portal relative to TooltipHost.\n return;\n }\n\n this._clearDismissTimer();\n this._clearOpenTimer();\n\n if (delay !== TooltipDelay.zero) {\n this.setState({ isAriaPlaceholderRendered: true });\n const delayTime = this._getDelayTime(delay!); // non-null assertion because we set it in `defaultProps`\n\n this._openTimerId = this._async.setTimeout(() => {\n this._toggleTooltip(true);\n }, delayTime);\n } else {\n this._toggleTooltip(true);\n }\n };\n\n // Hide Tooltip\n private _onTooltipMouseLeave = (ev: any): void => {\n const { closeDelay } = this.props;\n\n this._clearDismissTimer();\n this._clearOpenTimer();\n\n if (closeDelay) {\n this._dismissTimerId = this._async.setTimeout(() => {\n this._toggleTooltip(false);\n }, closeDelay);\n } else {\n this._toggleTooltip(false);\n }\n\n if (TooltipHostBase._currentVisibleTooltip === this) {\n TooltipHostBase._currentVisibleTooltip = undefined;\n }\n };\n\n private _onTooltipKeyDown = (ev: React.KeyboardEvent): void => {\n // eslint-disable-next-line deprecation/deprecation\n if ((ev.which === KeyCodes.escape || ev.ctrlKey) && this.state.isTooltipVisible) {\n this._hideTooltip();\n ev.stopPropagation();\n }\n };\n\n private _clearDismissTimer = (): void => {\n this._async.clearTimeout(this._dismissTimerId);\n };\n\n private _clearOpenTimer = (): void => {\n this._async.clearTimeout(this._openTimerId);\n };\n\n // Hide Tooltip\n private _hideTooltip = (): void => {\n this._clearOpenTimer();\n this._clearDismissTimer();\n this._toggleTooltip(false);\n };\n\n private _toggleTooltip = (isTooltipVisible: boolean): void => {\n if (this.state.isTooltipVisible !== isTooltipVisible) {\n this.setState(\n { isAriaPlaceholderRendered: false, isTooltipVisible },\n () => this.props.onTooltipToggle && this.props.onTooltipToggle(isTooltipVisible),\n );\n }\n };\n\n private _getDelayTime = (delay: TooltipDelay): number => {\n switch (delay) {\n case TooltipDelay.medium:\n return 300;\n case TooltipDelay.long:\n return 500;\n default:\n return 0;\n }\n };\n}\n","/**\n * Detects whether an element's content has horizontal overflow\n *\n * @public\n * @param element - Element to check for overflow\n * @returns True if element's content overflows\n */\nexport function hasHorizontalOverflow(element: HTMLElement): boolean {\n return element.clientWidth < element.scrollWidth;\n}\n\n/**\n * Detects whether an element's content has vertical overflow\n *\n * @public\n * @param element - Element to check for overflow\n * @returns True if element's content overflows\n */\nexport function hasVerticalOverflow(element: HTMLElement): boolean {\n return element.clientHeight < element.scrollHeight;\n}\n\n/**\n * Detects whether an element's content has overflow in any direction\n *\n * @public\n * @param element - Element to check for overflow\n * @returns True if element's content overflows\n */\nexport function hasOverflow(element: HTMLElement): boolean {\n return hasHorizontalOverflow(element) || hasVerticalOverflow(element);\n}\n","import { getGlobalClassNames } from '../../Styling';\nimport type { ITooltipHostStyleProps, ITooltipHostStyles } from './TooltipHost.types';\n\nconst GlobalClassNames = {\n root: 'ms-TooltipHost',\n ariaPlaceholder: 'ms-TooltipHost-aria-placeholder',\n};\n\nexport const getStyles = (props: ITooltipHostStyleProps): ITooltipHostStyles => {\n const { className, theme } = props;\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n {\n display: 'inline',\n },\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { TooltipHostBase } from './TooltipHost.base';\nimport { getStyles } from './TooltipHost.styles';\nimport type { ITooltipHostProps, ITooltipHostStyleProps, ITooltipHostStyles } from './TooltipHost.types';\n\nexport const TooltipHost: React.FunctionComponent = styled<\n ITooltipHostProps,\n ITooltipHostStyleProps,\n ITooltipHostStyles\n>(TooltipHostBase, getStyles, undefined, {\n scope: 'TooltipHost',\n});\n","import {\n Stylesheet,\n mergeCssSets,\n fontFace as mergeFontFace,\n keyframes as mergeKeyframes,\n} from '@fluentui/merge-styles';\nimport type { StyleRenderer } from './types';\n\nlet _seed = 0;\n\nexport const mergeStylesRenderer: StyleRenderer = {\n reset: () => {\n // If the stylesheet reset call is made, invalidate the cache keys.\n Stylesheet.getInstance().onReset(() => _seed++);\n },\n\n getId: () => _seed,\n\n renderStyles: (styleSet, options) => {\n return mergeCssSets((Array.isArray(styleSet) ? styleSet : [styleSet]) as any, options) as any;\n },\n\n renderFontFace: (fontFace, options) => {\n return mergeFontFace(fontFace);\n },\n\n renderKeyframes: keyframes => {\n return mergeKeyframes(keyframes as any);\n },\n};\n","import * as React from 'react';\nimport { css } from '@fluentui/utilities';\nimport { useDocument } from '@fluentui/react-window-provider';\nimport { makeStyles } from './makeStyles';\nimport type { ThemeProviderState } from './ThemeProvider.types';\nimport type { Theme } from '@fluentui/theme';\n\nconst useThemeProviderStyles = makeStyles((theme: Theme) => {\n const { semanticColors, fonts } = theme;\n\n return {\n body: [\n {\n color: semanticColors.bodyText,\n background: semanticColors.bodyBackground,\n fontFamily: fonts.medium.fontFamily,\n fontWeight: fonts.medium.fontWeight,\n fontSize: fonts.medium.fontSize,\n MozOsxFontSmoothing: fonts.medium.MozOsxFontSmoothing,\n WebkitFontSmoothing: fonts.medium.WebkitFontSmoothing,\n },\n ],\n } as Record;\n});\n\n/**\n * Hook to add class to body element.\n */\nfunction useApplyClassToBody(state: ThemeProviderState, classesToApply: string[]): void {\n const { applyTo } = state;\n\n const applyToBody = applyTo === 'body';\n const body = useDocument()?.body;\n\n React.useEffect(() => {\n if (!applyToBody || !body) {\n return;\n }\n\n for (const classToApply of classesToApply) {\n if (classToApply) {\n body.classList.add(classToApply);\n }\n }\n\n return () => {\n if (!applyToBody || !body) {\n return;\n }\n\n for (const classToApply of classesToApply) {\n if (classToApply) {\n body.classList.remove(classToApply);\n }\n }\n };\n }, [applyToBody, body, classesToApply]);\n}\n\nexport function useThemeProviderClasses(state: ThemeProviderState): void {\n const classes = useThemeProviderStyles(state);\n const { className, applyTo } = state;\n\n useApplyClassToBody(state, [classes.root, classes.body]);\n\n state.className = css(className, classes.root, applyTo === 'element' && classes.body);\n}\n","import { useTheme } from './useTheme';\nimport { useWindow } from '@fluentui/react-window-provider';\nimport { mergeStylesRenderer } from './styleRenderers/mergeStylesRenderer';\nimport type { IStyle } from '@fluentui/style-utilities';\nimport type { Theme } from '@fluentui/theme';\n\nconst graphGet = (graphNode: Map, path: any[]): any | undefined => {\n for (const key of path) {\n graphNode = graphNode.get(key);\n\n if (!graphNode) {\n return;\n }\n }\n\n return graphNode;\n};\n\nconst graphSet = (graphNode: Map, path: any[], value: any) => {\n for (let i = 0; i < path.length - 1; i++) {\n const key = path[i];\n\n let current = graphNode.get(key);\n\n if (!current) {\n current = new Map();\n\n graphNode.set(key, current);\n }\n\n graphNode = current;\n }\n\n graphNode.set(path[path.length - 1], value);\n};\n\n/** Options that can be provided to the hook generated by `makeStyles`. */\nexport type UseStylesOptions = {\n theme?: Theme;\n};\n\n/**\n * Registers a css object, optionally as a function of the theme.\n *\n * @param styleOrFunction - Either a css javascript object, or a function which takes in `ITheme`\n * and returns a css javascript object.\n */\nexport function makeStyles(\n styleOrFunction: TStyleSet | ((theme: Theme) => TStyleSet),\n): (options?: UseStylesOptions) => { [key in keyof TStyleSet]: string } {\n // Create graph of inputs to map to output.\n const graph = new Map();\n\n return (options: UseStylesOptions = {}) => {\n let { theme } = options;\n const win = useWindow();\n const contextualTheme = useTheme();\n\n theme = theme || contextualTheme;\n const renderer = mergeStylesRenderer;\n\n const id = renderer.getId();\n const isStyleFunction = typeof styleOrFunction === 'function';\n const path = isStyleFunction ? [id, win, theme] : [id, win];\n let value = graphGet(graph, path);\n\n if (!value) {\n const styles = isStyleFunction ? (styleOrFunction as (theme: Theme) => TStyleSet)(theme!) : styleOrFunction;\n\n value = mergeStylesRenderer.renderStyles(styles, { targetWindow: win, rtl: !!theme!.rtl });\n graphSet(graph, path, value);\n }\n\n return value;\n };\n}\n","import * as React from 'react';\nimport { CustomizerContext, getNativeElementProps, omit } from '@fluentui/utilities';\nimport { ThemeContext } from './ThemeContext';\nimport type { ThemeProviderState } from './ThemeProvider.types';\n\nexport const renderThemeProvider = (state: ThemeProviderState) => {\n const { theme, customizerContext } = state;\n const Root = state.as || 'div';\n const rootProps = typeof state.as === 'string' ? getNativeElementProps(state.as, state) : omit(state, ['as']);\n\n return (\n \n \n \n \n \n );\n};\n","import { mergeThemes } from '@fluentui/theme';\nimport * as React from 'react';\nimport { useTheme } from './useTheme';\nimport { getId } from '@fluentui/utilities';\nimport type { PartialTheme, Theme } from '@fluentui/theme';\nimport type { ThemeProviderState } from './ThemeProvider.types';\nimport type { ICustomizerContext } from '@fluentui/utilities';\n\nconst themeToIdMap = new Map();\n\nconst getThemeId = (...themes: (Theme | PartialTheme | undefined)[]) => {\n const ids: string[] = [];\n\n for (const theme of themes) {\n if (theme) {\n let id = (theme as Theme).id || themeToIdMap.get(theme);\n\n if (!id) {\n id = getId('');\n themeToIdMap.set(theme, id);\n }\n ids.push(id);\n }\n }\n\n return ids.join('-');\n};\n\nexport const useThemeProviderState = (draftState: ThemeProviderState) => {\n const userTheme: PartialTheme = draftState.theme;\n\n // Pull contextual theme.\n const parentTheme = useTheme();\n\n // Update the incoming theme with a memoized version of the merged theme.\n const theme = (draftState.theme = React.useMemo(() => {\n const mergedTheme: Theme = mergeThemes(parentTheme, userTheme);\n\n mergedTheme.id = getThemeId(parentTheme, userTheme);\n\n return mergedTheme;\n }, [parentTheme, userTheme]));\n\n draftState.customizerContext = React.useMemo(\n () => ({\n customizations: {\n inCustomizerContext: true,\n settings: { theme },\n scopedSettings: theme.components || {},\n },\n }),\n [theme],\n );\n\n if (draftState.theme.rtl !== parentTheme.rtl) {\n draftState.dir = draftState.theme.rtl ? 'rtl' : 'ltr';\n }\n};\n","import * as React from 'react';\nimport { useThemeProviderClasses } from './useThemeProviderClasses';\nimport { useThemeProvider } from './useThemeProvider';\nimport { useFocusRects } from '@fluentui/utilities';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport type { ThemeProviderProps } from './ThemeProvider.types';\n\n/**\n * ThemeProvider, used for providing css variables and registering stylesheets.\n */\nexport const ThemeProvider: React.FunctionComponent = React.forwardRef<\n HTMLDivElement,\n ThemeProviderProps\n>((props: ThemeProviderProps, ref: React.Ref) => {\n const rootRef = useMergedRefs(ref, React.useRef(null));\n const { render, state } = useThemeProvider(props, {\n ref: rootRef,\n as: 'div',\n applyTo: 'element',\n });\n\n // Render styles.\n useThemeProviderClasses(state);\n\n // Apply focus rect class on key presses.\n useFocusRects(state.ref);\n\n // Return the rendered content.\n return render(state);\n});\n\nThemeProvider.displayName = 'ThemeProvider';\n","import { renderThemeProvider as render } from './renderThemeProvider';\nimport { useThemeProviderState } from './useThemeProviderState';\nimport { getPropsWithDefaults } from '@fluentui/utilities';\nimport type { ThemeProviderProps, ThemeProviderState } from './ThemeProvider.types';\n\n/**\n * Returns the ThemeProvider render function and calculated state, given user input, ref, and\n * a set of default prop values.\n */\nexport const useThemeProvider = (props: ThemeProviderProps, defaultProps: ThemeProviderProps) => {\n const state = getPropsWithDefaults(defaultProps, props) as ThemeProviderState;\n\n // Apply changes to state.\n useThemeProviderState(state);\n\n return {\n state,\n render,\n };\n};\n","import * as React from 'react';\n\n/**\n * A callback ref function that also has a .current member for the ref's current value.\n */\nexport type RefCallback = ((value: T | null) => void) & React.RefObject;\n\n/**\n * Creates a ref, and calls a callback whenever the ref changes to a non-null value. The callback can optionally return\n * a cleanup function that'll be called before the value changes, and when the ref is unmounted.\n *\n * This can be used to work around a limitation that useEffect cannot depend on `ref.current` (see\n * https://github.com/facebook/react/issues/14387#issuecomment-503616820).\n *\n * Usage example:\n * ```ts\n * const myRef = useRefEffect(element => {\n * ...\n * return () => { ... cleanup ... };\n * });\n * ```\n * ```jsx\n *
    \n * ```\n *\n * @param callback - Called whenever the ref's value changes to non-null. Can optionally return a cleanup function.\n * @param initial - (Optional) The initial value for the ref.\n *\n * @returns A function that should be called to set the ref's value. The object also has a `.current` member that can be\n * used to access the ref's value (like a normal RefObject). It can be hooked up to an element's `ref` property.\n */\nexport function useRefEffect(callback: (value: T) => (() => void) | void, initial: T | null = null): RefCallback {\n type RefData = {\n ref: ((value: T | null) => void) & React.MutableRefObject;\n callback: (value: T) => (() => void) | void;\n cleanup?: (() => void) | void;\n };\n\n const createRefCallback = () => {\n const refCallback = (value: T | null) => {\n if (data.ref.current !== value) {\n if (data.cleanup) {\n data.cleanup();\n data.cleanup = undefined;\n }\n\n data.ref.current = value;\n\n if (value !== null) {\n data.cleanup = data.callback(value);\n }\n }\n };\n\n refCallback.current = initial;\n return refCallback;\n };\n\n const data = React.useRef({\n ref: createRefCallback(),\n callback,\n }).current;\n\n data.callback = callback;\n\n return data.ref;\n}\n","import * as React from 'react';\nimport { useRefEffect } from '@fluentui/react-hooks';\nimport { getWindow } from '@fluentui/utilities';\nimport { observeResize } from './observeResize';\nimport type { RefCallback } from '@fluentui/react-hooks';\n\n/**\n * Callback to notify the user that the items in the overflow have changed. This should ensure that the overflow menu\n * is visible, and contains all of the overflowing items.\n *\n * @param overflowIndex - The index of the first item in the overflow, or items.length if nothing is overflowing.\n * @param items - The list of all items in the container, and whether that particular item is in the overflow\n */\nexport type OverflowItemsChangedCallback = (\n overflowIndex: number,\n items: { ele: HTMLElement; isOverflowing: boolean }[],\n) => void;\n\n/** Parameters for {@see useOverflow} */\nexport type OverflowParams = {\n /** Callback to notify the user that the items in the overflow have changed. */\n onOverflowItemsChanged: OverflowItemsChangedCallback;\n\n /** True if the element containing overflowMenuButtonRef is in right-to-left order */\n rtl: boolean;\n\n /** Optional: Index of item that should never go into the overflow menu. */\n pinnedIndex?: number;\n};\n\n/** Return value for {@see useOverflow} */\nexport type OverflowRefs = {\n /** Set the overflow menu button's ref to this ref callback */\n menuButtonRef: RefCallback;\n};\n\n/**\n * Track whether any items don't fit within their container, and move them to the overflow menu.\n * Items are moved into the overflow menu from back to front, excluding pinned items.\n *\n * The overflow menu button must be the last sibling of all of the items that can be put into the overflow, and it\n * must be hooked up to the `setMenuButtonRef` setter function that's returned by `useOverflow`:\n * ```ts\n * const overflow = useOverflow(...);\n * ```\n * ```jsx\n * \n * // Index 0\n * // Index 1\n * ...\n *
    \n );\n };\n\n const isKeyValid = (itemKey: string | null | undefined): boolean => {\n return itemKey === null || (itemKey !== undefined && linkCollection.keyToIndexMapping[itemKey] !== undefined);\n };\n\n const getSelectedKey = () => {\n if (isKeyValid(selectedKey)) {\n return selectedKey;\n }\n if (linkCollection.links.length) {\n return linkCollection.links[0].itemKey;\n }\n return undefined;\n };\n\n classNames = getClassNames(props.styles!, {\n theme: theme!,\n linkSize,\n linkFormat,\n });\n\n const renderedSelectedKey = getSelectedKey();\n const renderedSelectedIndex = renderedSelectedKey ? linkCollection.keyToIndexMapping[renderedSelectedKey] : 0;\n\n const items = linkCollection.links.map(l =>\n renderPivotLink(linkCollection, l, renderedSelectedKey, classNames.link),\n );\n\n // The overflow menu starts empty and items[] is updated as the overflow items change\n const overflowMenuProps: IContextualMenuProps = React.useMemo(\n () => ({\n items: [],\n alignTargetEdge: true,\n directionalHint: DirectionalHint.bottomRightEdge,\n }),\n [],\n );\n\n const { menuButtonRef: overflowMenuButtonRef } = useOverflow({\n onOverflowItemsChanged: (overflowIndex, elements) => {\n // Set data-is-overflowing on each item\n elements.forEach(({ ele, isOverflowing }) => (ele.dataset.isOverflowing = `${isOverflowing}`));\n\n // Update the menu items\n overflowMenuProps.items = linkCollection.links.slice(overflowIndex).map((link, index) => ({\n key: link.itemKey || `${overflowIndex + index}`,\n onRender: () => renderPivotLink(linkCollection, link, renderedSelectedKey, classNames.linkInMenu),\n }));\n },\n rtl: getRTL(theme),\n pinnedIndex: renderedSelectedIndex,\n });\n\n return (\n
    \n \n {items}\n {overflowBehavior === 'menu' && (\n \n )}\n \n {renderedSelectedKey &&\n linkCollection.links.map(\n link =>\n (link.alwaysRender === true || renderedSelectedKey === link.itemKey) &&\n renderPivotItem(link.itemKey, renderedSelectedKey === link.itemKey),\n )}\n
    \n );\n },\n);\nPivotBase.displayName = COMPONENT_NAME;\n","import {\n AnimationVariables,\n getGlobalClassNames,\n HighContrastSelector,\n normalize,\n FontWeights,\n getHighContrastNoAdjustStyle,\n} from '@fluentui/style-utilities';\nimport { IsFocusVisibleClassName } from '@fluentui/utilities';\nimport type { IPivotStyleProps, IPivotStyles } from './Pivot.types';\nimport type { IStyle } from '@fluentui/style-utilities';\n\nconst globalClassNames = {\n count: 'ms-Pivot-count',\n icon: 'ms-Pivot-icon',\n linkIsSelected: 'is-selected',\n link: 'ms-Pivot-link',\n linkContent: 'ms-Pivot-linkContent',\n root: 'ms-Pivot',\n rootIsLarge: 'ms-Pivot--large',\n rootIsTabs: 'ms-Pivot--tabs',\n text: 'ms-Pivot-text',\n linkInMenu: 'ms-Pivot-linkInMenu',\n overflowMenuButton: 'ms-Pivot-overflowMenuButton',\n};\n\nconst getLinkStyles = (\n props: IPivotStyleProps,\n classNames: { [key: string]: string },\n isLinkInOverflowMenu: boolean = false,\n): IStyle[] => {\n const { linkSize, linkFormat } = props;\n const { semanticColors, fonts } = props.theme;\n const rootIsLarge = linkSize === 'large';\n const rootIsTabs = linkFormat === 'tabs';\n\n return [\n fonts.medium,\n {\n color: semanticColors.actionLink,\n padding: '0 8px',\n position: 'relative',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: 0,\n selectors: {\n ':hover': {\n backgroundColor: semanticColors.buttonBackgroundHovered,\n color: semanticColors.buttonTextHovered,\n cursor: 'pointer',\n },\n ':active': {\n backgroundColor: semanticColors.buttonBackgroundPressed,\n color: semanticColors.buttonTextHovered,\n },\n ':focus': {\n outline: 'none',\n },\n [`.${IsFocusVisibleClassName} &:focus`]: {\n outline: `1px solid ${semanticColors.focusBorder}`,\n },\n [`.${IsFocusVisibleClassName} &:focus:after`]: {\n content: 'attr(data-content)',\n position: 'relative',\n border: 0,\n },\n },\n },\n !isLinkInOverflowMenu && [\n {\n display: 'inline-block',\n lineHeight: 44,\n height: 44,\n marginRight: 8,\n textAlign: 'center',\n selectors: {\n ':before': {\n backgroundColor: 'transparent',\n bottom: 0,\n content: '\"\"',\n height: 2,\n left: 8,\n position: 'absolute',\n right: 8,\n transition: `left ${AnimationVariables.durationValue2} ${AnimationVariables.easeFunction2},\n right ${AnimationVariables.durationValue2} ${AnimationVariables.easeFunction2}`,\n },\n ':after': {\n color: 'transparent',\n content: 'attr(data-content)',\n display: 'block',\n fontWeight: FontWeights.bold,\n height: 1,\n overflow: 'hidden',\n visibility: 'hidden',\n },\n },\n },\n rootIsLarge && {\n fontSize: fonts.large.fontSize,\n },\n rootIsTabs && [\n {\n marginRight: 0,\n height: 44,\n lineHeight: 44,\n backgroundColor: semanticColors.buttonBackground,\n padding: '0 10px',\n verticalAlign: 'top',\n\n selectors: {\n ':focus': {\n outlineOffset: '-1px',\n },\n [`.${IsFocusVisibleClassName} &:focus::before`]: {\n height: 'auto',\n background: 'transparent',\n transition: 'none',\n },\n '&:hover, &:focus': {\n color: semanticColors.buttonTextCheckedHovered,\n },\n '&:active, &:hover': {\n color: semanticColors.primaryButtonText,\n backgroundColor: semanticColors.primaryButtonBackground,\n },\n [`&.${classNames.linkIsSelected}`]: {\n backgroundColor: semanticColors.primaryButtonBackground,\n color: semanticColors.primaryButtonText,\n fontWeight: FontWeights.regular,\n selectors: {\n ':before': {\n backgroundColor: 'transparent',\n transition: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n content: '\"\"',\n height: 0,\n },\n ':hover': {\n backgroundColor: semanticColors.primaryButtonBackgroundHovered,\n color: semanticColors.primaryButtonText,\n },\n '&:active': {\n backgroundColor: semanticColors.primaryButtonBackgroundPressed,\n color: semanticColors.primaryButtonText,\n },\n [HighContrastSelector]: {\n fontWeight: FontWeights.semibold,\n color: 'HighlightText',\n background: 'Highlight',\n ...getHighContrastNoAdjustStyle(),\n },\n },\n },\n },\n },\n ],\n ],\n ];\n};\n\nexport const getStyles = (props: IPivotStyleProps): IPivotStyles => {\n const { className, linkSize, linkFormat, theme } = props;\n const { semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(globalClassNames, theme);\n\n const rootIsLarge = linkSize === 'large';\n const rootIsTabs = linkFormat === 'tabs';\n\n return {\n root: [\n classNames.root,\n fonts.medium,\n normalize,\n {\n position: 'relative',\n color: semanticColors.link,\n whiteSpace: 'nowrap',\n },\n rootIsLarge && classNames.rootIsLarge,\n rootIsTabs && classNames.rootIsTabs,\n className,\n ],\n itemContainer: {\n selectors: {\n '&[hidden]': {\n display: 'none',\n },\n },\n },\n link: [\n classNames.link,\n ...getLinkStyles(props, classNames),\n {\n [`&[data-is-overflowing='true']`]: {\n display: 'none',\n },\n },\n ],\n overflowMenuButton: [\n classNames.overflowMenuButton,\n {\n visibility: 'hidden',\n position: 'absolute',\n right: 0,\n [`.${classNames.link}[data-is-overflowing='true'] ~ &`]: {\n visibility: 'visible',\n position: 'relative',\n },\n },\n ],\n linkInMenu: [\n classNames.linkInMenu,\n ...getLinkStyles(props, classNames, true),\n {\n textAlign: 'left',\n width: '100%',\n height: 36,\n lineHeight: 36,\n },\n ],\n linkIsSelected: [\n classNames.link,\n classNames.linkIsSelected,\n {\n fontWeight: FontWeights.semibold,\n selectors: {\n ':before': {\n backgroundColor: semanticColors.inputBackgroundChecked,\n selectors: {\n [HighContrastSelector]: {\n backgroundColor: 'Highlight',\n },\n },\n },\n ':hover::before': {\n left: 0,\n right: 0,\n },\n [HighContrastSelector]: {\n color: 'Highlight',\n },\n },\n },\n ],\n linkContent: [\n classNames.linkContent,\n {\n flex: '0 1 100%',\n selectors: {\n '& > * ': {\n marginLeft: 4,\n },\n '& > *:first-child': {\n marginLeft: 0,\n },\n },\n },\n ],\n text: [\n classNames.text,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n count: [\n classNames.count,\n {\n display: 'inline-block',\n verticalAlign: 'top',\n },\n ],\n icon: classNames.icon,\n };\n};\n","import * as React from 'react';\nimport { styled } from '@fluentui/utilities';\nimport { PivotBase } from './Pivot.base';\nimport { getStyles } from './Pivot.styles';\nimport type { IPivotProps, IPivotStyleProps, IPivotStyles } from './Pivot.types';\n\n/**\n * The Pivot control and related tabs pattern are used for navigating frequently accessed,\n * distinct content categories. Pivots allow for navigation between two or more content\n * views and relies on text headers to articulate the different sections of content.\n */\nexport const Pivot: React.FunctionComponent = styled(\n PivotBase,\n getStyles,\n undefined,\n {\n scope: 'Pivot',\n },\n);\n","import _cloneRegExp from \"./_cloneRegExp.js\";\nimport type from \"../type.js\";\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\n\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n\n idx += 1;\n }\n\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n\n return copiedValue;\n };\n\n switch (type(value)) {\n case 'Object':\n return copy({});\n\n case 'Array':\n return copy([]);\n\n case 'Date':\n return new Date(value.valueOf());\n\n case 'RegExp':\n return _cloneRegExp(value);\n\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","import _curryN from \"./_curryN.js\";\nimport _has from \"./_has.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XReduceBy =\n/*#__PURE__*/\nfunction () {\n function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n this.valueFn = valueFn;\n this.valueAcc = valueAcc;\n this.keyFn = keyFn;\n this.xf = xf;\n this.inputs = {};\n }\n\n XReduceBy.prototype['@@transducer/init'] = _xfBase.init;\n\n XReduceBy.prototype['@@transducer/result'] = function (result) {\n var key;\n\n for (key in this.inputs) {\n if (_has(key, this.inputs)) {\n result = this.xf['@@transducer/step'](result, this.inputs[key]);\n\n if (result['@@transducer/reduced']) {\n result = result['@@transducer/value'];\n break;\n }\n }\n }\n\n this.inputs = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n var key = this.keyFn(input);\n this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n return result;\n };\n\n return XReduceBy;\n}();\n\nvar _xreduceBy =\n/*#__PURE__*/\n_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n});\n\nexport default _xreduceBy;","import _clone from \"./internal/_clone.js\";\nimport _curryN from \"./internal/_curryN.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _has from \"./internal/_has.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xreduceBy from \"./internal/_xreduceBy.js\";\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * This function is basically a more general [`groupBy`](#groupBy) function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n * value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n * `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce\n * @example\n *\n * const groupNames = (acc, {name}) => acc.concat(name)\n * const toGrade = ({score}) =>\n * score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A'\n *\n * var students = [\n * {name: 'Abby', score: 83},\n * {name: 'Bart', score: 62},\n * {name: 'Curt', score: 88},\n * {name: 'Dora', score: 92},\n * ]\n *\n * reduceBy(groupNames, [], toGrade, students)\n * //=> {\"A\": [\"Dora\"], \"B\": [\"Abby\", \"Curt\"], \"F\": [\"Bart\"]}\n */\n\nvar reduceBy =\n/*#__PURE__*/\n_curryN(4, [],\n/*#__PURE__*/\n_dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {\n return _reduce(function (acc, elt) {\n var key = keyFn(elt);\n acc[key] = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);\n return acc;\n }, {}, list);\n}));\n\nexport default reduceBy;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport reduceBy from \"./reduceBy.js\";\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a String-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> String) -> [a] -> {String: [a]}\n * @param {Function} fn Function :: a -> String\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n * that produced that key when passed to `fn`.\n * @see R.reduceBy, R.transduce\n * @example\n *\n * const byGrade = R.groupBy(function(student) {\n * const score = student.score;\n * return score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A';\n * });\n * const students = [{name: 'Abby', score: 84},\n * {name: 'Eddy', score: 58},\n * // ...\n * {name: 'Jack', score: 69}];\n * byGrade(students);\n * // {\n * // 'A': [{name: 'Dianne', score: 99}],\n * // 'B': [{name: 'Abby', score: 84}]\n * // // ...,\n * // 'F': [{name: 'Eddy', score: 58}]\n * // }\n */\n\nvar groupBy =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('groupBy',\n/*#__PURE__*/\nreduceBy(function (acc, item) {\n if (acc == null) {\n acc = [];\n }\n\n acc.push(item);\n return acc;\n}, null)));\n\nexport default groupBy;","import * as React from 'react';\nimport { useMergedRefs } from '@fluentui/react-hooks';\nimport { classNamesFunction, useFocusRects } from '@fluentui/utilities';\nimport type { ILink, ILinkProps, ILinkStyleProps, ILinkStyles } from './Link.types';\n\nconst getClassNames = classNamesFunction();\n\n/**\n * The useLink hook processes the Link component props and returns\n * state, slots and slotProps for consumption by the component.\n */\nexport const useLink = (props: ILinkProps, forwardedRef: React.Ref): any => {\n const { as, className, disabled, href, onClick, styles, theme, underline } = props;\n const rootRef = React.useRef(null);\n const mergedRootRefs: React.Ref = useMergedRefs(rootRef, forwardedRef);\n\n useComponentRef(props, rootRef);\n useFocusRects(rootRef);\n\n const classNames = getClassNames(styles!, {\n className,\n isButton: !href,\n isDisabled: disabled,\n isUnderlined: underline,\n theme: theme!,\n });\n\n const _onClick = (ev: React.MouseEvent) => {\n if (disabled) {\n ev.preventDefault();\n } else if (onClick) {\n onClick(ev);\n }\n };\n\n const rootType = as ? as : href ? 'a' : 'button';\n\n const state = {};\n const slots = { root: rootType };\n const slotProps = {\n root: {\n ...adjustPropsForRootType(rootType, props),\n 'aria-disabled': disabled,\n className: classNames.root,\n onClick: _onClick,\n ref: mergedRootRefs,\n },\n };\n\n return { state, slots, slotProps };\n};\n\nconst useComponentRef = (props: ILinkProps, link: React.RefObject) => {\n React.useImperativeHandle(\n props.componentRef,\n () => ({\n focus() {\n if (link.current) {\n link.current.focus();\n }\n },\n }),\n [link],\n );\n};\n\nconst adjustPropsForRootType = (\n RootType: string | React.ComponentClass | React.FunctionComponent,\n props: ILinkProps & { getStyles?: any },\n): Partial => {\n // Deconstruct the props so we remove props like `as`, `theme` and `styles`\n // as those will always be removed. We also take some props that are optional\n // based on the RootType.\n const { as, disabled, target, href, theme, getStyles, styles, componentRef, underline, ...restProps } = props;\n\n // RootType will be a string if we're dealing with an html component\n if (typeof RootType === 'string') {\n // Remove the disabled prop for anchor elements\n if (RootType === 'a') {\n return {\n target,\n href: disabled ? undefined : href,\n ...restProps,\n };\n }\n\n // Add the type='button' prop for button elements\n if (RootType === 'button') {\n return {\n type: 'button',\n disabled,\n ...restProps,\n };\n }\n\n // Remove the target and href props for all other non anchor elements\n return { ...restProps, disabled };\n }\n\n // Retain all props except 'as' for ReactComponents\n return { target, href, disabled, ...restProps };\n};\n","import * as React from 'react';\nimport { useLink } from './useLink';\nimport type { ILinkProps } from './Link.types';\n\nexport const LinkBase: React.FunctionComponent = React.forwardRef((props, ref) => {\n const { slots, slotProps } = useLink(props, ref);\n\n return ;\n});\n\nLinkBase.displayName = 'LinkBase';\n","import { getGlobalClassNames, HighContrastSelector } from '@fluentui/style-utilities';\nimport type { ILinkStyleProps, ILinkStyles } from './Link.types';\n\nconst GlobalClassNames = {\n root: 'ms-Link',\n};\n\nexport const getStyles = (props: ILinkStyleProps): ILinkStyles => {\n const { className, isButton, isDisabled, isUnderlined, theme } = props;\n const { semanticColors } = theme;\n\n // Tokens\n const linkColor = semanticColors.link;\n const linkInteractedColor = semanticColors.linkHovered;\n const linkDisabledColor = semanticColors.disabledText;\n const focusBorderColor = semanticColors.focusBorder;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n theme.fonts.medium,\n {\n color: linkColor,\n outline: 'none',\n fontSize: 'inherit',\n fontWeight: 'inherit',\n textDecoration: isUnderlined ? 'underline' : 'none',\n\n selectors: {\n '.ms-Fabric--isFocusVisible &:focus': {\n // Can't use getFocusStyle because it doesn't support wrapping links\n // https://github.com/microsoft/fluentui/issues/4883#issuecomment-406743543\n // Using box-shadow and outline allows the focus rect to wrap links that span multiple lines\n // and helps the focus rect avoid getting clipped.\n boxShadow: `0 0 0 1px ${focusBorderColor} inset`,\n outline: `1px auto ${focusBorderColor}`,\n selectors: {\n [HighContrastSelector]: {\n outline: '1px solid WindowText',\n },\n },\n },\n [HighContrastSelector]: {\n // For IE high contrast mode\n borderBottom: 'none',\n },\n },\n },\n isButton && {\n background: 'none',\n backgroundColor: 'transparent',\n border: 'none',\n cursor: 'pointer',\n display: 'inline',\n margin: 0,\n overflow: 'inherit',\n padding: 0,\n textAlign: 'left',\n textOverflow: 'inherit',\n userSelect: 'text',\n borderBottom: '1px solid transparent', // For Firefox high contrast mode\n selectors: {\n [HighContrastSelector]: {\n color: 'LinkText',\n forcedColorAdjust: 'none',\n },\n },\n },\n !isButton && {\n selectors: {\n [HighContrastSelector]: {\n // This is mainly for MessageBar, which sets MsHighContrastAdjust: none by default\n MsHighContrastAdjust: 'auto',\n forcedColorAdjust: 'auto',\n },\n },\n },\n\n isDisabled && [\n 'is-disabled',\n {\n color: linkDisabledColor,\n cursor: 'default',\n },\n {\n selectors: {\n '&:link, &:visited': {\n pointerEvents: 'none',\n },\n },\n },\n ],\n !isDisabled && {\n selectors: {\n '&:active, &:hover, &:active:hover': {\n color: linkInteractedColor,\n textDecoration: 'underline',\n\n selectors: {\n [HighContrastSelector]: {\n color: 'LinkText',\n },\n },\n },\n '&:focus': {\n color: linkColor,\n\n selectors: {\n [HighContrastSelector]: {\n color: 'LinkText',\n },\n },\n },\n },\n },\n classNames.root,\n className,\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '@fluentui/utilities';\nimport { LinkBase } from './Link.base';\nimport { getStyles } from './Link.styles';\nimport type { ILinkProps, ILinkStyleProps, ILinkStyles } from './Link.types';\n\nexport const Link: React.FunctionComponent = styled(\n LinkBase,\n getStyles,\n undefined,\n {\n scope: 'Link',\n },\n);\n","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * const mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\n\nvar flip =\n/*#__PURE__*/\n_curry1(function flip(fn) {\n return curryN(fn.length, function (a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\n\nexport default flip;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _filter from \"./internal/_filter.js\";\nimport flip from \"./flip.js\";\nimport uniq from \"./uniq.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\n\nvar intersection =\n/*#__PURE__*/\n_curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n\n return uniq(_filter(flip(_includes)(lookupList), filteredList));\n});\n\nexport default intersection;","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n}","export default function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\n\nvar tail =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_checkForMethod('tail',\n/*#__PURE__*/\nslice(1, Infinity)));\n\nexport default tail;","import _arity from \"./internal/_arity.js\";\nimport _pipe from \"./internal/_pipe.js\";\nimport reduce from \"./reduce.js\";\nimport tail from \"./tail.js\";\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\n\nexport default function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n});\n\nexport default assoc;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport assoc from \"./assoc.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n\n var idx = path[0];\n\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\n\nexport default assocPath;","import _curry1 from \"./internal/_curry1.js\";\nimport assocPath from \"./assocPath.js\";\nimport lens from \"./lens.js\";\nimport path from \"./path.js\";\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\n\nvar lensPath =\n/*#__PURE__*/\n_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\n\nexport default lensPath;","import type { ITheme } from '../../Styling';\nimport type { IStackProps } from './Stack.types';\n\n// Helper function that converts a themed spacing key (if given) to the corresponding themed spacing value.\nconst _getThemedSpacing = (space: string, theme: ITheme): string => {\n if (theme.spacing.hasOwnProperty(space)) {\n return theme.spacing[space as keyof typeof theme.spacing];\n }\n return space;\n};\n\n// Helper function that takes a gap as a string and converts it into a { value, unit } representation.\nconst _getValueUnitGap = (gap: string): { value: number; unit: string } => {\n const numericalPart = parseFloat(gap);\n const numericalValue = isNaN(numericalPart) ? 0 : numericalPart;\n const numericalString = isNaN(numericalPart) ? '' : numericalPart.toString();\n\n const unitPart = gap.substring(numericalString.toString().length);\n\n return {\n value: numericalValue,\n unit: unitPart || 'px',\n };\n};\n\n/**\n * Takes in a gap size in either a CSS-style format (e.g. 10 or \"10px\")\n * or a key of a themed spacing value (e.g. \"s1\").\n * Returns the separate numerical value of the padding (e.g. 10)\n * and the CSS unit (e.g. \"px\").\n */\nexport const parseGap = (\n gap: IStackProps['gap'],\n theme: ITheme,\n): { rowGap: { value: number; unit: string }; columnGap: { value: number; unit: string } } => {\n if (gap === undefined || gap === '') {\n return {\n rowGap: {\n value: 0,\n unit: 'px',\n },\n columnGap: {\n value: 0,\n unit: 'px',\n },\n };\n }\n\n if (typeof gap === 'number') {\n return {\n rowGap: {\n value: gap,\n unit: 'px',\n },\n columnGap: {\n value: gap,\n unit: 'px',\n },\n };\n }\n\n const splitGap = gap.split(' ');\n\n // If the array has more than two values, then return 0px.\n if (splitGap.length > 2) {\n return {\n rowGap: {\n value: 0,\n unit: 'px',\n },\n columnGap: {\n value: 0,\n unit: 'px',\n },\n };\n }\n\n // If the array has two values, then parse each one.\n if (splitGap.length === 2) {\n return {\n rowGap: _getValueUnitGap(_getThemedSpacing(splitGap[0], theme)),\n columnGap: _getValueUnitGap(_getThemedSpacing(splitGap[1], theme)),\n };\n }\n\n // Else, parse the numerical value and pass it as both the vertical and horizontal gap.\n const calculatedGap = _getValueUnitGap(_getThemedSpacing(gap, theme));\n\n return {\n rowGap: calculatedGap,\n columnGap: calculatedGap,\n };\n};\n\n/**\n * Takes in a padding in a CSS-style format (e.g. 10, \"10px\", \"10px 10px\", etc.)\n * where the separate padding values can also be the key of a themed spacing value\n * (e.g. \"s1 m\", \"10px l1 20px l2\", etc.).\n * Returns a CSS-style padding.\n */\nexport const parsePadding = (padding: number | string | undefined, theme: ITheme): number | string | undefined => {\n if (padding === undefined || typeof padding === 'number' || padding === '') {\n return padding;\n }\n\n const paddingValues = padding.split(' ');\n if (paddingValues.length < 2) {\n return _getThemedSpacing(padding, theme);\n }\n\n return paddingValues.reduce((padding1: string, padding2: string) => {\n return _getThemedSpacing(padding1, theme) + ' ' + _getThemedSpacing(padding2, theme);\n });\n};\n","import { parseGap, parsePadding } from './StackUtils';\nimport { getGlobalClassNames } from '../../Styling';\nimport type { IStackComponent, IStackStyles, IStackStylesReturnType } from './Stack.types';\n\nconst nameMap: { [key: string]: string } = {\n start: 'flex-start',\n end: 'flex-end',\n};\n\nconst GlobalClassNames = {\n root: 'ms-Stack',\n inner: 'ms-Stack-inner',\n};\n\nexport const styles: IStackComponent['styles'] = (props, theme, tokens): IStackStylesReturnType => {\n const {\n verticalFill,\n horizontal,\n reversed,\n grow,\n wrap,\n horizontalAlign,\n verticalAlign,\n disableShrink,\n className,\n } = props;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n /* eslint-disable deprecation/deprecation */\n const childrenGap = tokens && tokens.childrenGap ? tokens.childrenGap : props.gap;\n const maxHeight = tokens && tokens.maxHeight ? tokens.maxHeight : props.maxHeight;\n const maxWidth = tokens && tokens.maxWidth ? tokens.maxWidth : props.maxWidth;\n const padding = tokens && tokens.padding ? tokens.padding : props.padding;\n /* eslint-enable deprecation/deprecation */\n\n const { rowGap, columnGap } = parseGap(childrenGap, theme);\n\n const horizontalMargin = `${-0.5 * columnGap.value}${columnGap.unit}`;\n const verticalMargin = `${-0.5 * rowGap.value}${rowGap.unit}`;\n\n // styles to be applied to all direct children regardless of wrap or direction\n const childStyles = {\n textOverflow: 'ellipsis',\n };\n\n // selectors to be applied regardless of wrap or direction\n const commonSelectors = {\n // flexShrink styles are applied by the StackItem\n '> *:not(.ms-StackItem)': {\n flexShrink: disableShrink ? 0 : 1,\n },\n };\n\n if (wrap) {\n return {\n root: [\n classNames.root,\n {\n flexWrap: 'wrap',\n maxWidth,\n maxHeight,\n width: 'auto',\n overflow: 'visible',\n height: '100%',\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n className,\n {\n // not allowed to be overridden by className\n // since this is necessary in order to prevent collapsing margins\n display: 'flex',\n },\n horizontal && {\n height: verticalFill ? '100%' : 'auto',\n },\n ],\n\n inner: [\n classNames.inner,\n {\n display: 'flex',\n flexWrap: 'wrap',\n marginLeft: horizontalMargin,\n marginRight: horizontalMargin,\n marginTop: verticalMargin,\n marginBottom: verticalMargin,\n overflow: 'visible',\n boxSizing: 'border-box',\n padding: parsePadding(padding, theme),\n // avoid unnecessary calc() calls if horizontal gap is 0\n width: columnGap.value === 0 ? '100%' : `calc(100% + ${columnGap.value}${columnGap.unit})`,\n maxWidth: '100vw',\n\n selectors: {\n '> *': {\n margin: `${0.5 * rowGap.value}${rowGap.unit} ${0.5 * columnGap.value}${columnGap.unit}`,\n\n ...childStyles,\n },\n ...commonSelectors,\n },\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n horizontal && {\n flexDirection: reversed ? 'row-reverse' : 'row',\n\n // avoid unnecessary calc() calls if vertical gap is 0\n height: rowGap.value === 0 ? '100%' : `calc(100% + ${rowGap.value}${rowGap.unit})`,\n\n selectors: {\n '> *': {\n maxWidth: columnGap.value === 0 ? '100%' : `calc(100% - ${columnGap.value}${columnGap.unit})`,\n },\n },\n },\n !horizontal && {\n flexDirection: reversed ? 'column-reverse' : 'column',\n height: `calc(100% + ${rowGap.value}${rowGap.unit})`,\n\n selectors: {\n '> *': {\n maxHeight: rowGap.value === 0 ? '100%' : `calc(100% - ${rowGap.value}${rowGap.unit})`,\n },\n },\n },\n ],\n } as IStackStyles;\n }\n\n return {\n root: [\n classNames.root,\n {\n display: 'flex',\n flexDirection: horizontal ? (reversed ? 'row-reverse' : 'row') : reversed ? 'column-reverse' : 'column',\n flexWrap: 'nowrap',\n width: 'auto',\n height: verticalFill ? '100%' : 'auto',\n maxWidth,\n maxHeight,\n padding: parsePadding(padding, theme),\n boxSizing: 'border-box',\n\n selectors: {\n '> *': childStyles,\n\n // apply gap margin to every direct child except the first direct child if the direction is not reversed,\n // and the last direct one if it is\n [reversed ? '> *:not(:last-child)' : '> *:not(:first-child)']: [\n horizontal && {\n marginLeft: `${columnGap.value}${columnGap.unit}`,\n },\n !horizontal && {\n marginTop: `${rowGap.value}${rowGap.unit}`,\n },\n ],\n\n ...commonSelectors,\n },\n },\n grow && {\n flexGrow: grow === true ? 1 : grow,\n },\n horizontalAlign && {\n [horizontal ? 'justifyContent' : 'alignItems']: nameMap[horizontalAlign] || horizontalAlign,\n },\n verticalAlign && {\n [horizontal ? 'alignItems' : 'justifyContent']: nameMap[verticalAlign] || verticalAlign,\n },\n className,\n ],\n // TODO: this cast may be hiding some potential issues with styling and name\n // lookups and should be removed\n } as IStackStyles;\n};\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { withSlots, createComponent, getSlots } from '@fluentui/foundation-legacy';\nimport { getNativeProps, htmlElementProperties, warnDeprecations } from '../../Utilities';\nimport { styles } from './Stack.styles';\nimport { StackItem } from './StackItem/StackItem';\nimport type { IStackComponent, IStackProps, IStackSlots } from './Stack.types';\nimport type { IStackItemProps } from './StackItem/StackItem.types';\n\nconst StackView: IStackComponent['view'] = props => {\n const { as: RootType = 'div', disableShrink, wrap, ...rest } = props;\n\n warnDeprecations('Stack', props, {\n gap: 'tokens.childrenGap',\n maxHeight: 'tokens.maxHeight',\n maxWidth: 'tokens.maxWidth',\n padding: 'tokens.padding',\n });\n\n const stackChildren: (React.ReactChild | null)[] | null | undefined = React.Children.map(\n props.children,\n (child: React.ReactElement, index: number) => {\n if (!child) {\n return null;\n }\n\n if (_isStackItem(child)) {\n const defaultItemProps: IStackItemProps = {\n shrink: !disableShrink,\n };\n\n return React.cloneElement(child, {\n ...defaultItemProps,\n ...child.props,\n });\n }\n\n return child;\n },\n );\n\n const nativeProps = getNativeProps>(rest, htmlElementProperties);\n\n const Slots = getSlots(props, {\n root: RootType,\n inner: 'div',\n });\n\n if (wrap) {\n return (\n \n {stackChildren}\n \n );\n }\n\n return {stackChildren};\n};\n\nfunction _isStackItem(item: React.ReactNode): item is typeof StackItem {\n // In theory, we should be able to just check item.type === StackItem.\n // However, under certain unclear circumstances (see https://github.com/microsoft/fluentui/issues/10785),\n // the object identity is different despite the function implementation being the same.\n return (\n !!item &&\n typeof item === 'object' &&\n !!(item as React.ReactElement).type &&\n // StackItem is generated by createComponent, so we need to check its displayName instead of name\n ((item as React.ReactElement).type as React.ComponentType).displayName === StackItem.displayName\n );\n}\n\nconst StackStatics = {\n Item: StackItem,\n};\n\nexport const Stack: React.FunctionComponent & {\n Item: React.FunctionComponent;\n} = createComponent(StackView, {\n displayName: 'Stack',\n styles,\n statics: StackStatics,\n});\n\nexport default Stack;\n","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n\nexport default mergeWithKey;","import _curry3 from \"./internal/_curry3.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWithKey =\n/*#__PURE__*/\n_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\n\nexport default mergeDeepWithKey;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\n\nvar mergeDeepRight =\n/*#__PURE__*/\n_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\n\nexport default mergeDeepRight;","import * as React from 'react';\nimport { ActionButton } from '../../Button';\nimport { buttonStyles } from './Nav.styles';\nimport { classNamesFunction, divProperties, getNativeProps, getWindow, initializeComponentRef } from '../../Utilities';\nimport { FocusZone, FocusZoneDirection } from '../../FocusZone';\nimport { Icon } from '../../Icon';\nimport { composeComponentAs, composeRenderFunction } from '@fluentui/utilities';\nimport type { IFocusZone } from '../../FocusZone';\nimport type {\n INav,\n INavLink,\n INavLinkGroup,\n INavProps,\n INavStyleProps,\n INavStyles,\n IRenderGroupHeaderProps,\n} from './Nav.types';\n\n// The number pixels per indentation level for Nav links.\nconst _indentationSize = 14;\n\n// The number of pixels of left margin\nconst _baseIndent = 3;\n\n// global var used in _isLinkSelectedKey\nlet _urlResolver: HTMLAnchorElement | undefined;\n\nexport function isRelativeUrl(url: string): boolean {\n // A URL is relative if it has no protocol.\n return !!url && !/^[a-z0-9+-.]+:\\/\\//i.test(url);\n}\n\nconst getClassNames = classNamesFunction();\n\nexport interface INavState {\n isGroupCollapsed: { [key: string]: boolean };\n isLinkExpandStateChanged?: boolean;\n selectedKey?: string;\n}\n\nexport class NavBase extends React.Component implements INav {\n public static defaultProps: INavProps = {\n groups: null,\n };\n\n private _focusZone = React.createRef();\n constructor(props: INavProps) {\n super(props);\n initializeComponentRef(this);\n this.state = {\n isGroupCollapsed: {},\n // TODO: consider removing\n // eslint-disable-next-line react/no-unused-state\n isLinkExpandStateChanged: false,\n selectedKey: props.initialSelectedKey || props.selectedKey,\n };\n }\n\n public render(): JSX.Element | null {\n const { styles, groups, className, isOnTop, theme } = this.props;\n\n if (!groups) {\n return null;\n }\n\n const groupElements: React.ReactElement<{}>[] = groups.map(this._renderGroup);\n\n const classNames = getClassNames(styles!, { theme: theme!, className, isOnTop, groups });\n\n return (\n \n \n \n );\n }\n\n public get selectedKey(): string | undefined {\n return this.state.selectedKey;\n }\n\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even\n * if focus is already in the focus zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n public focus(forceIntoFirstElement: boolean = false): boolean {\n if (this._focusZone && this._focusZone.current) {\n return this._focusZone.current.focus(forceIntoFirstElement);\n }\n return false;\n }\n\n private _onRenderLink = (link: INavLink): JSX.Element => {\n const { styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, { theme: theme!, groups });\n return
    {link.name}
    ;\n };\n\n private _renderNavLink(link: INavLink, linkIndex: number, nestingLevel: number): JSX.Element {\n const { styles, groups, theme } = this.props;\n const isLinkWithIcon = link.icon || link.iconProps;\n const isSelectedLink = this._isLinkSelected(link);\n const { ariaCurrent = 'page' } = link;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isSelected: isSelectedLink,\n isDisabled: link.disabled,\n isButtonEntry: link.onClick && !link.forceAnchor,\n leftPadding: _indentationSize * nestingLevel + _baseIndent + (isLinkWithIcon ? 0 : 24),\n groups,\n });\n\n // Prevent hijacking of the parent window if link.target is defined\n const rel = link.url && link.target && !isRelativeUrl(link.url) ? 'noopener noreferrer' : undefined;\n\n const LinkAs = this.props.linkAs ? composeComponentAs(this.props.linkAs, ActionButton) : ActionButton;\n const onRenderLink = this.props.onRenderLink\n ? composeRenderFunction(this.props.onRenderLink, this._onRenderLink)\n : this._onRenderLink;\n\n return (\n \n {onRenderLink(link)}\n \n );\n }\n\n private _renderCompositeLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\n const divProps: React.HTMLProps = { ...getNativeProps(link, divProperties, ['onClick']) };\n // eslint-disable-next-line deprecation/deprecation\n const { expandButtonAriaLabel, styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isExpanded: !!link.isExpanded,\n isSelected: this._isLinkSelected(link),\n isLink: true,\n isDisabled: link.disabled,\n position: _indentationSize * nestingLevel + 1,\n groups,\n });\n\n let finalExpandBtnAriaLabel = '';\n if (link.links && link.links.length > 0) {\n if (link.collapseAriaLabel || link.expandAriaLabel) {\n finalExpandBtnAriaLabel = link.isExpanded ? link.collapseAriaLabel! : link.expandAriaLabel!;\n } else {\n // TODO remove when `expandButtonAriaLabel` is removed. This is not an ideal concatenation for localization.\n finalExpandBtnAriaLabel = expandButtonAriaLabel ? `${link.name} ${expandButtonAriaLabel}` : link.name;\n }\n }\n\n return (\n
    \n {link.links && link.links.length > 0 ? (\n \n \n \n ) : null}\n {this._renderNavLink(link, linkIndex, nestingLevel)}\n
    \n );\n }\n\n private _renderLink(link: INavLink, linkIndex: number, nestingLevel: number): React.ReactElement<{}> {\n const { styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, { theme: theme!, groups });\n\n return (\n
  • \n {this._renderCompositeLink(link, linkIndex, nestingLevel)}\n {link.isExpanded ? this._renderLinks(link.links, ++nestingLevel) : null}\n
  • \n );\n }\n\n private _renderLinks(links: INavLink[] | undefined, nestingLevel: number): React.ReactElement<{}> | null {\n if (!links || !links.length) {\n return null;\n }\n const linkElements: React.ReactElement<{}>[] = links.map((link: INavLink, linkIndex: number) =>\n this._renderLink(link, linkIndex, nestingLevel),\n );\n\n const { styles, groups, theme } = this.props;\n const classNames = getClassNames(styles!, { theme: theme!, groups });\n\n return (\n
      \n {linkElements}\n
    \n );\n }\n\n private _renderGroup = (group: INavLinkGroup, groupIndex: number): React.ReactElement<{}> => {\n const { styles, groups, theme, onRenderGroupHeader = this._renderGroupHeader } = this.props;\n\n const isExpanded = this._isGroupExpanded(group);\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isGroup: true,\n isExpanded,\n groups,\n });\n\n const finalOnHeaderClick = (\n ev?: React.MouseEvent | undefined,\n isCollapsing?: boolean | undefined,\n ) => {\n this._onGroupHeaderClicked(group, ev);\n };\n\n const groupProps: IRenderGroupHeaderProps = {\n ...group,\n isExpanded,\n onHeaderClick: finalOnHeaderClick,\n };\n\n return (\n
    \n {groupProps.name ? onRenderGroupHeader(groupProps, this._renderGroupHeader) : null}\n
    {this._renderLinks(groupProps.links, 0 /* nestingLevel */)}
    \n
    \n );\n };\n\n private _renderGroupHeader = (group: IRenderGroupHeaderProps): React.ReactElement<{}> => {\n // eslint-disable-next-line deprecation/deprecation\n const { styles, groups, theme, expandButtonAriaLabel } = this.props;\n\n const { isExpanded } = group;\n\n const classNames = getClassNames(styles!, {\n theme: theme!,\n isGroup: true,\n isExpanded,\n groups,\n });\n\n const label = (isExpanded ? group.collapseAriaLabel : group.expandAriaLabel) || expandButtonAriaLabel;\n\n const { onHeaderClick } = group;\n\n const onClick = onHeaderClick\n ? (ev?: React.MouseEvent | undefined) => {\n onHeaderClick(ev, isExpanded);\n }\n : undefined;\n\n return (\n \n );\n };\n\n private _onGroupHeaderClicked(group: INavLinkGroup, ev?: React.MouseEvent): void {\n if (group.onHeaderClick) {\n group.onHeaderClick(ev, this._isGroupExpanded(group));\n }\n\n this._toggleCollapsed(group);\n\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n }\n\n private _onLinkExpandClicked(link: INavLink, ev: React.MouseEvent): void {\n const { onLinkExpandClick } = this.props;\n\n if (onLinkExpandClick) {\n onLinkExpandClick(ev, link);\n }\n\n if (!ev.defaultPrevented) {\n link.isExpanded = !link.isExpanded;\n // eslint-disable-next-line react/no-unused-state\n this.setState({ isLinkExpandStateChanged: true });\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n private _preventBounce(link: INavLink, ev: React.MouseEvent): void {\n if (!link.url && link.forceAnchor) {\n ev.preventDefault();\n }\n }\n\n private _onNavAnchorLinkClicked(link: INavLink, ev: React.MouseEvent): void {\n // If the href is \"#\" we should call preventDefault to prevent scrolling to the top of the page\n this._preventBounce(link, ev);\n\n if (this.props.onLinkClick) {\n this.props.onLinkClick(ev, link);\n }\n if (!link.url && link.links && link.links.length > 0) {\n this._onLinkExpandClicked(link, ev);\n }\n\n this.setState({ selectedKey: link.key });\n }\n\n private _onNavButtonLinkClicked(link: INavLink, ev: React.MouseEvent): void {\n // If the href is \"#\" we should call preventDefault to prevent scrolling to the top of the page\n this._preventBounce(link, ev);\n\n if (link.onClick) {\n link.onClick(ev, link);\n }\n if (!link.url && link.links && link.links.length > 0) {\n this._onLinkExpandClicked(link, ev);\n }\n\n this.setState({ selectedKey: link.key });\n }\n\n private _isLinkSelected(link: INavLink): boolean {\n // if caller passes in selectedKey, use it as first choice or\n // if current state.selectedKey (from addressbar) is match to the link or\n // check if URL is matching location.href (if link.url exists)\n if (this.props.selectedKey !== undefined) {\n return link.key === this.props.selectedKey;\n } else if (this.state.selectedKey !== undefined) {\n return link.key === this.state.selectedKey;\n } else if (typeof getWindow() === 'undefined' || !link.url) {\n // resolve is not supported for ssr\n return false;\n } else {\n // If selectedKey is undefined in props and state, then check URL\n _urlResolver = _urlResolver || document.createElement('a');\n\n _urlResolver.href = link.url || '';\n const target: string = _urlResolver.href;\n\n if (location.href === target) {\n return true;\n }\n\n // If selectedKey is not defined in state, then check URL to determine link selected status\n if (location.protocol + '//' + location.host + location.pathname === target) {\n return true;\n }\n\n if (location.hash) {\n // Match the hash to the url.\n if (location.hash === link.url) {\n return true;\n }\n\n // Match a rebased url. (e.g. #foo becomes http://hostname/foo)\n _urlResolver.href = location.hash.substring(1);\n\n return _urlResolver.href === target;\n }\n }\n\n return false;\n }\n\n private _isGroupExpanded(group: INavLinkGroup): boolean {\n if (group.name && this.state.isGroupCollapsed.hasOwnProperty(group.name)) {\n return !this.state.isGroupCollapsed[group.name];\n }\n if (group.collapseByDefault !== undefined) {\n return !group.collapseByDefault;\n }\n return true;\n }\n\n private _toggleCollapsed(group: INavLinkGroup): void {\n if (group.name) {\n const newGroupCollapsed = {\n ...this.state.isGroupCollapsed, // Make a copy in order to not modify state\n [group.name]: this._isGroupExpanded(group), // sic - presently open will be collapsed after setState\n };\n this.setState({ isGroupCollapsed: newGroupCollapsed });\n }\n }\n}\n","import {\n AnimationClassNames,\n getFocusStyle,\n ZIndexes,\n getGlobalClassNames,\n HighContrastSelector,\n FontWeights,\n} from '../../Styling';\nimport type { INavStyleProps, INavStyles } from './Nav.types';\nimport type { IButtonStyles } from '../../Button';\n\nconst GlobalClassNames = {\n root: 'ms-Nav',\n linkText: 'ms-Nav-linkText',\n compositeLink: 'ms-Nav-compositeLink',\n link: 'ms-Nav-link',\n chevronButton: 'ms-Nav-chevronButton',\n chevronIcon: 'ms-Nav-chevron',\n navItem: 'ms-Nav-navItem',\n navItems: 'ms-Nav-navItems',\n group: 'ms-Nav-group',\n groupContent: 'ms-Nav-groupContent',\n};\n\nexport const buttonStyles: IButtonStyles = {\n textContainer: {\n overflow: 'hidden',\n },\n label: {\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n },\n};\n\nexport const getStyles = (props: INavStyleProps): INavStyles => {\n const {\n className,\n theme,\n isOnTop,\n isExpanded,\n isGroup,\n isLink,\n isSelected,\n isDisabled,\n isButtonEntry,\n navHeight = 44,\n position,\n leftPadding = 20,\n leftPaddingExpanded = 28,\n rightPadding = 20,\n } = props;\n\n const { palette, semanticColors, fonts } = theme;\n\n const classNames = getGlobalClassNames(GlobalClassNames, theme);\n\n return {\n root: [\n classNames.root,\n className,\n fonts.medium,\n {\n overflowY: 'auto',\n userSelect: 'none',\n WebkitOverflowScrolling: 'touch',\n },\n isOnTop && [\n {\n position: 'absolute',\n },\n AnimationClassNames.slideRightIn40,\n ],\n ],\n linkText: [\n classNames.linkText,\n {\n margin: '0 4px',\n overflow: 'hidden',\n verticalAlign: 'middle',\n textAlign: 'left',\n textOverflow: 'ellipsis',\n },\n ],\n compositeLink: [\n classNames.compositeLink,\n {\n display: 'block',\n position: 'relative',\n color: semanticColors.bodyText,\n },\n isExpanded && 'is-expanded',\n isSelected && 'is-selected',\n isDisabled && 'is-disabled',\n isDisabled && {\n color: semanticColors.disabledText,\n },\n ],\n link: [\n classNames.link,\n getFocusStyle(theme),\n {\n display: 'block',\n position: 'relative',\n height: navHeight,\n width: '100%',\n lineHeight: `${navHeight}px`,\n textDecoration: 'none',\n cursor: 'pointer',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n paddingLeft: leftPadding,\n paddingRight: rightPadding,\n color: semanticColors.bodyText,\n selectors: {\n [HighContrastSelector]: {\n border: 0,\n selectors: {\n ':focus': {\n border: '1px solid WindowText',\n },\n },\n },\n },\n },\n !isDisabled && {\n selectors: {\n '.ms-Nav-compositeLink:hover &': {\n backgroundColor: semanticColors.bodyBackgroundHovered,\n },\n },\n },\n isSelected && {\n color: semanticColors.bodyTextChecked,\n fontWeight: FontWeights.semibold, // todo: get from theme\n backgroundColor: semanticColors.bodyBackgroundChecked,\n selectors: {\n '&:after': {\n borderLeft: `2px solid ${palette.themePrimary}`,\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n },\n },\n },\n isDisabled && {\n color: semanticColors.disabledText,\n },\n isButtonEntry && {\n color: palette.themePrimary,\n },\n ],\n chevronButton: [\n classNames.chevronButton,\n getFocusStyle(theme),\n fonts.small,\n {\n display: 'block',\n textAlign: 'left',\n lineHeight: `${navHeight}px`,\n margin: '5px 0',\n padding: `0px, ${rightPadding}px, 0px, ${leftPaddingExpanded}px`,\n border: 'none',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n cursor: 'pointer',\n color: semanticColors.bodyText,\n backgroundColor: 'transparent',\n selectors: {\n '&:visited': {\n color: semanticColors.bodyText,\n },\n },\n },\n isGroup && {\n fontSize: fonts.large.fontSize,\n width: '100%',\n height: navHeight,\n borderBottom: `1px solid ${semanticColors.bodyDivider}`,\n },\n isLink && {\n display: 'block',\n width: leftPaddingExpanded - 2,\n height: navHeight - 2,\n position: 'absolute',\n top: '1px',\n left: `${position}px`,\n zIndex: ZIndexes.Nav,\n padding: 0,\n margin: 0,\n },\n isSelected && {\n color: palette.themePrimary,\n backgroundColor: palette.neutralLighterAlt,\n selectors: {\n '&:after': {\n borderLeft: `2px solid ${palette.themePrimary}`,\n content: '\"\"',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n pointerEvents: 'none',\n },\n },\n },\n ],\n chevronIcon: [\n classNames.chevronIcon,\n {\n position: 'absolute',\n left: '8px',\n height: navHeight,\n // inline-flex prevents the chevron from shifting with custom line height styles\n display: 'inline-flex',\n alignItems: 'center',\n lineHeight: `${navHeight}px`,\n fontSize: fonts.small.fontSize,\n transition: 'transform .1s linear',\n },\n isExpanded && {\n transform: 'rotate(-180deg)',\n },\n isLink && {\n top: 0,\n },\n ],\n navItem: [\n classNames.navItem,\n {\n padding: 0,\n },\n ],\n navItems: [\n classNames.navItems,\n {\n listStyleType: 'none',\n padding: 0,\n margin: 0, // remove default
      styles\n },\n ],\n group: [classNames.group, isExpanded && 'is-expanded'],\n groupContent: [\n classNames.groupContent,\n {\n display: 'none',\n marginBottom: '40px',\n },\n AnimationClassNames.slideDownIn20,\n isExpanded && {\n display: 'block',\n },\n ],\n };\n};\n","import * as React from 'react';\nimport { styled } from '../../Utilities';\nimport { NavBase } from './Nav.base';\nimport { getStyles } from './Nav.styles';\nimport type { INavProps, INavStyleProps, INavStyles } from './Nav.types';\n\nexport const Nav: React.FunctionComponent = styled(\n NavBase,\n getStyles,\n undefined,\n {\n scope: 'Nav',\n },\n);\n","import { KTP_SEPARATOR, KTP_PREFIX, DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET, KTP_LAYER_ID } from './KeytipConstants';\nimport { addElementAtIndex } from '../../Utilities';\n\n/**\n * Converts a whole set of KeySequences into one keytip ID, which will be the ID for the last keytip sequence specified\n * keySequences should not include the initial keytip 'start' sequence.\n *\n * @param keySequences - Full path of IKeySequences for one keytip.\n * @returns String to use for the keytip ID.\n */\nexport function sequencesToID(keySequences: string[]): string {\n return keySequences.reduce((prevValue: string, keySequence: string): string => {\n return prevValue + KTP_SEPARATOR + keySequence.split('').join(KTP_SEPARATOR);\n }, KTP_PREFIX);\n}\n\n/**\n * Merges an overflow sequence with a key sequence.\n *\n * @param keySequences - Full sequence for one keytip.\n * @param overflowKeySequences - Full overflow keytip sequence.\n * @returns Sequence that will be used by the keytip when in the overflow.\n */\nexport function mergeOverflows(keySequences: string[], overflowKeySequences: string[]): string[] {\n const overflowSequenceLen = overflowKeySequences.length;\n const overflowSequence = [...overflowKeySequences].pop();\n const newKeySequences = [...keySequences];\n return addElementAtIndex(newKeySequences, overflowSequenceLen - 1, overflowSequence!);\n}\n\n/**\n * Constructs the data-ktp-target attribute selector from a full key sequence.\n *\n * @param keySequences - Full string[] for a Keytip.\n * @returns String selector to use to query for the keytip target.\n */\nexport function ktpTargetFromSequences(keySequences: string[]): string {\n return '[' + DATAKTP_TARGET + '=\"' + sequencesToID(keySequences) + '\"]';\n}\n\n/**\n * Constructs the data-ktp-execute-target attribute selector from a keytip ID.\n *\n * @param keytipId - ID of the Keytip.\n * @returns String selector to use to query for the keytip execute target.\n */\nexport function ktpTargetFromId(keytipId: string): string {\n return '[' + DATAKTP_EXECUTE_TARGET + '=\"' + keytipId + '\"]';\n}\n\n/**\n * Gets the aria-describedby value to put on the component with this keytip.\n *\n * @param keySequences - KeySequences of the keytip.\n * @returns The aria-describedby value to set on the component with this keytip.\n */\nexport function getAriaDescribedBy(keySequences: string[]): string {\n const describedby = ' ' + KTP_LAYER_ID;\n if (!keySequences.length) {\n // Return just the layer ID\n return describedby;\n }\n\n return describedby + ' ' + sequencesToID(keySequences);\n}\n","import * as React from 'react';\nimport { useConst, usePrevious } from '@fluentui/react-hooks';\nimport { mergeAriaAttributeValues } from '../../Utilities';\nimport { KeytipManager, mergeOverflows, sequencesToID, getAriaDescribedBy } from '../../utilities/keytips/index';\nimport type { KeytipDataOptions } from './KeytipData.types';\nimport type { IKeytipProps } from '../../Keytip';\n\nexport interface IKeytipData {\n ariaDescribedBy: string | undefined;\n keytipId: string | undefined;\n}\n\n/**\n * Hook that creates attributes for components which are enabled with Keytip.\n */\nexport function useKeytipData(options: KeytipDataOptions): IKeytipData {\n const uniqueId = React.useRef();\n const keytipProps: IKeytipProps | undefined = options.keytipProps\n ? {\n disabled: options.disabled,\n ...options.keytipProps,\n }\n : undefined;\n\n const keytipManager = useConst(KeytipManager.getInstance());\n const prevOptions = usePrevious(options);\n\n // useLayoutEffect used to strictly emulate didUpdate/didMount behavior\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(() => {\n if (\n uniqueId.current &&\n keytipProps &&\n (prevOptions?.keytipProps !== options.keytipProps || prevOptions?.disabled !== options.disabled)\n ) {\n keytipManager.update(keytipProps, uniqueId.current);\n }\n });\n\n // eslint-disable-next-line no-restricted-properties\n React.useLayoutEffect(() => {\n // Register Keytip in KeytipManager\n if (keytipProps) {\n uniqueId.current = keytipManager.register(keytipProps);\n }\n\n return () => {\n // Unregister Keytip in KeytipManager\n keytipProps && keytipManager.unregister(keytipProps, uniqueId.current!);\n };\n // this is meant to run only at mount, and updates are handled separately\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n let nativeKeytipProps: IKeytipData = {\n ariaDescribedBy: undefined,\n keytipId: undefined,\n };\n\n if (keytipProps) {\n nativeKeytipProps = getKeytipData(keytipManager, keytipProps, options.ariaDescribedBy);\n }\n\n return nativeKeytipProps;\n}\n\n/**\n * Gets the aria- and data- attributes to attach to the component\n * @param keytipProps - options for Keytip\n * @param describedByPrepend - ariaDescribedBy value to prepend\n */\nfunction getKeytipData(\n keytipManager: KeytipManager,\n keytipProps: IKeytipProps,\n describedByPrepend?: string,\n): IKeytipData {\n // Add the parent overflow sequence if necessary\n const newKeytipProps = keytipManager.addParentOverflow(keytipProps);\n\n // Construct aria-describedby and data-ktp-id attributes\n const ariaDescribedBy = mergeAriaAttributeValues(\n describedByPrepend,\n getAriaDescribedBy(newKeytipProps.keySequences),\n )!;\n\n let keySequences = [...newKeytipProps.keySequences];\n if (newKeytipProps.overflowSetSequence) {\n keySequences = mergeOverflows(keySequences, newKeytipProps.overflowSetSequence);\n }\n const keytipId = sequencesToID(keySequences);\n\n return {\n ariaDescribedBy,\n keytipId,\n };\n}\n","import * as React from 'react';\nimport { DATAKTP_TARGET, DATAKTP_EXECUTE_TARGET } from '../../utilities/keytips/index';\nimport { useKeytipData } from './useKeytipData';\nimport type { IRenderComponent } from '../../Utilities';\nimport type { IKeytipDataProps } from './KeytipData.types';\n\n/**\n * A small element to help the target component correctly read out its aria-describedby for its Keytip\n * {@docCategory Keytips}\n */\nexport const KeytipData: React.FunctionComponent> = props => {\n const { children, ...keytipDataProps } = props;\n const { keytipId, ariaDescribedBy } = useKeytipData(keytipDataProps);\n\n return children({\n [DATAKTP_TARGET]: keytipId,\n [DATAKTP_EXECUTE_TARGET]: keytipId,\n 'aria-describedby': ariaDescribedBy,\n });\n};\n","import _curry1 from \"./internal/_curry1.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `.empty`,\n * `.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\n\nvar empty =\n/*#__PURE__*/\n_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : void 0 // else\n ;\n});\n\nexport default empty;","import _curry1 from \"./internal/_curry1.js\";\nimport empty from \"./empty.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\n\nvar isEmpty =\n/*#__PURE__*/\n_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n\nexport default isEmpty;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n\nexport default defaultTo;","import _curry3 from \"./internal/_curry3.js\";\nimport defaultTo from \"./defaultTo.js\";\nimport path from \"./path.js\";\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\n\nvar pathOr =\n/*#__PURE__*/\n_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n\nexport default pathOr;","import { KeyCodes } from './KeyCodes';\n\nconst DirectionalKeyCodes: { [key: number]: number } = {\n [KeyCodes.up]: 1,\n [KeyCodes.down]: 1,\n [KeyCodes.left]: 1,\n [KeyCodes.right]: 1,\n [KeyCodes.home]: 1,\n [KeyCodes.end]: 1,\n [KeyCodes.tab]: 1,\n [KeyCodes.pageUp]: 1,\n [KeyCodes.pageDown]: 1,\n};\n\n/**\n * Returns true if the keycode is a directional keyboard key.\n */\nexport function isDirectionalKeyCode(which: number): boolean {\n return !!DirectionalKeyCodes[which];\n}\n\n/**\n * Adds a keycode to the list of keys that, when pressed, should cause the focus outlines to be visible.\n * This can be used to add global shortcut keys that directionally move from section to section within\n * an app or between focus trap zones.\n */\nexport function addDirectionalKeyCode(which: number): void {\n DirectionalKeyCodes[which] = 1;\n}\n","import * as React from 'react';\nimport { getWindow } from './dom/getWindow';\nimport { isDirectionalKeyCode } from './keyboard';\nimport { setFocusVisibility } from './setFocusVisibility';\n\n/**\n * Counter for mounted component that uses focus rectangle.\n * We want to cleanup the listners before last component that uses focus rectangle unmounts.\n */\nlet mountCounters = new WeakMap();\n\nfunction setMountCounters(key: Window, delta: number): number {\n let newValue;\n const currValue = mountCounters.get(key);\n if (currValue) {\n newValue = currValue + delta;\n } else {\n newValue = 1;\n }\n\n mountCounters.set(key, newValue);\n return newValue;\n}\n\ntype AppWindow = (Window & { FabricConfig?: { disableFocusRects?: boolean } }) | undefined;\n\n/**\n * Initializes the logic which:\n *\n * 1. Subscribes keydown and mousedown events. (It will only do it once per window,\n * so it's safe to call this method multiple times.)\n * 2. When the user presses directional keyboard keys, adds the 'ms-Fabric--isFocusVisible' classname\n * to the document body, removes the 'ms-Fabric-isFocusHidden' classname.\n * 3. When the user clicks a mouse button, adds the 'ms-Fabric-isFocusHidden' classname to the\n * document body, removes the 'ms-Fabric--isFocusVisible' classname.\n *\n * This logic allows components on the page to conditionally render focus treatments based on\n * the existence of global classnames, which simplifies logic overall.\n *\n * @param rootRef - A Ref object. Focus rectangle can be applied on itself and all its children.\n */\nexport function useFocusRects(rootRef?: React.RefObject): void {\n React.useEffect(() => {\n const win = getWindow(rootRef?.current) as AppWindow;\n\n if (!win || win.FabricConfig?.disableFocusRects === true) {\n return undefined;\n }\n\n let count = setMountCounters(win, 1);\n if (count <= 1) {\n win.addEventListener('mousedown', _onMouseDown, true);\n win.addEventListener('pointerdown', _onPointerDown, true);\n win.addEventListener('keydown', _onKeyDown, true);\n }\n\n return () => {\n if (!win || win.FabricConfig?.disableFocusRects === true) {\n return;\n }\n\n count = setMountCounters(win, -1);\n if (count === 0) {\n win.removeEventListener('mousedown', _onMouseDown, true);\n win.removeEventListener('pointerdown', _onPointerDown, true);\n win.removeEventListener('keydown', _onKeyDown, true);\n }\n };\n }, [rootRef]);\n}\n\n/**\n * Function Component wrapper which enables calling `useFocusRects` hook.\n * Renders nothing.\n */\nexport const FocusRects: React.FunctionComponent<{ rootRef?: React.RefObject }> = props => {\n useFocusRects(props.rootRef);\n return null;\n};\n\nfunction _onMouseDown(ev: MouseEvent): void {\n setFocusVisibility(false, ev.target as Element);\n}\n\nfunction _onPointerDown(ev: PointerEvent): void {\n if (ev.pointerType !== 'mouse') {\n setFocusVisibility(false, ev.target as Element);\n }\n}\n\nfunction _onKeyDown(ev: KeyboardEvent): void {\n // eslint-disable-next-line deprecation/deprecation\n if (isDirectionalKeyCode(ev.which)) {\n setFocusVisibility(true, ev.target as Element);\n }\n}\n","import * as React from 'react';\nimport { Async } from './Async';\nimport { EventGroup } from './EventGroup';\nimport { warnConditionallyRequiredProps } from './warn/warnConditionallyRequiredProps';\nimport { warnMutuallyExclusive } from './warn/warnMutuallyExclusive';\nimport { warnDeprecations } from './warn/warnDeprecations';\nimport type { IDisposable } from './IDisposable';\nimport type { ISettingsMap } from './warn/warn';\nimport type { IRefObject } from './createRef';\nimport type { IBaseProps } from './BaseComponent.types';\n\n/**\n * BaseComponent class, which provides basic helpers for all components.\n *\n * @public\n * {@docCategory BaseComponent}\n *\n * @deprecated Do not use. We are moving away from class component.\n */\nexport class BaseComponent extends React.Component {\n /**\n * @deprecated Use React's error boundaries instead.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public static onError: (errorMessage?: string, ex?: any) => void;\n\n /**\n * Controls whether the componentRef prop will be resolved by this component instance. If you are\n * implementing a passthrough (higher-order component), you would set this to false and pass through\n * the props to the inner component, allowing it to resolve the componentRef.\n */\n protected _skipComponentRefResolution!: boolean;\n\n private __async!: Async;\n private __events!: EventGroup;\n private __disposables!: IDisposable[] | null;\n private __resolves!: { [name: string]: (ref: React.ReactNode) => React.ReactNode };\n private __className!: string;\n\n /**\n * BaseComponent constructor\n * @param props - The props for the component.\n * @param context - The context for the component.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(props: TProps, context?: any) {\n super(props, context);\n\n // eslint-disable-next-line deprecation/deprecation\n _makeAllSafe(this, BaseComponent.prototype, [\n 'componentDidMount',\n 'shouldComponentUpdate',\n 'getSnapshotBeforeUpdate',\n 'render',\n 'componentDidUpdate',\n 'componentWillUnmount',\n ]);\n }\n\n /**\n * When the component receives props, make sure the componentRef is updated.\n */\n public componentDidUpdate(prevProps: TProps, prevState: TState): void {\n this._updateComponentRef(prevProps, this.props);\n }\n\n /**\n * When the component has mounted, update the componentRef.\n */\n public componentDidMount(): void {\n this._setComponentRef(this.props.componentRef, this);\n }\n\n /**\n * If we have disposables, dispose them automatically on unmount.\n */\n public componentWillUnmount(): void {\n this._setComponentRef(this.props.componentRef, null);\n\n if (this.__disposables) {\n for (let i = 0, len = this._disposables.length; i < len; i++) {\n let disposable = this.__disposables[i];\n\n if (disposable.dispose) {\n disposable.dispose();\n }\n }\n this.__disposables = null;\n }\n }\n\n /**\n * Gets the object's class name.\n */\n public get className(): string {\n if (!this.__className) {\n let funcNameRegex = /function (.{1,})\\(/;\n let results = funcNameRegex.exec(this.constructor.toString());\n\n this.__className = results && results.length > 1 ? results[1] : '';\n }\n\n return this.__className;\n }\n\n /**\n * Allows subclasses to push things to this._disposables to be auto disposed.\n */\n protected get _disposables(): IDisposable[] {\n if (!this.__disposables) {\n this.__disposables = [];\n }\n return this.__disposables;\n }\n\n /**\n * Gets the async instance associated with the component, created on demand. The async instance gives\n * subclasses a way to execute setTimeout/setInterval async calls safely, where the callbacks\n * will be cleared/ignored automatically after unmounting. The helpers within the async object also\n * preserve the this pointer so that you don't need to \"bind\" the callbacks.\n */\n protected get _async(): Async {\n if (!this.__async) {\n this.__async = new Async(this);\n this._disposables.push(this.__async);\n }\n\n return this.__async;\n }\n\n /**\n * Gets the event group instance assocaited with the component, created on demand. The event instance\n * provides on/off methods for listening to DOM (or regular javascript object) events. The event callbacks\n * will be automatically disconnected after unmounting. The helpers within the events object also\n * preserve the this reference so that you don't need to \"bind\" the callbacks.\n */\n protected get _events(): EventGroup {\n if (!this.__events) {\n this.__events = new EventGroup(this);\n this._disposables.push(this.__events);\n }\n\n return this.__events;\n }\n\n /**\n * Helper to return a memoized ref resolver function.\n * @param refName - Name of the member to assign the ref to.\n * @returns A function instance keyed from the given refname.\n * @deprecated Use `createRef` from React.createRef.\n */\n protected _resolveRef(refName: string): (ref: React.ReactNode) => React.ReactNode {\n if (!this.__resolves) {\n this.__resolves = {};\n }\n\n if (!this.__resolves[refName]) {\n this.__resolves[refName] = (ref: React.ReactNode) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ((this as any)[refName] = ref);\n };\n }\n\n return this.__resolves[refName];\n }\n\n /**\n * Updates the componentRef (by calling it with \"this\" when necessary.)\n */\n protected _updateComponentRef(currentProps: IBaseProps, newProps: IBaseProps = {}): void {\n // currentProps *should* always be defined, but verify that just in case a subclass is manually\n // calling a lifecycle method with no parameters (which has happened) or other odd usage.\n if (currentProps && newProps && currentProps.componentRef !== newProps.componentRef) {\n this._setComponentRef(currentProps.componentRef, null);\n this._setComponentRef(newProps.componentRef, this);\n }\n }\n\n /**\n * Warns when a deprecated props are being used.\n *\n * @param deprecationMap - The map of deprecations, where key is the prop name and the value is\n * either null or a replacement prop name.\n */\n protected _warnDeprecations(deprecationMap: ISettingsMap): void {\n warnDeprecations(this.className, this.props, deprecationMap);\n }\n\n /**\n * Warns when props which are mutually exclusive with each other are both used.\n *\n * @param mutuallyExclusiveMap - The map of mutually exclusive props.\n */\n protected _warnMutuallyExclusive(mutuallyExclusiveMap: ISettingsMap): void {\n warnMutuallyExclusive(this.className, this.props, mutuallyExclusiveMap);\n }\n\n /**\n * Warns when props are required if a condition is met.\n *\n * @param requiredProps - The name of the props that are required when the condition is met.\n * @param conditionalPropName - The name of the prop that the condition is based on.\n * @param condition - Whether the condition is met.\n */\n protected _warnConditionallyRequiredProps(\n requiredProps: string[],\n conditionalPropName: string,\n condition: boolean,\n ): void {\n warnConditionallyRequiredProps(this.className, this.props, requiredProps, conditionalPropName, condition);\n }\n\n private _setComponentRef(\n ref: IRefObject | undefined,\n value: TRefInterface | null,\n ): void {\n if (!this._skipComponentRefResolution && ref) {\n if (typeof ref === 'function') {\n ref(value);\n }\n\n if (typeof ref === 'object') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (ref as any).current = value;\n }\n }\n }\n}\n\n/**\n * Helper to override a given method with a wrapper method that can try/catch the original, but also\n * ensures that the BaseComponent's methods are called before the subclass's. This ensures that\n * componentWillUnmount in the base is called and that things in the _disposables array are disposed.\n */\n// eslint-disable-next-line deprecation/deprecation\nfunction _makeAllSafe(obj: BaseComponent<{}, {}>, prototype: Object, methodNames: string[]): void {\n for (let i = 0, len = methodNames.length; i < len; i++) {\n _makeSafe(obj, prototype, methodNames[i]);\n }\n}\n\n// eslint-disable-next-line deprecation/deprecation\nfunction _makeSafe(obj: BaseComponent<{}, {}>, prototype: Object, methodName: string): void {\n /* eslint-disable @typescript-eslint/no-explicit-any */\n let classMethod = (obj as any)[methodName];\n let prototypeMethod = (prototype as any)[methodName];\n\n if (classMethod || prototypeMethod) {\n (obj as any)[methodName] = function (...args: any[]): any {\n /* eslint-enable @typescript-eslint/no-explicit-any */\n let retVal;\n\n if (prototypeMethod) {\n retVal = prototypeMethod.apply(this, args);\n }\n if (classMethod !== prototypeMethod) {\n retVal = classMethod.apply(this, args);\n }\n\n return retVal;\n };\n }\n}\n\n/**\n * Simple constant function for returning null, used to render empty templates in JSX.\n *\n * @public\n */\nexport function nullRender(): JSX.Element | null {\n return null;\n}\n","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n return b > a ? b : a;\n});\n\nexport default max;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport map from \"./map.js\";\nimport max from \"./max.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n * const fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\n\nvar cond =\n/*#__PURE__*/\n_curry1(function cond(pairs) {\n var arity = reduce(max, 0, map(function (pair) {\n return pair[0].length;\n }, pairs));\n return _arity(arity, function () {\n var idx = 0;\n\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n\n idx += 1;\n }\n });\n});\n\nexport default cond;","import { concatStyleSets, HighContrastSelector } from '../../../Styling';\nimport { memoizeFunction } from '../../../Utilities';\nimport { getStyles as getBaseButtonStyles } from '../BaseButton.styles';\nimport { getStyles as getSplitButtonStyles } from '../SplitButton/SplitButton.styles';\nimport type { IButtonStyles } from '../Button.types';\nimport type { ITheme } from '../../../Styling';\n\nexport const getStyles = memoizeFunction(\n (theme: ITheme, customStyles?: IButtonStyles): IButtonStyles => {\n const baseButtonStyles: IButtonStyles = getBaseButtonStyles(theme);\n const splitButtonStyles: IButtonStyles = getSplitButtonStyles(theme);\n const { palette, semanticColors } = theme;\n const iconButtonStyles: IButtonStyles = {\n root: {\n padding: '0 4px',\n width: '32px',\n height: '32px',\n backgroundColor: 'transparent',\n border: 'none',\n color: semanticColors.link,\n },\n\n rootHovered: {\n color: palette.themeDarkAlt,\n backgroundColor: palette.neutralLighter,\n selectors: {\n [HighContrastSelector]: {\n borderColor: 'Highlight',\n color: 'Highlight',\n },\n },\n },\n\n rootHasMenu: {\n width: 'auto',\n },\n\n rootPressed: {\n color: palette.themeDark,\n backgroundColor: palette.neutralLight,\n },\n\n rootExpanded: {\n color: palette.themeDark,\n backgroundColor: palette.neutralLight,\n },\n\n rootChecked: {\n color: palette.themeDark,\n backgroundColor: palette.neutralLight,\n },\n\n rootCheckedHovered: {\n color: palette.themeDark,\n backgroundColor: palette.neutralQuaternaryAlt,\n },\n\n rootDisabled: {\n color: palette.neutralTertiaryAlt,\n },\n };\n\n return concatStyleSets(baseButtonStyles, iconButtonStyles, splitButtonStyles, customStyles)!;\n },\n);\n","import * as React from 'react';\nimport { BaseButton } from '../BaseButton';\nimport { customizable, nullRender } from '../../../Utilities';\nimport { getStyles } from './IconButton.styles';\nimport type { IButtonProps } from '../Button.types';\n\n/**\n * {@docCategory Button}\n */\n@customizable('IconButton', ['theme', 'styles'], true)\nexport class IconButton extends React.Component {\n public render(): JSX.Element {\n const { styles, theme } = this.props;\n\n return (\n \n );\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import * as React from 'react';\nimport { FocusZoneDirection, FocusZoneTabbableElements } from './FocusZone.types';\nimport {\n KeyCodes,\n css,\n elementContains,\n getDocument,\n getElementIndexPath,\n getFocusableByIndexPath,\n getId,\n getNativeProps,\n getNextElement,\n getParent,\n getPreviousElement,\n getRTL,\n htmlElementProperties,\n initializeComponentRef,\n isElementFocusSubZone,\n isElementFocusZone,\n isElementTabbable,\n raiseClick,\n shouldWrapFocus,\n warnDeprecations,\n portalContainsElement,\n getWindow,\n findScrollableParent,\n createMergedRef,\n} from '@fluentui/utilities';\nimport { mergeStyles } from '@fluentui/merge-styles';\nimport { getTheme } from '@fluentui/style-utilities';\nimport type { IFocusZone, IFocusZoneProps } from './FocusZone.types';\nimport type { Point } from '@fluentui/utilities';\nimport type { ITheme } from '@fluentui/style-utilities';\n\nconst IS_FOCUSABLE_ATTRIBUTE = 'data-is-focusable';\nconst IS_ENTER_DISABLED_ATTRIBUTE = 'data-disable-click-on-enter';\nconst FOCUSZONE_ID_ATTRIBUTE = 'data-focuszone-id';\nconst TABINDEX = 'tabindex';\nconst NO_VERTICAL_WRAP = 'data-no-vertical-wrap';\nconst NO_HORIZONTAL_WRAP = 'data-no-horizontal-wrap';\nconst LARGE_DISTANCE_FROM_CENTER = 999999999;\nconst LARGE_NEGATIVE_DISTANCE_FROM_CENTER = -999999999;\n\nlet focusZoneStyles: string;\n\nconst focusZoneClass: string = 'ms-FocusZone';\n\n// Helper function that will return a class for when the root is focused\nfunction getRootClass(): string {\n if (!focusZoneStyles) {\n focusZoneStyles = mergeStyles(\n {\n selectors: {\n ':focus': {\n outline: 'none',\n },\n },\n },\n focusZoneClass,\n );\n }\n return focusZoneStyles;\n}\n\nconst _allInstances: {\n [key: string]: FocusZone;\n} = {};\nconst _outerZones: Set = new Set();\n\nconst ALLOWED_INPUT_TYPES = ['text', 'number', 'password', 'email', 'tel', 'url', 'search'];\n\nconst ALLOW_VIRTUAL_ELEMENTS = false;\n\nexport class FocusZone extends React.Component implements IFocusZone {\n public static defaultProps: IFocusZoneProps = {\n isCircularNavigation: false,\n direction: FocusZoneDirection.bidirectional,\n shouldRaiseClicks: true,\n };\n\n private _root: React.RefObject = React.createRef();\n private _mergedRef = createMergedRef();\n\n private _id: string;\n\n /** The most recently focused child element. */\n private _activeElement: HTMLElement | null;\n\n /**\n * The index path to the last focused child element.\n */\n private _lastIndexPath: number[] | undefined;\n\n /**\n * Flag to define when we've intentionally parked focus on the root element to temporarily\n * hold focus until items appear within the zone.\n */\n private _isParked: boolean;\n\n /** The child element with tabindex=0. */\n private _defaultFocusElement: HTMLElement | null;\n private _focusAlignment: Point;\n private _isInnerZone: boolean;\n private _parkedTabIndex: string | null | undefined;\n\n /** Used to allow moving to next focusable element even when we're focusing on a input element when pressing tab */\n private _processingTabKey: boolean;\n\n private _windowElement: Window | undefined;\n\n /** Used for testing purposes only. */\n public static getOuterZones(): number {\n return _outerZones.size;\n }\n\n /**\n * Handle global tab presses so that we can patch tabindexes on the fly.\n * HEADS UP: This must not be an arrow function in order to be referentially equal among instances\n * for ref counting to work correctly!\n */\n private static _onKeyDownCapture(ev: KeyboardEvent): void {\n // eslint-disable-next-line deprecation/deprecation, @fluentui/deprecated-keyboard-event-props\n if (ev.which === KeyCodes.tab) {\n _outerZones.forEach((zone: FocusZone) => zone._updateTabIndexes());\n }\n }\n\n constructor(props: IFocusZoneProps) {\n super(props);\n // Manage componentRef resolution.\n initializeComponentRef(this);\n\n if (process.env.NODE_ENV !== 'production') {\n warnDeprecations('FocusZone', props, {\n rootProps: undefined,\n allowTabKey: 'handleTabKey',\n elementType: 'as',\n ariaDescribedBy: 'aria-describedby',\n ariaLabelledBy: 'aria-labelledby',\n });\n }\n\n this._id = getId('FocusZone');\n\n this._focusAlignment = {\n left: 0,\n top: 0,\n };\n\n this._processingTabKey = false;\n }\n\n public componentDidMount(): void {\n const { current: root } = this._root;\n\n _allInstances[this._id] = this;\n\n if (root) {\n this._windowElement = getWindow(root);\n let parentElement = getParent(root, ALLOW_VIRTUAL_ELEMENTS);\n\n while (parentElement && parentElement !== this._getDocument().body && parentElement.nodeType === 1) {\n if (isElementFocusZone(parentElement)) {\n this._isInnerZone = true;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n\n if (!this._isInnerZone) {\n _outerZones.add(this);\n\n if (this._windowElement && _outerZones.size === 1) {\n this._windowElement.addEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n }\n\n this._root.current && this._root.current.addEventListener('blur', this._onBlur, true);\n\n // Assign initial tab indexes so that we can set initial focus as appropriate.\n this._updateTabIndexes();\n\n if (this.props.defaultTabbableElement && typeof this.props.defaultTabbableElement === 'string') {\n this._activeElement = this._getDocument().querySelector(this.props.defaultTabbableElement) as HTMLElement;\n // eslint-disable-next-line deprecation/deprecation\n } else if (this.props.defaultActiveElement) {\n // eslint-disable-next-line deprecation/deprecation\n this._activeElement = this._getDocument().querySelector(this.props.defaultActiveElement) as HTMLElement;\n }\n\n if (this.props.shouldFocusOnMount) {\n this.focus();\n }\n }\n }\n\n public componentDidUpdate(): void {\n const { current: root } = this._root;\n const doc = this._getDocument();\n\n if (\n doc &&\n this._lastIndexPath &&\n (doc.activeElement === doc.body ||\n doc.activeElement === null ||\n (!this.props.preventFocusRestoration && doc.activeElement === root))\n ) {\n // The element has been removed after the render, attempt to restore focus.\n const elementToFocus = getFocusableByIndexPath(root as HTMLElement, this._lastIndexPath);\n\n if (elementToFocus) {\n this._setActiveElement(elementToFocus, true);\n elementToFocus.focus();\n this._setParkedFocus(false);\n } else {\n // We had a focus path to restore, but now that path is unresolvable. Park focus\n // on the container until we can try again.\n this._setParkedFocus(true);\n }\n }\n }\n\n public componentWillUnmount(): void {\n delete _allInstances[this._id];\n\n if (!this._isInnerZone) {\n _outerZones.delete(this);\n\n // If this is the last outer zone, remove the keydown listener.\n if (this._windowElement && _outerZones.size === 0) {\n this._windowElement.removeEventListener('keydown', FocusZone._onKeyDownCapture, true);\n }\n }\n\n if (this._root.current) {\n this._root.current.removeEventListener('blur', this._onBlur, true);\n }\n\n this._activeElement = null;\n this._defaultFocusElement = null;\n }\n\n public render(): React.ReactNode {\n // eslint-disable-next-line deprecation/deprecation\n const { as: tag, elementType, rootProps, ariaDescribedBy, ariaLabelledBy, className } = this.props;\n const divProps = getNativeProps(this.props, htmlElementProperties);\n\n const Tag = tag || elementType || 'div';\n\n // Note, right before rendering/reconciling proceeds, we need to record if focus\n // was in the zone before the update. This helper will track this and, if focus\n // was actually in the zone, what the index path to the element is at this time.\n // Then, later in componentDidUpdate, we can evaluate if we need to restore it in\n // the case the element was removed.\n this._evaluateFocusBeforeRender();\n\n // Only support RTL defined in global theme, not contextual theme/RTL.\n const theme: ITheme = getTheme();\n\n return (\n ) => this._onKeyDown(ev, theme)}\n onFocus={this._onFocus}\n onMouseDownCapture={this._onMouseDown}\n >\n {this.props.children}\n \n );\n }\n\n /**\n * Sets focus to the first tabbable item in the zone.\n * @param forceIntoFirstElement - If true, focus will be forced into the first element, even\n * if focus is already in the focus zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n public focus(forceIntoFirstElement: boolean = false): boolean {\n if (this._root.current) {\n if (\n !forceIntoFirstElement &&\n this._root.current.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n this._isInnerZone\n ) {\n const ownerZoneElement = this._getOwnerZone(this._root.current) as HTMLElement;\n\n if (ownerZoneElement !== this._root.current) {\n const ownerZone = _allInstances[ownerZoneElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE) as string];\n\n return !!ownerZone && ownerZone.focusElement(this._root.current);\n }\n\n return false;\n } else if (\n !forceIntoFirstElement &&\n this._activeElement &&\n elementContains(this._root.current, this._activeElement) &&\n isElementTabbable(this._activeElement)\n ) {\n this._activeElement.focus();\n return true;\n } else {\n const firstChild = this._root.current.firstChild as HTMLElement;\n\n return this.focusElement(getNextElement(this._root.current, firstChild, true) as HTMLElement);\n }\n }\n return false;\n }\n\n /**\n * Sets focus to the last tabbable item in the zone.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n public focusLast(): boolean {\n if (this._root.current) {\n const lastChild = this._root.current && (this._root.current.lastChild as HTMLElement | null);\n\n return this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true) as HTMLElement);\n }\n\n return false;\n }\n\n /**\n * Sets focus to a specific child element within the zone. This can be used in conjunction with\n * shouldReceiveFocus to create delayed focus scenarios (like animate the scroll position to the correct\n * location and then focus.)\n * @param element - The child element within the zone to focus.\n * @param forceAlignment - If true, focus alignment will be set according to the element provided.\n * @returns True if focus could be set to an active element, false if no operation was taken.\n */\n public focusElement(element: HTMLElement, forceAlignment?: boolean): boolean {\n // eslint-disable-next-line deprecation/deprecation\n const { onBeforeFocus, shouldReceiveFocus } = this.props;\n\n if ((shouldReceiveFocus && !shouldReceiveFocus(element)) || (onBeforeFocus && !onBeforeFocus(element))) {\n return false;\n }\n\n if (element) {\n // when we set focus to a specific child, we should recalculate the alignment depending on its position.\n this._setActiveElement(element, forceAlignment);\n if (this._activeElement) {\n this._activeElement.focus();\n }\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Forces horizontal alignment in the context of vertical arrowing to use specific point as the reference,\n * rather than a center based on the last horizontal motion.\n * @param point - the new reference point.\n */\n public setFocusAlignment(point: Point): void {\n this._focusAlignment = point;\n }\n\n private _evaluateFocusBeforeRender(): void {\n const { current: root } = this._root;\n\n const doc = this._getDocument();\n if (doc) {\n const focusedElement = doc.activeElement as HTMLElement;\n\n // Only update the index path if we are not parked on the root.\n if (focusedElement !== root) {\n const shouldRestoreFocus = elementContains(root, focusedElement, false);\n this._lastIndexPath = shouldRestoreFocus ? getElementIndexPath(root as HTMLElement, focusedElement) : undefined;\n }\n }\n }\n\n private _onFocus = (ev: React.FocusEvent): void => {\n if (this._portalContainsElement(ev.target as HTMLElement)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n\n const {\n onActiveElementChanged,\n // eslint-disable-next-line deprecation/deprecation\n doNotAllowFocusEventToPropagate,\n stopFocusPropagation,\n // eslint-disable-next-line deprecation/deprecation\n onFocusNotification,\n onFocus,\n shouldFocusInnerElementWhenReceivedFocus,\n defaultTabbableElement,\n } = this.props;\n const isImmediateDescendant = this._isImmediateDescendantOfZone(ev.target as HTMLElement);\n let newActiveElement: HTMLElement | null | undefined;\n\n if (isImmediateDescendant) {\n newActiveElement = ev.target as HTMLElement;\n } else {\n let parentElement = ev.target as HTMLElement;\n\n while (parentElement && parentElement !== this._root.current) {\n if (isElementTabbable(parentElement) && this._isImmediateDescendantOfZone(parentElement)) {\n newActiveElement = parentElement;\n break;\n }\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS) as HTMLElement;\n }\n }\n\n // If an inner focusable element should be focused when FocusZone container receives focus\n if (shouldFocusInnerElementWhenReceivedFocus && ev.target === this._root.current) {\n const maybeElementToFocus =\n defaultTabbableElement &&\n typeof defaultTabbableElement === 'function' &&\n defaultTabbableElement(this._root.current);\n\n // try to focus defaultTabbable element\n if (maybeElementToFocus && isElementTabbable(maybeElementToFocus)) {\n newActiveElement = maybeElementToFocus;\n maybeElementToFocus.focus();\n } else {\n // force focus on first focusable element\n this.focus(true);\n if (this._activeElement) {\n // set to null as new active element was handled in method above\n newActiveElement = null;\n }\n }\n }\n\n const initialElementFocused = !this._activeElement;\n\n // If the new active element is a child of this zone and received focus,\n // update alignment an immediate descendant\n if (newActiveElement && newActiveElement !== this._activeElement) {\n if (isImmediateDescendant || initialElementFocused) {\n this._setFocusAlignment(newActiveElement, true, true);\n }\n\n this._activeElement = newActiveElement;\n\n if (initialElementFocused) {\n this._updateTabIndexes();\n }\n }\n\n if (onActiveElementChanged) {\n onActiveElementChanged(this._activeElement as HTMLElement, ev);\n }\n\n if (stopFocusPropagation || doNotAllowFocusEventToPropagate) {\n ev.stopPropagation();\n }\n\n if (onFocus) {\n onFocus(ev);\n } else if (onFocusNotification) {\n onFocusNotification();\n }\n };\n\n /**\n * When focus is in the zone at render time but then all focusable elements are removed,\n * we \"park\" focus temporarily on the root. Once we update with focusable children, we restore\n * focus to the closest path from previous. If the user tabs away from the parked container,\n * we restore focusability to the pre-parked state.\n */\n private _setParkedFocus(isParked: boolean): void {\n const { current: root } = this._root;\n\n if (root && this._isParked !== isParked) {\n this._isParked = isParked;\n\n if (isParked) {\n if (!this.props.allowFocusRoot) {\n this._parkedTabIndex = root.getAttribute('tabindex');\n root.setAttribute('tabindex', '-1');\n }\n root.focus();\n } else if (!this.props.allowFocusRoot) {\n if (this._parkedTabIndex) {\n root.setAttribute('tabindex', this._parkedTabIndex);\n this._parkedTabIndex = undefined;\n } else {\n root.removeAttribute('tabindex');\n }\n }\n }\n }\n\n private _onBlur = (): void => {\n this._setParkedFocus(false);\n };\n\n private _onMouseDown = (ev: React.MouseEvent): void => {\n if (this._portalContainsElement(ev.target as HTMLElement)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n\n const { disabled } = this.props;\n\n if (disabled) {\n return;\n }\n\n let target = ev.target as HTMLElement;\n const path = [];\n\n while (target && target !== this._root.current) {\n path.push(target);\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS) as HTMLElement;\n }\n\n while (path.length) {\n target = path.pop() as HTMLElement;\n\n if (target && isElementTabbable(target)) {\n this._setActiveElement(target, true);\n }\n\n if (isElementFocusZone(target)) {\n // Stop here since the focus zone will take care of its own children.\n break;\n }\n }\n };\n\n private _setActiveElement(element: HTMLElement, forceAlignment?: boolean): void {\n const previousActiveElement = this._activeElement;\n\n this._activeElement = element;\n\n if (previousActiveElement) {\n if (isElementFocusZone(previousActiveElement)) {\n this._updateTabIndexes(previousActiveElement);\n }\n\n previousActiveElement.tabIndex = -1;\n }\n\n if (this._activeElement) {\n if (!this._focusAlignment || forceAlignment) {\n this._setFocusAlignment(element, true, true);\n }\n\n this._activeElement.tabIndex = 0;\n }\n }\n\n private _preventDefaultWhenHandled(ev: React.KeyboardEvent): void {\n this.props.preventDefaultWhenHandled && ev.preventDefault();\n }\n\n /**\n * Handle the keystrokes.\n */\n private _onKeyDown = (ev: React.KeyboardEvent, theme: ITheme): boolean | undefined => {\n if (this._portalContainsElement(ev.target as HTMLElement)) {\n // If the event target is inside a portal do not process the event.\n return;\n }\n\n // eslint-disable-next-line deprecation/deprecation\n const { direction, disabled, isInnerZoneKeystroke, pagingSupportDisabled, shouldEnterInnerZone } = this.props;\n\n if (disabled) {\n return;\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(ev);\n }\n\n // If the default has been prevented, do not process keyboard events.\n if (ev.isDefaultPrevented()) {\n return;\n }\n\n if (this._getDocument().activeElement === this._root.current && this._isInnerZone) {\n // If this element has focus, it is being controlled by a parent.\n // Ignore the keystroke.\n return;\n }\n\n if (\n ((shouldEnterInnerZone && shouldEnterInnerZone(ev)) || (isInnerZoneKeystroke && isInnerZoneKeystroke(ev))) &&\n this._isImmediateDescendantOfZone(ev.target as HTMLElement)\n ) {\n // Try to focus\n const innerZone = this._getFirstInnerZone();\n\n if (innerZone) {\n if (!innerZone.focus(true)) {\n return;\n }\n } else if (isElementFocusSubZone(ev.target as HTMLElement)) {\n if (\n !this.focusElement(\n getNextElement(\n ev.target as HTMLElement,\n (ev.target as HTMLElement).firstChild as HTMLElement,\n true,\n ) as HTMLElement,\n )\n ) {\n return;\n }\n } else {\n return;\n }\n } else if (ev.altKey) {\n return;\n } else {\n // eslint-disable-next-line @fluentui/deprecated-keyboard-event-props, deprecation/deprecation\n switch (ev.which) {\n case KeyCodes.space:\n if (this._tryInvokeClickForFocusable(ev.target as HTMLElement)) {\n break;\n }\n return;\n\n case KeyCodes.left:\n if (direction !== FocusZoneDirection.vertical) {\n this._preventDefaultWhenHandled(ev);\n if (this._moveFocusLeft(theme)) {\n break;\n }\n }\n return;\n\n case KeyCodes.right:\n if (direction !== FocusZoneDirection.vertical) {\n this._preventDefaultWhenHandled(ev);\n if (this._moveFocusRight(theme)) {\n break;\n }\n }\n return;\n\n case KeyCodes.up:\n if (direction !== FocusZoneDirection.horizontal) {\n this._preventDefaultWhenHandled(ev);\n if (this._moveFocusUp()) {\n break;\n }\n }\n return;\n\n case KeyCodes.down:\n if (direction !== FocusZoneDirection.horizontal) {\n this._preventDefaultWhenHandled(ev);\n if (this._moveFocusDown()) {\n break;\n }\n }\n return;\n case KeyCodes.pageDown:\n if (!pagingSupportDisabled && this._moveFocusPaging(true)) {\n break;\n }\n return;\n case KeyCodes.pageUp:\n if (!pagingSupportDisabled && this._moveFocusPaging(false)) {\n break;\n }\n return;\n\n case KeyCodes.tab:\n if (\n // eslint-disable-next-line deprecation/deprecation\n this.props.allowTabKey ||\n this.props.handleTabKey === FocusZoneTabbableElements.all ||\n (this.props.handleTabKey === FocusZoneTabbableElements.inputOnly &&\n this._isElementInput(ev.target as HTMLElement))\n ) {\n let focusChanged = false;\n this._processingTabKey = true;\n if (\n direction === FocusZoneDirection.vertical ||\n !this._shouldWrapFocus(this._activeElement as HTMLElement, NO_HORIZONTAL_WRAP)\n ) {\n focusChanged = ev.shiftKey ? this._moveFocusUp() : this._moveFocusDown();\n } else {\n const tabWithDirection = getRTL(theme) ? !ev.shiftKey : ev.shiftKey;\n focusChanged = tabWithDirection ? this._moveFocusLeft(theme) : this._moveFocusRight(theme);\n }\n this._processingTabKey = false;\n if (focusChanged) {\n break;\n } else if (this.props.shouldResetActiveElementWhenTabFromZone) {\n this._activeElement = null;\n }\n }\n return;\n\n case KeyCodes.home:\n if (\n this._isContentEditableElement(ev.target as HTMLElement) ||\n (this._isElementInput(ev.target as HTMLElement) &&\n !this._shouldInputLoseFocus(ev.target as HTMLInputElement, false))\n ) {\n return false;\n }\n const firstChild = this._root.current && (this._root.current.firstChild as HTMLElement | null);\n if (\n this._root.current &&\n firstChild &&\n this.focusElement(getNextElement(this._root.current, firstChild, true) as HTMLElement)\n ) {\n break;\n }\n return;\n\n case KeyCodes.end:\n if (\n this._isContentEditableElement(ev.target as HTMLElement) ||\n (this._isElementInput(ev.target as HTMLElement) &&\n !this._shouldInputLoseFocus(ev.target as HTMLInputElement, true))\n ) {\n return false;\n }\n\n const lastChild = this._root.current && (this._root.current.lastChild as HTMLElement | null);\n if (\n this._root.current &&\n this.focusElement(getPreviousElement(this._root.current, lastChild, true, true, true) as HTMLElement)\n ) {\n break;\n }\n return;\n\n case KeyCodes.enter:\n if (this._tryInvokeClickForFocusable(ev.target as HTMLElement)) {\n break;\n }\n return;\n\n default:\n return;\n }\n }\n\n ev.preventDefault();\n ev.stopPropagation();\n };\n\n /**\n * Walk up the dom try to find a focusable element.\n */\n private _tryInvokeClickForFocusable(target: HTMLElement): boolean {\n if (target === this._root.current || !this.props.shouldRaiseClicks) {\n return false;\n }\n\n do {\n if (\n target.tagName === 'BUTTON' ||\n target.tagName === 'A' ||\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA'\n ) {\n return false;\n }\n\n if (\n this._isImmediateDescendantOfZone(target) &&\n target.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true' &&\n target.getAttribute(IS_ENTER_DISABLED_ATTRIBUTE) !== 'true'\n ) {\n raiseClick(target);\n return true;\n }\n\n target = getParent(target, ALLOW_VIRTUAL_ELEMENTS) as HTMLElement;\n } while (target !== this._root.current);\n\n return false;\n }\n\n /**\n * Traverse to find first child zone.\n */\n private _getFirstInnerZone(rootElement?: HTMLElement | null): FocusZone | null {\n rootElement = rootElement || this._activeElement || this._root.current;\n\n if (!rootElement) {\n return null;\n }\n\n if (isElementFocusZone(rootElement)) {\n return _allInstances[rootElement.getAttribute(FOCUSZONE_ID_ATTRIBUTE) as string];\n }\n\n let child = rootElement.firstElementChild as HTMLElement | null;\n\n while (child) {\n if (isElementFocusZone(child)) {\n return _allInstances[child.getAttribute(FOCUSZONE_ID_ATTRIBUTE) as string];\n }\n const match = this._getFirstInnerZone(child);\n\n if (match) {\n return match;\n }\n\n child = child.nextElementSibling as HTMLElement | null;\n }\n\n return null;\n }\n\n private _moveFocus(\n isForward: boolean,\n getDistanceFromCenter: (activeRect: ClientRect, targetRect: ClientRect) => number,\n ev?: Event,\n useDefaultWrap: boolean = true,\n ): boolean {\n let element = this._activeElement;\n let candidateDistance = -1;\n let candidateElement: HTMLElement | undefined = undefined;\n let changedFocus = false;\n const isBidirectional = this.props.direction === FocusZoneDirection.bidirectional;\n\n if (!element || !this._root.current) {\n return false;\n }\n\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element as HTMLInputElement, isForward)) {\n return false;\n }\n }\n\n const activeRect = isBidirectional ? element.getBoundingClientRect() : null;\n\n do {\n element = (isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element)) as HTMLElement;\n\n if (isBidirectional) {\n if (element) {\n const targetRect = element.getBoundingClientRect();\n const elementDistance = getDistanceFromCenter(activeRect as ClientRect, targetRect);\n\n if (elementDistance === -1 && candidateDistance === -1) {\n candidateElement = element;\n break;\n }\n\n if (elementDistance > -1 && (candidateDistance === -1 || elementDistance < candidateDistance)) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n\n if (candidateDistance >= 0 && elementDistance < 0) {\n break;\n }\n }\n } else {\n candidateElement = element;\n break;\n }\n } while (element);\n\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n } else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(\n getNextElement(this._root.current, this._root.current.firstElementChild as HTMLElement, true) as HTMLElement,\n );\n } else {\n return this.focusElement(\n getPreviousElement(\n this._root.current,\n this._root.current.lastElementChild as HTMLElement,\n true,\n true,\n true,\n ) as HTMLElement,\n );\n }\n }\n\n return changedFocus;\n }\n\n private _moveFocusDown(): boolean {\n let targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n const leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n\n if (\n this._moveFocus(true, (activeRect: ClientRect, targetRect: ClientRect) => {\n let distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n const targetRectTop = Math.floor(targetRect.top);\n const activeRectBottom = Math.floor(activeRect.bottom);\n\n if (targetRectTop < activeRectBottom) {\n if (!this._shouldWrapFocus(this._activeElement as HTMLElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return LARGE_DISTANCE_FROM_CENTER;\n }\n\n if ((targetTop === -1 && targetRectTop >= activeRectBottom) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n } else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n\n return distance;\n })\n ) {\n this._setFocusAlignment(this._activeElement as HTMLElement, false, true);\n return true;\n }\n\n return false;\n }\n\n private _moveFocusUp(): boolean {\n let targetTop = -1;\n // eslint-disable-next-line deprecation/deprecation\n const leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n\n if (\n this._moveFocus(false, (activeRect: ClientRect, targetRect: ClientRect) => {\n let distance = -1;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n const targetRectBottom = Math.floor(targetRect.bottom);\n const targetRectTop = Math.floor(targetRect.top);\n const activeRectTop = Math.floor(activeRect.top);\n\n if (targetRectBottom > activeRectTop) {\n if (!this._shouldWrapFocus(this._activeElement as HTMLElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n }\n\n if ((targetTop === -1 && targetRectBottom <= activeRectTop) || targetRectTop === targetTop) {\n targetTop = targetRectTop;\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n distance = 0;\n } else {\n distance = Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n }\n\n return distance;\n })\n ) {\n this._setFocusAlignment(this._activeElement as HTMLElement, false, true);\n return true;\n }\n\n return false;\n }\n\n private _moveFocusLeft(theme: ITheme): boolean {\n const shouldWrap = this._shouldWrapFocus(this._activeElement as HTMLElement, NO_HORIZONTAL_WRAP);\n if (\n this._moveFocus(\n getRTL(theme),\n (activeRect: ClientRect, targetRect: ClientRect) => {\n let distance = -1;\n let topBottomComparison;\n\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusRight for LTR.\n // Going left at a leftmost rectangle will go down a line instead of up a line like in LTR.\n // This is important, because we want to be comparing the top of the target rect\n // with the bottom of the active rect.\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n } else {\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n }\n\n if (\n topBottomComparison &&\n targetRect.right <= activeRect.right &&\n this.props.direction !== FocusZoneDirection.vertical\n ) {\n distance = activeRect.right - targetRect.right;\n } else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return distance;\n },\n undefined /*ev*/,\n shouldWrap,\n )\n ) {\n this._setFocusAlignment(this._activeElement as HTMLElement, true, false);\n return true;\n }\n\n return false;\n }\n\n private _moveFocusRight(theme: ITheme): boolean {\n const shouldWrap = this._shouldWrapFocus(this._activeElement as HTMLElement, NO_HORIZONTAL_WRAP);\n if (\n this._moveFocus(\n !getRTL(theme),\n (activeRect: ClientRect, targetRect: ClientRect) => {\n let distance = -1;\n let topBottomComparison;\n\n if (getRTL(theme)) {\n // When in RTL, this comparison should be the same as the one in _moveFocusLeft for LTR.\n // Going right at a rightmost rectangle will go up a line instead of down a line like in LTR.\n // This is important, because we want to be comparing the bottom of the target rect\n // with the top of the active rect.\n topBottomComparison = parseFloat(targetRect.bottom.toFixed(3)) > parseFloat(activeRect.top.toFixed(3));\n } else {\n topBottomComparison = parseFloat(targetRect.top.toFixed(3)) < parseFloat(activeRect.bottom.toFixed(3));\n }\n\n if (\n topBottomComparison &&\n targetRect.left >= activeRect.left &&\n this.props.direction !== FocusZoneDirection.vertical\n ) {\n distance = targetRect.left - activeRect.left;\n } else if (!shouldWrap) {\n distance = LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n\n return distance;\n },\n undefined /*ev*/,\n shouldWrap,\n )\n ) {\n this._setFocusAlignment(this._activeElement as HTMLElement, true, false);\n return true;\n }\n\n return false;\n }\n\n private _getHorizontalDistanceFromCenter = (\n isForward: boolean,\n activeRect: ClientRect,\n targetRect: ClientRect,\n ): number => {\n // eslint-disable-next-line deprecation/deprecation\n const leftAlignment = this._focusAlignment.left || this._focusAlignment.x || 0;\n // ClientRect values can be floats that differ by very small fractions of a decimal.\n // If the difference between top and bottom are within a pixel then we should treat\n // them as equivalent by using Math.floor. For instance 5.2222 and 5.222221 should be equivalent,\n // but without Math.Floor they will be handled incorrectly.\n const targetRectTop = Math.floor(targetRect.top);\n const activeRectBottom = Math.floor(activeRect.bottom);\n const targetRectBottom = Math.floor(targetRect.bottom);\n const activeRectTop = Math.floor(activeRect.top);\n const isValidCandidateOnpagingDown = isForward && targetRectTop > activeRectBottom;\n const isValidCandidateOnpagingUp = !isForward && targetRectBottom < activeRectTop;\n\n if (isValidCandidateOnpagingDown || isValidCandidateOnpagingUp) {\n if (leftAlignment >= targetRect.left && leftAlignment <= targetRect.left + targetRect.width) {\n return 0;\n }\n return Math.abs(targetRect.left + targetRect.width / 2 - leftAlignment);\n }\n\n if (!this._shouldWrapFocus(this._activeElement as HTMLElement, NO_VERTICAL_WRAP)) {\n return LARGE_NEGATIVE_DISTANCE_FROM_CENTER;\n }\n return LARGE_DISTANCE_FROM_CENTER;\n };\n\n private _moveFocusPaging(isForward: boolean, useDefaultWrap: boolean = true): boolean {\n let element = this._activeElement;\n if (!element || !this._root.current) {\n return false;\n }\n if (this._isElementInput(element)) {\n if (!this._shouldInputLoseFocus(element as HTMLInputElement, isForward)) {\n return false;\n }\n }\n const scrollableParent = findScrollableParent(element);\n if (!scrollableParent) {\n return false;\n }\n let candidateDistance = -1;\n let candidateElement = undefined;\n let targetTop = -1;\n let targetBottom = -1;\n const pagesize = (scrollableParent as HTMLElement).clientHeight;\n const activeRect = element.getBoundingClientRect();\n do {\n element = isForward\n ? getNextElement(this._root.current, element)\n : getPreviousElement(this._root.current, element);\n if (element) {\n const targetRect = element.getBoundingClientRect();\n const targetRectTop = Math.floor(targetRect.top);\n const activeRectBottom = Math.floor(activeRect.bottom);\n const targetRectBottom = Math.floor(targetRect.bottom);\n const activeRectTop = Math.floor(activeRect.top);\n const elementDistance = this._getHorizontalDistanceFromCenter(isForward, activeRect, targetRect);\n const isElementPassedPageSizeOnPagingDown = isForward && targetRectTop > activeRectBottom + pagesize;\n const isElementPassedPageSizeOnPagingUp = !isForward && targetRectBottom < activeRectTop - pagesize;\n\n if (isElementPassedPageSizeOnPagingDown || isElementPassedPageSizeOnPagingUp) {\n break;\n }\n if (elementDistance > -1) {\n // for paging down\n if (isForward && targetRectTop > targetTop) {\n targetTop = targetRectTop;\n candidateDistance = elementDistance;\n candidateElement = element;\n } else if (!isForward && targetRectBottom < targetBottom) {\n // for paging up\n targetBottom = targetRectBottom;\n candidateDistance = elementDistance;\n candidateElement = element;\n } else if (candidateDistance === -1 || elementDistance <= candidateDistance) {\n candidateDistance = elementDistance;\n candidateElement = element;\n }\n }\n }\n } while (element);\n\n let changedFocus = false;\n // Focus the closest candidate\n if (candidateElement && candidateElement !== this._activeElement) {\n changedFocus = true;\n this.focusElement(candidateElement);\n this._setFocusAlignment(candidateElement as HTMLElement, false, true);\n } else if (this.props.isCircularNavigation && useDefaultWrap) {\n if (isForward) {\n return this.focusElement(\n getNextElement(this._root.current, this._root.current.firstElementChild as HTMLElement, true) as HTMLElement,\n );\n }\n return this.focusElement(\n getPreviousElement(\n this._root.current,\n this._root.current.lastElementChild as HTMLElement,\n true,\n true,\n true,\n ) as HTMLElement,\n );\n }\n return changedFocus;\n }\n\n private _setFocusAlignment(element: HTMLElement, isHorizontal?: boolean, isVertical?: boolean): void {\n if (\n this.props.direction === FocusZoneDirection.bidirectional &&\n (!this._focusAlignment || isHorizontal || isVertical)\n ) {\n const rect = element.getBoundingClientRect();\n const left = rect.left + rect.width / 2;\n const top = rect.top + rect.height / 2;\n\n if (!this._focusAlignment) {\n this._focusAlignment = { left, top };\n }\n\n if (isHorizontal) {\n this._focusAlignment.left = left;\n }\n\n if (isVertical) {\n this._focusAlignment.top = top;\n }\n }\n }\n\n private _isImmediateDescendantOfZone(element?: HTMLElement): boolean {\n return this._getOwnerZone(element) === this._root.current;\n }\n\n private _getOwnerZone(element?: HTMLElement): HTMLElement | null {\n let parentElement = getParent(element as HTMLElement, ALLOW_VIRTUAL_ELEMENTS);\n\n while (parentElement && parentElement !== this._root.current && parentElement !== this._getDocument().body) {\n if (isElementFocusZone(parentElement)) {\n return parentElement;\n }\n\n parentElement = getParent(parentElement, ALLOW_VIRTUAL_ELEMENTS);\n }\n\n return parentElement;\n }\n\n private _updateTabIndexes(element?: HTMLElement): void {\n if (\n !this._activeElement &&\n this.props.defaultTabbableElement &&\n typeof this.props.defaultTabbableElement === 'function'\n ) {\n this._activeElement = this.props.defaultTabbableElement(this._root.current as HTMLElement);\n }\n\n if (!element && this._root.current) {\n this._defaultFocusElement = null;\n element = this._root.current;\n if (this._activeElement && !elementContains(element, this._activeElement)) {\n this._activeElement = null;\n }\n }\n\n // If active element changes state to disabled, set it to null.\n // Otherwise, we lose keyboard accessibility to other elements in focus zone.\n if (this._activeElement && !isElementTabbable(this._activeElement)) {\n this._activeElement = null;\n }\n\n const childNodes = element && element.children;\n\n for (let childIndex = 0; childNodes && childIndex < childNodes.length; childIndex++) {\n const child = childNodes[childIndex] as HTMLElement;\n\n if (!isElementFocusZone(child)) {\n // If the item is explicitly set to not be focusable then TABINDEX needs to be set to -1.\n if (child.getAttribute && child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'false') {\n child.setAttribute(TABINDEX, '-1');\n }\n\n if (isElementTabbable(child)) {\n if (this.props.disabled) {\n child.setAttribute(TABINDEX, '-1');\n } else if (\n !this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)\n ) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n } else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n } else if (child.tagName === 'svg' && child.getAttribute('focusable') !== 'false') {\n // Disgusting IE hack. Sad face.\n child.setAttribute('focusable', 'false');\n }\n } else if (child.getAttribute(IS_FOCUSABLE_ATTRIBUTE) === 'true') {\n if (\n !this._isInnerZone &&\n ((!this._activeElement && !this._defaultFocusElement) || this._activeElement === child)\n ) {\n this._defaultFocusElement = child;\n if (child.getAttribute(TABINDEX) !== '0') {\n child.setAttribute(TABINDEX, '0');\n }\n } else if (child.getAttribute(TABINDEX) !== '-1') {\n child.setAttribute(TABINDEX, '-1');\n }\n }\n\n this._updateTabIndexes(child);\n }\n }\n\n private _isContentEditableElement(element: HTMLElement): boolean {\n return element && element.getAttribute('contenteditable') === 'true';\n }\n\n private _isElementInput(element: HTMLElement): boolean {\n if (\n element &&\n element.tagName &&\n (element.tagName.toLowerCase() === 'input' || element.tagName.toLowerCase() === 'textarea')\n ) {\n return true;\n }\n return false;\n }\n\n private _shouldInputLoseFocus(element: HTMLInputElement, isForward?: boolean): boolean {\n // If a tab was used, we want to focus on the next element.\n if (\n !this._processingTabKey &&\n element &&\n element.type &&\n ALLOWED_INPUT_TYPES.indexOf(element.type.toLowerCase()) > -1\n ) {\n const selectionStart = element.selectionStart;\n const selectionEnd = element.selectionEnd;\n const isRangeSelected = selectionStart !== selectionEnd;\n const inputValue = element.value;\n const isReadonly = element.readOnly;\n\n // We shouldn't lose focus in the following cases:\n // 1. There is range selected.\n // 2. When selection start is larger than 0 and it is backward and not readOnly.\n // 3. when selection start is not the end of length, it is forward and not readOnly.\n // 4. We press any of the arrow keys when our handleTabKey isn't none or undefined (only losing focus if we hit\n // tab) and if shouldInputLoseFocusOnArrowKey is defined, if scenario prefers to not loose the focus which is\n // determined by calling the callback shouldInputLoseFocusOnArrowKey\n if (\n isRangeSelected ||\n (selectionStart! > 0 && !isForward && !isReadonly) ||\n (selectionStart !== inputValue.length && isForward && !isReadonly) ||\n (!!this.props.handleTabKey &&\n !(this.props.shouldInputLoseFocusOnArrowKey && this.props.shouldInputLoseFocusOnArrowKey(element)))\n ) {\n return false;\n }\n }\n\n return true;\n }\n\n private _shouldWrapFocus(\n element: HTMLElement,\n noWrapDataAttribute: 'data-no-vertical-wrap' | 'data-no-horizontal-wrap',\n ): boolean {\n return this.props.checkForNoWrap ? shouldWrapFocus(element, noWrapDataAttribute) : true;\n }\n\n /**\n * Returns true if the element is a descendant of the FocusZone through a React portal.\n */\n private _portalContainsElement(element: HTMLElement): boolean {\n return element && !!this._root.current && portalContainsElement(element, this._root.current);\n }\n\n private _getDocument(): Document {\n return getDocument(this._root.current)!;\n }\n}\n","import { getDocument, Rectangle } from '@fluentui/utilities';\nimport * as React from 'react';\nimport { useWindow } from '@fluentui/react-window-provider';\nimport type { Point } from '@fluentui/utilities';\n\nexport type Target = Element | string | MouseEvent | Point | Rectangle | null | React.RefObject;\n\n/**\n * Hook to calculate and cache the target element specified by the given target attribute,\n * as well as the target element's (or host element's) parent window\n * @param target- Target selector passed to the component as a property, describing the element that\n * the callout should target\n * @param hostElement- The callout's host element, used for determining the parent window.\n */\nexport function useTarget(\n target: Target | undefined,\n hostElement?: React.RefObject,\n): Readonly<[React.RefObject, Window | undefined]> {\n const previousTargetProp = React.useRef<\n Element | string | MouseEvent | Point | Rectangle | React.RefObject | null | undefined\n >();\n\n const targetRef = React.useRef(null);\n /**\n * Stores an instance of Window, used to check\n * for server side rendering and if focus was lost.\n */\n const targetWindow = useWindow();\n\n // If the target element changed, find the new one. If we are tracking\n // target with class name, always find element because we do not know if\n // fabric has rendered a new element and disposed the old element.\n if (!target || target !== previousTargetProp.current || typeof target === 'string') {\n const currentElement = hostElement?.current;\n if (target) {\n if (typeof target === 'string') {\n const currentDoc: Document = getDocument(currentElement)!;\n targetRef.current = currentDoc ? currentDoc.querySelector(target) : null;\n } else if ('stopPropagation' in target) {\n targetRef.current = target;\n } else if ('getBoundingClientRect' in target) {\n targetRef.current = target;\n } else if ('current' in target) {\n targetRef.current = target.current;\n } else {\n targetRef.current = target;\n }\n }\n previousTargetProp.current = target;\n }\n\n return [targetRef, targetWindow] as const;\n}\n"],"sourceRoot":""}