@wlloyalty/wll-react-sdk 1.0.65 → 1.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +8 -7
- package/dist/native.js +3616 -20942
- package/dist/native.js.map +1 -1
- package/dist/types/components/hoc/withTileFetching.d.ts +1 -1
- package/dist/types/components/molecules/Grid/index.d.ts +1 -2
- package/dist/types/components/organisms/BadgeTile/index.d.ts +1 -2
- package/dist/types/components/organisms/BannerTile/index.d.ts +1 -2
- package/dist/types/components/organisms/ContentTile/index.d.ts +1 -2
- package/dist/types/components/organisms/PointsTile/index.d.ts +1 -2
- package/dist/types/components/organisms/RewardCategoryTile/index.d.ts +1 -2
- package/dist/types/components/organisms/RewardTile/index.d.ts +1 -2
- package/dist/types/context/ResponsiveContext.d.ts +2 -2
- package/dist/web.js +2198 -695
- package/dist/web.js.map +1 -1
- package/package.json +1 -1
package/dist/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-native-web/dist/modules/mergeRefs/index.js","../node_modules/react-native-web/dist/modules/useMergeRefs/index.js","../node_modules/react-native-web/dist/modules/canUseDom/index.js","../node_modules/react-native-web/dist/modules/addEventListener/index.js","../node_modules/react-native-web/dist/modules/modality/index.js","../node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","../node_modules/react-native-web/dist/modules/useStable/index.js","../node_modules/react-native-web/dist/modules/useEvent/index.js","../node_modules/react-native-web/dist/modules/useHover/index.js","../node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","../node_modules/react-native-web/dist/modules/usePressEvents/index.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","../node_modules/react-native-web/dist/modules/isWebColor/index.js","../node_modules/react-native-web/node_modules/@react-native/normalize-colors/index.js","../node_modules/react-native-web/dist/exports/processColor/index.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","../node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","../node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","../node_modules/inline-style-prefixer/lib/utils/prefixValue.js","../node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","../node_modules/inline-style-prefixer/lib/utils/isObject.js","../node_modules/inline-style-prefixer/lib/createPrefixer.js","../node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","../node_modules/css-in-js-utils/es/assignStyle.js","../node_modules/css-in-js-utils/es/camelCaseProperty.js","../node_modules/hyphenate-style-name/index.js","../node_modules/css-in-js-utils/es/hyphenateProperty.js","../node_modules/css-in-js-utils/es/cssifyDeclaration.js","../node_modules/css-in-js-utils/es/cssifyObject.js","../node_modules/css-in-js-utils/es/isPrefixedProperty.js","../node_modules/css-in-js-utils/es/isPrefixedValue.js","../node_modules/css-in-js-utils/es/isUnitlessProperty.js","../node_modules/css-in-js-utils/es/unprefixProperty.js","../node_modules/css-in-js-utils/es/normalizeProperty.js","../node_modules/css-in-js-utils/es/resolveArrayValue.js","../node_modules/css-in-js-utils/es/unprefixValue.js","../node_modules/inline-style-prefixer/lib/plugins/crossFade.js","../node_modules/inline-style-prefixer/lib/plugins/cursor.js","../node_modules/inline-style-prefixer/lib/plugins/filter.js","../node_modules/css-in-js-utils/lib/isPrefixedValue.js","../node_modules/inline-style-prefixer/lib/plugins/imageSet.js","../node_modules/inline-style-prefixer/lib/plugins/logical.js","../node_modules/inline-style-prefixer/lib/plugins/position.js","../node_modules/inline-style-prefixer/lib/plugins/sizing.js","../node_modules/css-in-js-utils/lib/hyphenateProperty.js","../node_modules/inline-style-prefixer/lib/plugins/transition.js","../node_modules/react-native-web/dist/modules/prefixStyles/static.js","../node_modules/react-native-web/dist/modules/prefixStyles/index.js","../node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","../node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","../node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","../node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","../node_modules/styleq/dist/transform-localize-style.js","../node_modules/styleq/transform-localize-style.js","../node_modules/react-native-web/dist/modules/warnOnce/index.js","../node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","../node_modules/styleq/dist/styleq.js","../node_modules/postcss-value-parser/lib/parse.js","../node_modules/postcss-value-parser/lib/walk.js","../node_modules/postcss-value-parser/lib/stringify.js","../node_modules/postcss-value-parser/lib/unit.js","../node_modules/postcss-value-parser/lib/index.js","../node_modules/react-native-web/dist/exports/StyleSheet/validate.js","../node_modules/react-native-web/dist/exports/StyleSheet/index.js","../node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","../node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","../node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","../node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","../node_modules/react-native-web/dist/modules/createDOMProps/index.js","../node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","../node_modules/react-native-web/dist/modules/useLocale/index.js","../node_modules/react-native-web/dist/exports/createElement/index.js","../node_modules/react-native-web/dist/modules/forwardedProps/index.js","../node_modules/react-native-web/dist/modules/pick/index.js","../node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","../node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","../node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","../node_modules/react-native-web/dist/modules/setValueForStyles/index.js","../node_modules/react-native-web/dist/exports/UIManager/index.js","../node_modules/react-native-web/dist/modules/useElementLayout/index.js","../node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","../node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","../node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","../node_modules/react-native-web/dist/modules/isSelectionValid/index.js","../node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","../node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","../node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","../node_modules/react-native-web/dist/modules/useResponderEvents/index.js","../node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","../node_modules/react-native-web/dist/exports/View/index.js","../node_modules/react-native-web/dist/exports/Pressable/index.js","../node_modules/react-native-web/dist/exports/Text/index.js","../node_modules/tslib/tslib.es6.js","../lib/utils/navigationHelpers.ts","../lib/hooks/useNavigationHandler.ts","../lib/utils/apiHelpers.ts","../lib/utils/styling.ts","../lib/constants/theme.ts","../lib/utils/storybookThemes.ts","../lib/utils/themeHelpers.ts","../node_modules/fbjs/lib/invariant.js","../node_modules/react-native-web/dist/exports/Dimensions/index.js","../lib/constants/responsive.ts","../node_modules/react-native-web/dist/exports/Platform/index.js","../lib/hooks/useResponsive.ts","../lib/context/ResponsiveContext.tsx","../lib/context/WllSdkContext.tsx","../lib/utils/variant.ts","../lib/utils/responsiveHelper.ts","../lib/components/atoms/Button/styles.ts","../lib/components/atoms/Button/index.tsx","../lib/components/atoms/Icon/index.tsx","../node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","../lib/components/atoms/LoadingIndicator/index.tsx","../node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","../node_modules/react-native-web/dist/exports/RefreshControl/index.js","../node_modules/react-native-web/dist/modules/TextInputState/index.js","../node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","../node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","../node_modules/fbjs/lib/emptyFunction.js","../node_modules/fbjs/lib/warning.js","../node_modules/react-native-web/dist/exports/ScrollView/index.js","../node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","../node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.js","../node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","../node_modules/react-native-web/dist/exports/InteractionManager/index.js","../node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","../node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","../node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","../node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","../node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","../node_modules/nullthrows/nullthrows.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","../node_modules/react-native-web/node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","../node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedTurboModule.js","../node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","../node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","../node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","../node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","../node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","../node_modules/react-native-web/dist/modules/AssetRegistry/index.js","../node_modules/react-native-web/dist/modules/ImageLoader/index.js","../node_modules/react-native-web/dist/exports/PixelRatio/index.js","../node_modules/react-native-web/dist/exports/Image/index.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","../node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","../node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedColor.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","../node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","../lib/components/atoms/ProgressBar/index.tsx","../lib/constants/device.ts","../lib/components/atoms/ProgressiveImage/index.tsx","../lib/components/atoms/Text/index.tsx","../lib/constants/index.ts","../lib/types/tile.ts","../lib/hooks/useHandleTilePress.ts","../lib/components/atoms/BaseBanner/index.tsx","../lib/hooks/useTileSize.ts","../lib/components/atoms/BaseTile/base-tile-body.tsx","../lib/utils/contextHelpers.ts","../lib/components/atoms/BaseTile/styles.ts","../lib/components/atoms/BaseTile/base-tile-content.tsx","../lib/components/atoms/BaseTile/base-tile-header.tsx","../lib/components/atoms/BaseTile/base-tile-media.tsx","../lib/components/atoms/BaseTile/base-tile-title.tsx","../lib/components/atoms/BaseTile/index.tsx","../lib/components/atoms/Indicator/index.tsx","../lib/constants/grid.ts","../lib/components/atoms/SkeletonTile/index.tsx","../lib/components/atoms/Skeleton/index.tsx","../lib/components/hoc/withTileFetching.tsx","../lib/components/organisms/BadgeTile/styles.tsx","../lib/components/organisms/BadgeTile/badge-tile-date-earned.tsx","../lib/components/organisms/BadgeTile/badge-tile-description.tsx","../lib/components/organisms/BadgeTile/badge-tile-media.tsx","../lib/components/organisms/BadgeTile/badge-tile-status.tsx","../lib/components/organisms/BadgeTile/badge-tile-title.tsx","../lib/components/organisms/BadgeTile/index.tsx","../lib/components/organisms/BannerTile/banner-tile-cta.tsx","../lib/components/organisms/BannerTile/styles.ts","../lib/components/organisms/BannerTile/banner-tile-description.tsx","../lib/components/organisms/BannerTile/banner-tile-media.tsx","../lib/components/organisms/BannerTile/banner-tile-title.tsx","../lib/components/organisms/BannerTile/index.tsx","../lib/components/organisms/ContentTile/content-tile-body.tsx","../lib/components/organisms/ContentTile/content-tile-container.tsx","../lib/components/organisms/ContentTile/styles.ts","../lib/components/organisms/ContentTile/content-tile-content.tsx","../lib/components/organisms/ContentTile/content-tile-header.tsx","../lib/components/organisms/ContentTile/content-tile-media.tsx","../lib/components/organisms/ContentTile/index.tsx","../lib/utils/transforms.ts","../lib/types/section.ts","../node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","../lib/components/molecules/SectionHeader/styles.ts","../lib/components/molecules/SectionHeader/index.tsx","../lib/components/molecules/Carousel/styles.ts","../lib/components/molecules/Carousel/index.tsx","../lib/components/molecules/Grid/index.tsx","../lib/components/molecules/ProgressIndicator/index.tsx","../lib/components/organisms/Section/styles.ts","../lib/components/organisms/Section/index.tsx","../lib/components/organisms/Group/index.tsx","../lib/utils/pointsHelpers.ts","../lib/types/common.ts","../lib/components/atoms/Primatives/Column.tsx","../lib/components/atoms/Primatives/FullFlex.tsx","../lib/components/atoms/Primatives/Layout.tsx","../lib/components/atoms/Primatives/Row.tsx","../lib/components/atoms/Primatives/Spacer.tsx","../lib/components/organisms/PointsTile/styles.ts","../lib/components/organisms/PointsTile/points-tile-formatted-points.tsx","../lib/components/organisms/PointsTile/points-tile-media.tsx","../lib/components/organisms/PointsTile/points-tile-title.tsx","../lib/components/organisms/PointsTile/index.tsx","../lib/components/organisms/RewardCategoryTile/styles.ts","../lib/components/organisms/RewardCategoryTile/reward-category-header.tsx","../lib/components/organisms/RewardCategoryTile/reward-category-media.tsx","../lib/components/organisms/RewardCategoryTile/index.tsx","../lib/components/organisms/RewardTile/reward-tile-chevron.tsx","../lib/components/organisms/RewardTile/styles.ts","../lib/components/organisms/RewardTile/reward-tile-media.tsx","../lib/components/organisms/RewardTile/reward-tile-points.tsx","../lib/components/organisms/RewardTile/reward-tile-summary.tsx","../lib/components/organisms/RewardTile/reward-tile-title.tsx","../lib/components/organisms/RewardTile/index.tsx","../lib/components/organisms/TierTileUpdated/styles.ts","../lib/components/organisms/TierTileUpdated/index.tsx","../lib/components/atoms/TileContainer/index.tsx","../lib/types/wll.ts"],"sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => mergeRefs(...args),\n // eslint-disable-next-line\n [...args]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nimport canUseDOM from '../canUseDom';\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nexport function addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport { addEventListener } from '../addEventListener';\nimport canUseDOM from '../canUseDom';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (canUseDOM) {\n // Window events\n addEventListener(window, BLUR, onBlurWindow, bubbleOptions);\n addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n addEventListener(document, KEYDOWN, onKeyDown, captureOptions);\n addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n addEventListener(document, POINTERDOWN, onPointerish, captureOptions);\n addEventListener(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);\n addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);\n addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);\n addEventListener(document, MOUSEUP, onPointerish, captureOptions);\n addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);\n addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);\n addEventListener(document, TOUCHSTART, onPointerish, captureOptions);\n addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);\n addEventListener(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nimport { useEffect, useLayoutEffect } from 'react';\nimport canUseDOM from '../canUseDom';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { addEventListener } from '../addEventListener';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(eventType, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = addEventListener(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * <View {...this.state.pressResponder.getEventHandlers()} />\n * );\n *\n * 3. Reset `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n }\n };\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n useEffect(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nexport default isWebColor;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]), // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n return null;\n}\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\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n };\n }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport normalizeColor from '@react-native/normalize-colors';\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = normalizeColor(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nexport default processColor;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n var colorInt = processColor(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport unitlessNumbers from './unitlessNumbers';\nimport normalizeColor from './normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n return returnValue;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author <a href=\"mailto:gary.court@gmail.com\">Gary Court</a>\n * @see http://github.com/garycourt/murmurhash-js\n * @author <a href=\"mailto:aappleby@gmail.com\">Austin Appleby</a>\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nexport default hash;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n var requiredPrefixes = prefixProperties[property];\n\n if (requiredPrefixes && style.hasOwnProperty(property)) {\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n\n for (var i = 0; i < requiredPrefixes.length; ++i) {\n var prefixedProperty = requiredPrefixes[i] + capitalizedProperty;\n\n if (!style[prefixedProperty]) {\n style[prefixedProperty] = style[property];\n }\n }\n }\n\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\nfunction backgroundClip() {\n return null;\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\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\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(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\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 filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function cssifyDeclaration(property, value) {\n return hyphenateProperty(property) + ':' + value;\n}","import cssifyDeclaration from './cssifyDeclaration';\nexport default function cssifyObject(style) {\n var css = '';\n\n for (var property in style) {\n var value = style[property];\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n continue;\n } // prevents the semicolon after\n // the last rule declaration\n\n\n if (css) {\n css += ';';\n }\n\n css += cssifyDeclaration(property, value);\n }\n\n return css;\n}","var RE = /^(Webkit|Moz|O|ms)/;\nexport default function isPrefixedProperty(property) {\n return RE.test(property);\n}","var RE = /-webkit-|-moz-|-ms-/;\nexport default function isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","import hyphenateProperty from './hyphenateProperty';\nvar unitlessProperties = {\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n fontWeight: true,\n lineHeight: true,\n opacity: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineClamp', 'order'];\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction getPrefixedProperty(prefix, property) {\n return prefix + property.charAt(0).toUpperCase() + property.slice(1);\n} // add all prefixed properties to the unitless properties\n\n\nfor (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {\n var property = prefixedUnitlessProperties[i];\n unitlessProperties[property] = true;\n\n for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {\n unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;\n }\n} // add all hypenated properties as well\n\n\nfor (var _property in unitlessProperties) {\n unitlessProperties[hyphenateProperty(_property)] = true;\n}\n\nexport default function isUnitlessProperty(property) {\n return unitlessProperties.hasOwnProperty(property);\n}","var RE = /^(ms|Webkit|Moz|O)/;\nexport default function unprefixProperty(property) {\n var propertyWithoutPrefix = property.replace(RE, '');\n return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);\n}","import camelCaseProperty from './camelCaseProperty';\nimport unprefixProperty from './unprefixProperty';\nexport default function normalizeProperty(property) {\n return unprefixProperty(camelCaseProperty(property));\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function resolveArrayValue(property, value) {\n return value.join(';' + hyphenateProperty(property) + ':');\n}","var RE = /(-ms-|-webkit-|-moz-|-o-)/g;\nexport default function unprefixValue(value) {\n if (typeof value === 'string') {\n return value.replace(RE, '');\n }\n\n return value;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar CROSS_FADE_REGEX = /cross-fade\\(/g;\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\n\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('cross-fade(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(CROSS_FADE_REGEX, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar FILTER_REGEX = /filter\\(/g;\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\n\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('filter(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(FILTER_REGEX, prefix + 'filter(');\n });\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrefixedValue;\nvar RE = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\n\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2[\"default\"])(property);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, imageSet, logical, position, sizing, transition],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from './hash';\nimport hyphenateStyleName from './hyphenateStyleName';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles from '../../../modules/prefixStyles';\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return createReactDOMStyle(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = hash(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../../../modules/canUseDom';\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport canUseDOM from '../../../modules/canUseDom';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport function createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher\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';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\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\nmodule.exports = require('./dist/transform-localize-style');\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar warnedKeys = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nexport function warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nimport { warnOnce } from '../../modules/warnOnce';\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nexport var createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexport var createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nexport var createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nexport var preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n warnOnce('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n warnOnce('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n warnOnce('fontVariant', '\"fontVariant\" style array value is deprecated. Use space-separated values.');\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n warnOnce('textAlignVertical', '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".');\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexport default preprocess;","/**\n * Copyright (c) Nicolas Gallagher\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 */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\nvar uLower = \"u\".charCodeAt(0);\nvar uUpper = \"U\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar isUnicodeRange = /^[a-f0-9?-]+$/i;\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next,\n quote,\n prev,\n token,\n escape,\n escapePos,\n whitespacePos,\n parenthesesOpenPos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n prev.sourceEndIndex += token.length;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash &&\n value.charCodeAt(next + 1) !== star &&\n (!parent ||\n (parent && parent.type === \"function\" && parent.value !== \"calc\")))\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n token.sourceEndIndex = token.unclosed ? next : next + 1;\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n next = value.indexOf(\"*/\", pos);\n\n token = {\n type: \"comment\",\n sourceIndex: pos,\n sourceEndIndex: next + 2\n };\n\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n token.sourceEndIndex = next;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Operation within calc\n } else if (\n (code === slash || code === star) &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\"\n ) {\n token = value[pos];\n tokens.push({\n type: \"word\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token\n });\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n parenthesesOpenPos = pos;\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(parenthesesOpenPos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (parenthesesOpenPos < whitespacePos) {\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: whitespacePos + 1,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n sourceEndIndex: next,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n token.sourceEndIndex = next;\n }\n } else {\n token.after = \"\";\n token.nodes = [];\n }\n pos = next + 1;\n token.sourceEndIndex = token.unclosed ? next : pos;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n token.sourceEndIndex = pos + 1;\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n parent.sourceEndIndex += after.length;\n after = \"\";\n balanced -= 1;\n stack[stack.length - 1].sourceEndIndex = pos;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === star &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === slash &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else if (\n (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&\n plus === token.charCodeAt(1) &&\n isUnicodeRange.test(token.slice(2))\n ) {\n tokens.push({\n type: \"unicode-range\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n stack[pos].sourceEndIndex = value.length;\n }\n\n return stack[0].nodes;\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes, custom);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\n// Check if three code points would start a number\n// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number\nfunction likeNumber(value) {\n var code = value.charCodeAt(0);\n var nextCode;\n\n if (code === plus || code === minus) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n var nextNextCode = value.charCodeAt(2);\n\n if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code === dot) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code >= 48 && code <= 57) {\n return true;\n }\n\n return false;\n}\n\n// Consume a number\n// https://www.w3.org/TR/css-syntax-3/#consume-number\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var code;\n var nextCode;\n var nextNextCode;\n\n if (length === 0 || !likeNumber(value)) {\n return false;\n }\n\n code = value.charCodeAt(pos);\n\n if (code === plus || code === minus) {\n pos++;\n }\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n\n if (code === dot && nextCode >= 48 && nextCode <= 57) {\n pos += 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n nextNextCode = value.charCodeAt(pos + 2);\n\n if (\n (code === exp || code === EXP) &&\n ((nextCode >= 48 && nextCode <= 57) ||\n ((nextCode === plus || nextCode === minus) &&\n nextNextCode >= 48 &&\n nextNextCode <= 57))\n ) {\n pos += nextCode === plus || nextCode === minus ? 3 : 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n return {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n };\n};\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport valueParser from 'postcss-value-parser';\nvar invalidShortforms = {\n background: true,\n borderBottom: true,\n borderLeft: true,\n borderRight: true,\n borderTop: true,\n font: true,\n grid: true,\n outline: true,\n textDecoration: true\n};\nvar invalidMultiValueShortforms = {\n flex: true,\n margin: true,\n padding: true,\n borderColor: true,\n borderRadius: true,\n borderStyle: true,\n borderWidth: true,\n inset: true,\n insetBlock: true,\n insetInline: true,\n marginBlock: true,\n marginInline: true,\n marginHorizontal: true,\n marginVertical: true,\n paddingBlock: true,\n paddingInline: true,\n paddingHorizontal: true,\n paddingVertical: true,\n overflow: true,\n overscrollBehavior: true,\n backgroundPosition: true\n};\nfunction error(message) {\n console.error(message);\n}\nexport function validate(obj) {\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n if (value === null) {\n continue;\n }\n if (typeof value === 'string' && value.indexOf('!important') > -1) {\n error(\"Invalid style declaration \\\"\" + prop + \":\" + value + \"\\\". Values cannot include \\\"!important\\\"\");\n isInvalid = true;\n } else {\n var suggestion = '';\n if (prop === 'animation' || prop === 'animationName') {\n suggestion = 'Did you mean \"animationKeyframes\"?';\n isInvalid = true;\n } else if (prop === 'direction') {\n suggestion = 'Did you mean \"writingDirection\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n } else if (invalidMultiValueShortforms[prop]) {\n if (typeof value === 'string' && valueParser(value).nodes.length > 1) {\n suggestion = \"Value is \\\"\" + value + \"\\\" but only single values are supported.\";\n isInvalid = true;\n }\n }\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n if (isInvalid) {\n delete obj[k];\n }\n }\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport { atomic, classic, inline } from './compiler';\nimport { createSheet } from './dom';\nimport { localizeStyle } from 'styleq/transform-localize-style';\nimport { preprocess } from './preprocess';\nimport { styleq } from 'styleq';\nimport { validate } from './validate';\nimport canUseDOM from '../../modules/canUseDom';\nvar staticStyleMap = new WeakMap();\nvar sheet = createSheet();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n return preprocess(style, _objectSpread(_objectSpread({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: _objectSpread({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n validate(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n console.warn('StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].');\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nexport default stylesheet;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = propsToAriaRole(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled,\n propsToAccessibilityComponent,\n propsToAriaRole\n};\nexport default AccessibilityUtil;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nimport { warnOnce } from '../warnOnce';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', \"accessibilityDisabled is deprecated.\");\n }\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n if (accessibilityActiveDescendant != null) {\n warnOnce('accessibilityActiveDescendant', \"accessibilityActiveDescendant is deprecated. Use aria-activedescendant.\");\n }\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n if (accessibilityAtomic != null) {\n warnOnce('accessibilityAtomic', \"accessibilityAtomic is deprecated. Use aria-atomic.\");\n }\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n if (accessibilityAutoComplete != null) {\n warnOnce('accessibilityAutoComplete', \"accessibilityAutoComplete is deprecated. Use aria-autocomplete.\");\n }\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n if (accessibilityBusy != null) {\n warnOnce('accessibilityBusy', \"accessibilityBusy is deprecated. Use aria-busy.\");\n }\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n if (accessibilityChecked != null) {\n warnOnce('accessibilityChecked', \"accessibilityChecked is deprecated. Use aria-checked.\");\n }\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n if (accessibilityColumnCount != null) {\n warnOnce('accessibilityColumnCount', \"accessibilityColumnCount is deprecated. Use aria-colcount.\");\n }\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n if (accessibilityColumnIndex != null) {\n warnOnce('accessibilityColumnIndex', \"accessibilityColumnIndex is deprecated. Use aria-colindex.\");\n }\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n if (accessibilityColumnSpan != null) {\n warnOnce('accessibilityColumnSpan', \"accessibilityColumnSpan is deprecated. Use aria-colspan.\");\n }\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n if (accessibilityControls != null) {\n warnOnce('accessibilityControls', \"accessibilityControls is deprecated. Use aria-controls.\");\n }\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n if (accessibilityCurrent != null) {\n warnOnce('accessibilityCurrent', \"accessibilityCurrent is deprecated. Use aria-current.\");\n }\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n if (accessibilityDescribedBy != null) {\n warnOnce('accessibilityDescribedBy', \"accessibilityDescribedBy is deprecated. Use aria-describedby.\");\n }\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n if (accessibilityDetails != null) {\n warnOnce('accessibilityDetails', \"accessibilityDetails is deprecated. Use aria-details.\");\n }\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n if (accessibilityErrorMessage != null) {\n warnOnce('accessibilityErrorMessage', \"accessibilityErrorMessage is deprecated. Use aria-errormessage.\");\n }\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n if (accessibilityExpanded != null) {\n warnOnce('accessibilityExpanded', \"accessibilityExpanded is deprecated. Use aria-expanded.\");\n }\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n if (accessibilityFlowTo != null) {\n warnOnce('accessibilityFlowTo', \"accessibilityFlowTo is deprecated. Use aria-flowto.\");\n }\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n if (accessibilityHasPopup != null) {\n warnOnce('accessibilityHasPopup', \"accessibilityHasPopup is deprecated. Use aria-haspopup.\");\n }\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n if (accessibilityHidden != null) {\n warnOnce('accessibilityHidden', \"accessibilityHidden is deprecated. Use aria-hidden.\");\n }\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n if (accessibilityInvalid != null) {\n warnOnce('accessibilityInvalid', \"accessibilityInvalid is deprecated. Use aria-invalid.\");\n }\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n if (accessibilityKeyShortcuts != null) {\n warnOnce('accessibilityKeyShortcuts', \"accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.\");\n }\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n if (accessibilityLabel != null) {\n warnOnce('accessibilityLabel', \"accessibilityLabel is deprecated. Use aria-label.\");\n }\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n if (accessibilityLabelledBy != null) {\n warnOnce('accessibilityLabelledBy', \"accessibilityLabelledBy is deprecated. Use aria-labelledby.\");\n }\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n if (accessibilityLevel != null) {\n warnOnce('accessibilityLevel', \"accessibilityLevel is deprecated. Use aria-level.\");\n }\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n if (accessibilityLiveRegion != null) {\n warnOnce('accessibilityLiveRegion', \"accessibilityLiveRegion is deprecated. Use aria-live.\");\n }\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n if (accessibilityModal != null) {\n warnOnce('accessibilityModal', \"accessibilityModal is deprecated. Use aria-modal.\");\n }\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n if (accessibilityMultiline != null) {\n warnOnce('accessibilityMultiline', \"accessibilityMultiline is deprecated. Use aria-multiline.\");\n }\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n if (accessibilityMultiSelectable != null) {\n warnOnce('accessibilityMultiSelectable', \"accessibilityMultiSelectable is deprecated. Use aria-multiselectable.\");\n }\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n if (accessibilityOrientation != null) {\n warnOnce('accessibilityOrientation', \"accessibilityOrientation is deprecated. Use aria-orientation.\");\n }\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n if (accessibilityOwns != null) {\n warnOnce('accessibilityOwns', \"accessibilityOwns is deprecated. Use aria-owns.\");\n }\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n if (accessibilityPlaceholder != null) {\n warnOnce('accessibilityPlaceholder', \"accessibilityPlaceholder is deprecated. Use aria-placeholder.\");\n }\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n if (accessibilityPosInSet != null) {\n warnOnce('accessibilityPosInSet', \"accessibilityPosInSet is deprecated. Use aria-posinset.\");\n }\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n if (accessibilityPressed != null) {\n warnOnce('accessibilityPressed', \"accessibilityPressed is deprecated. Use aria-pressed.\");\n }\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n if (accessibilityReadOnly != null) {\n warnOnce('accessibilityReadOnly', \"accessibilityReadOnly is deprecated. Use aria-readonly.\");\n }\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n if (accessibilityRequired != null) {\n warnOnce('accessibilityRequired', \"accessibilityRequired is deprecated. Use aria-required.\");\n }\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', \"accessibilityRole is deprecated. Use role.\");\n }\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n if (accessibilityRoleDescription != null) {\n warnOnce('accessibilityRoleDescription', \"accessibilityRoleDescription is deprecated. Use aria-roledescription.\");\n }\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n if (accessibilityRowCount != null) {\n warnOnce('accessibilityRowCount', \"accessibilityRowCount is deprecated. Use aria-rowcount.\");\n }\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n if (accessibilityRowIndex != null) {\n warnOnce('accessibilityRowIndex', \"accessibilityRowIndex is deprecated. Use aria-rowindex.\");\n }\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n if (accessibilityRowSpan != null) {\n warnOnce('accessibilityRowSpan', \"accessibilityRowSpan is deprecated. Use aria-rowspan.\");\n }\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n if (accessibilitySelected != null) {\n warnOnce('accessibilitySelected', \"accessibilitySelected is deprecated. Use aria-selected.\");\n }\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n if (accessibilitySetSize != null) {\n warnOnce('accessibilitySetSize', \"accessibilitySetSize is deprecated. Use aria-setsize.\");\n }\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n if (accessibilitySort != null) {\n warnOnce('accessibilitySort', \"accessibilitySort is deprecated. Use aria-sort.\");\n }\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n if (accessibilityValueMax != null) {\n warnOnce('accessibilityValueMax', \"accessibilityValueMax is deprecated. Use aria-valuemax.\");\n }\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n if (accessibilityValueMin != null) {\n warnOnce('accessibilityValueMin', \"accessibilityValueMin is deprecated. Use aria-valuemin.\");\n }\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n if (accessibilityValueNow != null) {\n warnOnce('accessibilityValueNow', \"accessibilityValueNow is deprecated. Use aria-valuenow.\");\n }\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n if (accessibilityValueText != null) {\n warnOnce('accessibilityValueText', \"accessibilityValueText is deprecated. Use aria-valuetext.\");\n }\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n if (focusable != null) {\n warnOnce('focusable', \"focusable is deprecated.\");\n }\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n warnOnce('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], _objectSpread({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n if (nativeID != null) {\n warnOnce('nativeID', \"nativeID is deprecated. Use id.\");\n }\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nexport default createDOMProps;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\n\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } else {\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport React, { createContext, useContext } from 'react';\nimport { isLocaleRTL } from './isLocaleRTL';\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/createContext(defaultLocale);\nexport function getLocaleDirection(locale) {\n return isLocaleRTL(locale) ? 'rtl' : 'ltr';\n}\nexport function LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nexport function useLocaleContext() {\n return useContext(LocaleContext);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nexport default createElement;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nexport var defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexport var accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexport var clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nexport default function pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nexport default getBoundingClientRect;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.0.0\n * \n */\n\nimport isUnitlessNumber from '../unitlessNumbers';\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n\n return ('' + value).trim();\n}\nexport default dangerousStyleValue;","/* eslint-disable */\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * From React 16.3.0\n * \n */\n\nimport dangerousStyleValue from './dangerousStyleValue';\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = getBoundingClientRect(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nimport canUseDOM from '../canUseDom';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport UIManager from '../../exports/UIManager';\nimport useStable from '../useStable';\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nexport default function createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n };\n}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\n touchRecord.startPageX = touch.pageX;\n touchRecord.startPageY = touch.pageY;\n touchRecord.startTimeStamp = timestampForTouch(touch);\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchRecord.previousPageX = touch.pageX;\n touchRecord.previousPageY = touch.pageY;\n touchRecord.previousTimeStamp = timestampForTouch(touch);\n}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\n touchRecord.previousPageX = touchRecord.currentPageX;\n touchRecord.previousPageY = touchRecord.currentPageY;\n touchRecord.previousTimeStamp = touchRecord.currentTimeStamp;\n touchRecord.currentPageX = touch.pageX;\n touchRecord.currentPageY = touch.pageY;\n touchRecord.currentTimeStamp = timestampForTouch(touch);\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nexport class ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array<TouchRecord>\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport { ResponderTouchHistoryStore } from './ResponderTouchHistoryStore';\nimport canUseDOM from '../canUseDom';\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Nicolas Gallagher\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 */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return <div ref={ref} />\n * }\n */\n\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a <View>.\");\n }\n });\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = StyleSheet.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = StyleSheet.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (selectable != null) {\n warnOnce('selectable', 'selectable prop is deprecated. Use styles.userSelect.');\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = StyleSheet.create({\n text$raw: textStyle,\n textHasAncestor$raw: _objectSpread(_objectSpread({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","/******************************************************************************\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, SuppressedError, Symbol */\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\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: false } : 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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import { NavigationType } from '../types/navigation';\n\nexport const parseNavigationLink = (\n link: string\n): { type: NavigationType; target: string } => {\n let result: { type: NavigationType; target: string };\n if (\n link.startsWith('http://') ||\n link.startsWith('https://') ||\n link.startsWith('mailto:')\n ) {\n result = { type: 'external', target: link };\n } else if (link.startsWith('#')) {\n result = { type: 'modal', target: link.slice(1) };\n } else {\n result = { type: 'internal', target: link };\n }\n return result;\n};\n","import { useCallback } from 'react';\nimport { NavigationConfig } from '../types/navigation';\nimport { CTALinkTarget } from '../types/tile';\nimport { parseNavigationLink } from '../utils/navigationHelpers';\n\nexport const useNavigation = (config: NavigationConfig) => {\n const handleNavigation = useCallback(\n async (link: string, ctaTarget: CTALinkTarget): Promise<void> => {\n const { type, target } = parseNavigationLink(link);\n const windowTarget = ctaTarget === 'SAME_FRAME' ? '_self' : '_blank';\n\n if (config.navigationHandlers?.[type]) {\n return Promise.resolve(config.navigationHandlers[type]({ target, windowTarget }));\n }\n return Promise.resolve();\n },\n [config]\n );\n\n return handleNavigation;\n};\n","import { useCallback } from 'react';\nimport { SDKConfig } from '../context/WllSdkContext';\n\nconst baseUrl = 'https://api.staging.core.wlloyalty.net/v1';\n\ntype APIResponse<T> = {\n status: 'success' | 'fail' | 'error';\n data: T | null;\n error?: string;\n};\n\nexport const useCreateRequestOptions = (config: SDKConfig) => {\n return useCallback(\n (options: RequestInit = {}) => {\n // Only create headers if we're not using a custom fetcher\n if (!config.fetcher) {\n const headers = new Headers(options.headers);\n headers.set('x-api-key', config.apiKey);\n headers.set('Authorization', `Bearer ${config.userToken}`);\n\n return {\n ...options,\n headers,\n };\n }\n },\n [config.apiKey, config.userToken, config.fetcher]\n );\n};\n\nexport const useMakeRequest = (config: SDKConfig) => {\n const createRequestOptions = useCreateRequestOptions(config);\n\n return useCallback(\n async <T>(url: string): Promise<APIResponse<T>> => {\n try {\n if (config.fetcher) {\n return await config.fetcher(url, createRequestOptions());\n }\n\n const response = await fetch(url, createRequestOptions());\n console.log('response', response);\n const json = await response.json();\n console.log('json', json);\n if (json.status === 'fail') {\n return {\n status: 'fail',\n data: null,\n error: json.message || 'API returned non-success status',\n };\n }\n\n return json;\n } catch (error) {\n return {\n status: 'error',\n data: null,\n error:\n error instanceof Error\n ? error.message\n : 'An unknown error occurred',\n };\n }\n },\n [createRequestOptions, config.fetcher]\n );\n};\n\nexport const createResourceGetter = (\n resource: string,\n includeHydrate = false\n) => {\n return (config: SDKConfig) => {\n const makeRequest = useMakeRequest(config);\n\n return useCallback(\n (id: string) => {\n const params = new URLSearchParams();\n\n if (includeHydrate) {\n params.append('hydrate', 'true');\n }\n\n // Always append locale=en\n params.append('locale', config.locale || 'en');\n\n const queryString = params.toString();\n return makeRequest(\n `${baseUrl}/tiles-management/${resource}/${id}${queryString ? `?${queryString}` : ''}`\n );\n },\n [makeRequest]\n );\n };\n};\n\nexport const useGetGroupByID = createResourceGetter('groups', true);\nexport const useGetSectionByID = createResourceGetter('sections');\nexport const useGetTileByID = createResourceGetter('tiles');\n","import { StyleSheet } from 'react-native';\nimport { BaseThemeObject } from '../types/theme';\n\nexport const sizes = {\n borderRadiusSm: 15,\n borderRadiusLg: 20,\n borderRadiusButton: 9,\n borderRadiusRounded: 9999,\n xxxs: 4,\n xxs: 8,\n xs: 10,\n sm: 12,\n md: 14,\n lg: 16,\n xl: 18,\n xxl: 24,\n xxxl: 32,\n xxxxl: 40,\n xxxxxl: 60,\n} as const;\n\nexport const commonStyles = StyleSheet.create({\n emptyContainer: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport const defaultTheme: BaseThemeObject = {\n background: '#F0F0F0',\n text: '#000000',\n primary: '#392ed7',\n accent: '#ff6a3d',\n surface: '#f8f7fc',\n surfaceText: '#000000',\n pageButtonBackground: '#392ed7',\n pageButtonText: '#ffffff',\n errorPrimary: '#000000',\n positive: '#008000',\n negative: '#ff0000',\n};\n","export const COLOR_CONSTANTS = {\n MINIMUM_CONTRAST_RATIO: 2,\n DEFAULT_LIGHTNESS_ADJUSTMENT: 0.2,\n DESATURATION_LIGHTEN_AMOUNT: 2,\n DEFAULT_COLOR: '#FFFFFF',\n} as const;\n","import { BaseThemeObject } from '../types/theme';\nimport { defaultTheme } from './styling';\n\n// Storybook Themes\nexport const storyBookThemes = {\n modern: {\n ...defaultTheme,\n primary: '#f72585',\n accent: '#ffc300',\n background: '#e5e5e5',\n surface: '#f4f3ee',\n surfaceText: '#f72585',\n },\n warm: {\n ...defaultTheme,\n primary: '#014F5C',\n accent: '#F38A51',\n background: '#BE9C80',\n surface: '#F1CFB3',\n surfaceText: '#014F5C',\n },\n dark: {\n ...defaultTheme,\n background: '#1e1e1e',\n text: '#ffffff',\n primary: '#ffbe0b',\n accent: '#d00000',\n surface: '#2f3037',\n surfaceText: '#ffffff',\n },\n forest: {\n ...defaultTheme,\n primary: '#354f52',\n accent: '#84a98c',\n background: '#f0f4f0',\n surface: '#cad2c5',\n surfaceText: '#2d3436',\n },\n sunset: {\n ...defaultTheme,\n primary: '#c32f27',\n accent: '#db7c26',\n background: '#f9edcc',\n surface: '#f0dfad',\n surfaceText: '#2d3436',\n },\n};\n\n// Define the theme type\nexport type ThemeName =\n | 'default'\n | 'dark'\n | 'modern'\n | 'warm'\n | 'forest'\n | 'sunset';\n\n// Create the themes object\nexport const themes: Record<ThemeName, BaseThemeObject> = {\n default: defaultTheme,\n dark: storyBookThemes.dark,\n modern: storyBookThemes.modern,\n warm: storyBookThemes.warm,\n forest: storyBookThemes.forest,\n sunset: storyBookThemes.sunset,\n};\n\n// Theme selector items\nexport const themeItems: Array<{ value: ThemeName; title: string }> = [\n { value: 'default', title: 'Default' },\n { value: 'dark', title: 'Dark' },\n { value: 'modern', title: 'Modern' },\n { value: 'warm', title: 'Warm' },\n { value: 'forest', title: 'Forest' },\n { value: 'sunset', title: 'Sunset' },\n];\n","import Color from 'color';\nimport { COLOR_CONSTANTS } from '../constants/theme';\nimport {\n BaseThemeObject,\n DerivedColors,\n DesaturationType,\n PercentageKey,\n} from '../types/theme';\nimport { themeItems, ThemeName, themes } from './storybookThemes';\n\nconst isValidColor = (color: string): boolean => {\n try {\n Color(color);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Validates a theme object to ensure all required colors are present and valid\n * @param theme - Partial theme object to validate\n * @returns Boolean indicating if theme is valid\n */\nexport const validateTheme = (theme: Partial<BaseThemeObject>): boolean => {\n const requiredColors = [\n 'accent',\n 'background',\n 'errorPrimary',\n 'negative',\n 'pageButtonBackground',\n 'pageButtonText',\n 'positive',\n 'primary',\n 'surface',\n 'surfaceText',\n 'text',\n ] as const;\n return requiredColors.every(\n (color) => theme[color] && isValidColor(theme[color]!)\n );\n};\n\n/**\n * Safely creates a Color instance with error handling\n * @param color - Color string to process\n * @returns Color instance or null if invalid\n */\nconst createSafeColor = (color: string): Color | null => {\n try {\n return Color(color);\n } catch (error) {\n console.error(`Invalid color value: ${color}`, error);\n return null;\n }\n};\n\n/**\n * Returns a derived color based on the background darkness\n * @param color - Base color to derive from\n * @returns Derived color string or default color if invalid\n */\nexport const getDerivedColor = (color: string): string => {\n const backgroundColor = createSafeColor(color);\n if (!backgroundColor) return COLOR_CONSTANTS.DEFAULT_COLOR;\n\n return backgroundColor.isDark()\n ? backgroundColor\n .lighten(COLOR_CONSTANTS.DEFAULT_LIGHTNESS_ADJUSTMENT)\n .string()\n : backgroundColor\n .darken(COLOR_CONSTANTS.DEFAULT_LIGHTNESS_ADJUSTMENT)\n .string();\n};\n\n/**\n * Determines the most readable text color (black or white) for a given background\n * @param backgroundColor - Background color to check against\n * @returns Hex color string for text\n */\nexport const getReadableTextColor = (backgroundColor: string): string => {\n const bgColor = createSafeColor(backgroundColor);\n if (!bgColor) return COLOR_CONSTANTS.DEFAULT_COLOR;\n\n const white = Color('#fff');\n const black = Color('#000');\n\n const contrastWithWhite = bgColor.contrast(white);\n return contrastWithWhite >= COLOR_CONSTANTS.MINIMUM_CONTRAST_RATIO\n ? white.hex()\n : black.hex();\n};\n\nconst percentages: PercentageKey[] = [\n 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95,\n];\n\n/**\n * Generates a set of derived colors based on a base color and derivation function\n * @param color - Base color to derive from\n * @param derivationFunction - Function to generate variations\n * @returns Object containing derived colors at different percentages\n */\nconst generateDerivedColors = (\n color: string,\n derivationFunction: (baseColor: Color, percentage: PercentageKey) => Color\n): DerivedColors => {\n const baseColor = createSafeColor(color);\n if (!baseColor) {\n return percentages.reduce((acc, percentage) => {\n acc[percentage] = COLOR_CONSTANTS.DEFAULT_COLOR;\n return acc;\n }, {} as DerivedColors);\n }\n\n const result = {} as DerivedColors;\n percentages.forEach((percentage) => {\n try {\n const derivedColor = derivationFunction(baseColor, percentage);\n result[percentage] = derivedColor.toString();\n } catch (error) {\n console.error(`Error generating derived color for ${percentage}%`, error);\n result[percentage] = COLOR_CONSTANTS.DEFAULT_COLOR;\n }\n });\n return result;\n};\n\n/**\n * Generates a set of colors with varying lightness based on the base color\n * @param color - Base color to derive from\n * @returns Object containing derived colors at different lightness levels\n */\nexport const getDerivedColorPercentages = (color: string): DerivedColors => {\n const baseColor = createSafeColor(color);\n if (!baseColor)\n return generateDerivedColors(\n COLOR_CONSTANTS.DEFAULT_COLOR,\n (color) => color\n );\n\n const isDark = baseColor.isDark();\n return generateDerivedColors(color, (baseColor, percentage) =>\n isDark\n ? baseColor.lightness(percentage)\n : baseColor.lightness(100 - percentage)\n );\n};\n\n/**\n * Generates a set of colors with varying alpha values\n * @param color - Base color to derive from\n * @returns Object containing derived colors at different alpha levels\n */\nexport const getAlphaDerivedColors = (color: string): DerivedColors => {\n return generateDerivedColors(color, (baseColor, percentage) =>\n baseColor.alpha(percentage / 100)\n );\n};\n\n/**\n * Determines if a color should be desaturated based on type and count\n * @param type - Type of desaturation to apply\n * @param count - Count value affecting desaturation\n * @returns Boolean indicating if color should be desaturated\n */\nexport const shouldDesaturate = (\n type: DesaturationType,\n count: number\n): boolean => {\n switch (type) {\n case 'SPECIFIC':\n return count === 0;\n default:\n return false;\n }\n};\n\n/**\n * Desaturates a color and lightens it\n * @param color - Color to desaturate\n * @returns Desaturated color string or default color if invalid\n */\nexport const desaturateColor = (color: string): string => {\n const baseColor = createSafeColor(color);\n if (!baseColor) return COLOR_CONSTANTS.DEFAULT_COLOR;\n\n return baseColor\n .grayscale()\n .lighten(COLOR_CONSTANTS.DESATURATION_LIGHTEN_AMOUNT)\n .toString();\n};\n\n/**\n * Gets the appropriate state color based on type and count\n * @param baseColor - Base color to process\n * @param type - Type of state\n * @param count - Count affecting the state\n * @returns Processed color string\n */\nexport const getStateColor = (\n baseColor: string,\n type: DesaturationType,\n count: number\n): string => {\n return shouldDesaturate(type, count) ? desaturateColor(baseColor) : baseColor;\n};\n\n// Export theme-related items\nexport { themeItems, ThemeName, themes };\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 */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = canUseDOM;\nfunction update() {\n if (!canUseDOM) {\n return;\n }\n var win = window;\n var height;\n var width;\n\n /**\n * iOS does not update viewport dimensions on keyboard open/close.\n * window.visualViewport(https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport)\n * is used instead of document.documentElement.clientHeight (which remains as a fallback)\n */\n if (win.visualViewport) {\n var visualViewport = win.visualViewport;\n /**\n * We are multiplying by scale because height and width from visual viewport\n * also react to pinch zoom, and become smaller when zoomed. But it is not desired\n * behaviour, since originally documentElement client height and width were used,\n * and they do not react to pinch zoom.\n */\n height = Math.round(visualViewport.height * visualViewport.scale);\n width = Math.round(visualViewport.width * visualViewport.scale);\n } else {\n var docEl = win.document.documentElement;\n height = docEl.clientHeight;\n width = docEl.clientWidth;\n }\n dimensions.window = {\n fontScale: 1,\n height,\n scale: win.devicePixelRatio || 1,\n width\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\nfunction handleResize() {\n update();\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n}\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nif (canUseDOM) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\n}","export const DIMENSION_MODES = {\n DESKTOP: 'desktop' as const,\n TABLET: 'tablet' as const,\n MOBILE: 'mobile' as const,\n};\n\nexport const TABLET_SCREEN_WIDTH = 728;\nexport const SMALL_SCREEN_WIDTH = 530;\n","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n return false;\n }\n};\nexport default Platform;","import { useEffect, useState } from 'react';\nimport { Dimensions, Platform } from 'react-native';\nimport {\n DIMENSION_MODES,\n SMALL_SCREEN_WIDTH,\n TABLET_SCREEN_WIDTH,\n} from '../constants/responsive';\nimport { DimensionMode, WindowDimensions } from '../types/responsive';\n\nconst isWeb = Platform.OS === 'web';\n\nexport function getDimensionMode(window: WindowDimensions): DimensionMode {\n if (!window || !window.width) {\n return DIMENSION_MODES.MOBILE;\n }\n\n const { width: screenWidth } = window;\n\n if (screenWidth >= TABLET_SCREEN_WIDTH) {\n return DIMENSION_MODES.DESKTOP;\n }\n if (screenWidth >= SMALL_SCREEN_WIDTH) {\n return DIMENSION_MODES.TABLET;\n }\n return DIMENSION_MODES.MOBILE;\n}\n\nexport function useResponsive() {\n const deviceWindow = Dimensions.get('window');\n const [dimensionMode, setDimensionMode] = useState<DimensionMode>(\n getDimensionMode(deviceWindow)\n );\n\n useEffect(() => {\n if (!isWeb) return;\n\n const subscription = Dimensions.addEventListener('change', ({ window }) => {\n if (window) {\n const mode = getDimensionMode(window);\n setDimensionMode(mode);\n }\n });\n\n return () => {\n if (subscription) {\n subscription.remove();\n }\n };\n }, []);\n\n return {\n dimensionMode,\n isDesktop: dimensionMode === DIMENSION_MODES.DESKTOP,\n isTablet: dimensionMode === DIMENSION_MODES.TABLET,\n isMobile: dimensionMode === DIMENSION_MODES.MOBILE,\n };\n}\n","import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { Dimensions } from 'react-native';\nimport { DIMENSION_MODES } from '../constants/responsive';\nimport { getDimensionMode } from '../hooks/useResponsive';\nimport { ResponsiveContextType } from '../types/responsive';\n\nconst ResponsiveContext = createContext<ResponsiveContextType | undefined>(\n undefined\n);\n\nexport function ResponsiveProvider({ children }: PropsWithChildren) {\n const getDerivedState = useCallback((window: any) => {\n const dimensionMode = getDimensionMode(window);\n return {\n dimensionMode,\n isDesktop: dimensionMode === DIMENSION_MODES.DESKTOP,\n isTablet: dimensionMode === DIMENSION_MODES.TABLET,\n isMobile: dimensionMode === DIMENSION_MODES.MOBILE,\n };\n }, []);\n\n const [state, setState] = useState(() => {\n const window = Dimensions.get('window');\n return getDerivedState(window);\n });\n\n const value = useMemo(() => state, [state]);\n\n useEffect(() => {\n const subscription = Dimensions.addEventListener('change', ({ window }) => {\n if (window) {\n setState(getDerivedState(window));\n }\n });\n\n return () => {\n if (subscription) {\n subscription.remove();\n }\n };\n }, [getDerivedState]);\n\n return (\n <ResponsiveContext.Provider value={value}>\n {children}\n </ResponsiveContext.Provider>\n );\n}\n\nexport function useResponsive(): ResponsiveContextType {\n const context = useContext(ResponsiveContext);\n if (context === undefined) {\n throw new Error('useResponsive must be used within a ResponsiveProvider');\n }\n return context;\n}\n","import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { useNavigation } from '../hooks/useNavigationHandler';\nimport { TGroup } from '../types/group';\nimport { WithChildren } from '../types/helpers';\nimport { NavigationConfig } from '../types/navigation';\nimport { TSection } from '../types/section';\nimport { BaseThemeObject, ThemeContextType, ThemeObject } from '../types/theme';\nimport { CTALinkTarget, Tile } from '../types/tile';\nimport {\n useGetGroupByID,\n useGetSectionByID,\n useGetTileByID,\n} from '../utils/apiHelpers';\nimport { defaultTheme, sizes } from '../utils/styling';\nimport {\n getAlphaDerivedColors,\n getDerivedColor,\n getDerivedColorPercentages,\n getReadableTextColor,\n validateTheme,\n} from '../utils/themeHelpers';\nimport { ResponsiveProvider } from './ResponsiveContext';\n\ntype Fetcher = <T>(\n endpoint: string,\n options?: RequestInit\n) => Promise<APIResponse<T>>;\n\nexport type SDKConfig = {\n apiKey: string;\n userToken?: string;\n fetcher?: Fetcher;\n locale?: string;\n};\n\nexport type APIResponse<T> = {\n status: 'success' | 'error';\n data: T | null;\n error?: string;\n};\n\ntype WllSdkContextType = ThemeContextType & {\n getGroupByID: (id: string) => Promise<APIResponse<TGroup>>;\n getSectionByID: (id: string) => Promise<APIResponse<TSection>>;\n getTileByID: (id: string) => Promise<APIResponse<Tile>>;\n handleNavigation: (link: string, target: CTALinkTarget) => Promise<void>;\n} & Readonly<{\n readonly config: SDKConfig;\n }>;\n\ntype WllSdkProviderProps = WithChildren & {\n theme?: Partial<BaseThemeObject>;\n config: SDKConfig;\n navigationConfig?: NavigationConfig;\n};\n\nconst createTheme = (baseTheme: Partial<BaseThemeObject> = {}): ThemeObject => {\n const mergedTheme = {\n ...defaultTheme,\n ...baseTheme,\n } as BaseThemeObject;\n\n return {\n ...mergedTheme,\n sizes,\n derivedBackground: getDerivedColor(mergedTheme.background),\n primaryText: getReadableTextColor(mergedTheme.primary),\n accentText: getReadableTextColor(mergedTheme.accent),\n positiveText: getReadableTextColor(mergedTheme.positive),\n negativeText: getReadableTextColor(mergedTheme.negative),\n derivedSurface: getDerivedColorPercentages(mergedTheme.surface),\n derivedSurfaceText: getDerivedColorPercentages(mergedTheme.surfaceText),\n alphaDerivedPrimary: getAlphaDerivedColors(mergedTheme.primary),\n alphaDerivedText: getAlphaDerivedColors(mergedTheme.text),\n };\n};\n\nconst WllSdkContext = createContext<WllSdkContextType | undefined>(undefined);\n\nexport const WllSdkProvider = ({\n children,\n theme: providedTheme,\n config,\n navigationConfig = {},\n}: WllSdkProviderProps): JSX.Element => {\n validateConfig(config);\n\n const [theme, setThemeState] = useState(() => {\n const themeToUse = providedTheme || {};\n if (!validateTheme(themeToUse)) {\n console.warn(\n 'Invalid theme provided. Some required colors are missing or invalid.'\n );\n }\n return createTheme(themeToUse);\n });\n\n useEffect(() => {\n const themeToUse = providedTheme || {};\n if (!validateTheme(themeToUse)) {\n console.warn(\n 'Invalid theme provided. Some required colors are missing or invalid.'\n );\n }\n setThemeState(createTheme(themeToUse));\n }, [providedTheme]);\n\n const setTheme = useCallback((newTheme: Partial<BaseThemeObject>) => {\n if (!validateTheme(newTheme)) {\n console.warn(\n 'Invalid theme provided. Some required colors are missing or invalid.'\n );\n }\n setThemeState((prevTheme) => createTheme({ ...prevTheme, ...newTheme }));\n }, []);\n\n const getGroupByID = useGetGroupByID(config) as (\n id: string\n ) => Promise<APIResponse<TGroup>>;\n const getSectionByID = useGetSectionByID(config) as (\n id: string\n ) => Promise<APIResponse<TSection>>;\n const getTileByID = useGetTileByID(config) as (\n id: string\n ) => Promise<APIResponse<Tile>>;\n\n const handleNavigation = useNavigation(navigationConfig);\n\n const contextValue = useMemo(\n () => ({\n theme,\n setTheme,\n getGroupByID,\n getSectionByID,\n getTileByID,\n handleNavigation,\n config,\n }),\n [\n theme,\n setTheme,\n getGroupByID,\n getSectionByID,\n getTileByID,\n handleNavigation,\n config,\n ]\n );\n return (\n <WllSdkContext.Provider value={contextValue}>\n <ResponsiveProvider>{children}</ResponsiveProvider>\n </WllSdkContext.Provider>\n );\n};\n\nexport const useWllSdk = (): WllSdkContextType => {\n const context = useContext(WllSdkContext);\n if (context === undefined) {\n throw new Error('useWllSdk must be used within a WllSdkProvider');\n }\n return context;\n};\n\n/**\n * Validates the SDK configuration object\n * @param config - The configuration object to validate\n * @throws {Error} If apiKey is missing\n * @throws {Error} If locale is provided but not in ISO 639-1 format (e.g. 'en')\n */\nconst validateConfig = (config: SDKConfig): void => {\n if (!config.apiKey) {\n throw new Error('API key is required');\n }\n\n if (config.locale && !/^[a-z]{2}$/.test(config.locale)) {\n throw new Error(\n 'Invalid locale format. Expected ISO 639-1 language code (e.g. \"en\")'\n );\n }\n};\n","import { TextStyle, ViewStyle } from \"react-native\";\nimport { ThemeObject } from \"../types/theme\";\n\ntype StyleVariants<V extends string> = Record<V, ViewStyle | TextStyle>;\n\nexport function createVariantSystem<V extends string>(\n baseStyle: ViewStyle | TextStyle,\n variantStyles: (theme: ThemeObject) => StyleVariants<V>\n) {\n return (theme: ThemeObject, variant: V) => {\n const styles = variantStyles(theme);\n return [baseStyle, styles[variant]];\n };\n}\n","import { useEffect, useState } from 'react';\nimport { Dimensions, Platform } from 'react-native';\nimport {\n SMALL_SCREEN_WIDTH,\n TABLET_SCREEN_WIDTH,\n} from '../constants/responsive';\n\nconst clamp = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nconst lerp = (start: number, end: number, t: number) =>\n start + (end - start) * t;\n\nconst getWindowWidth = () => {\n if (Platform.OS === 'web') {\n return window.innerWidth;\n }\n return Dimensions.get('window').width;\n};\n\nexport const getResponsiveValue = (\n desktopValue: number,\n mobileValue: number,\n isDesktop: boolean,\n isTablet: boolean\n) => {\n const width = getWindowWidth();\n const tabletValue = (desktopValue + mobileValue) / 2;\n\n // Desktop to Tablet scaling\n if (width >= TABLET_SCREEN_WIDTH) {\n const t = clamp((width - TABLET_SCREEN_WIDTH) / 300, 0, 1); // 300px scaling range\n return Math.round(lerp(tabletValue, desktopValue, t));\n }\n\n // Tablet to Mobile scaling\n if (width > SMALL_SCREEN_WIDTH) {\n const t = clamp(\n (width - SMALL_SCREEN_WIDTH) / (TABLET_SCREEN_WIDTH - SMALL_SCREEN_WIDTH),\n 0,\n 1\n );\n return Math.round(lerp(mobileValue, tabletValue, t));\n }\n\n return mobileValue;\n};\n\nexport const useResponsiveValue = (\n desktopValue: number,\n mobileValue: number,\n isDesktop: boolean,\n isTablet: boolean\n) => {\n const [value, setValue] = useState(() =>\n getResponsiveValue(desktopValue, mobileValue, isDesktop, isTablet)\n );\n\n useEffect(() => {\n if (Platform.OS !== 'web') return;\n\n const handleResize = () => {\n setValue(\n getResponsiveValue(desktopValue, mobileValue, isDesktop, isTablet)\n );\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [desktopValue, mobileValue, isDesktop, isTablet]);\n\n return value;\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useButtonDynamicStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingHorizontal: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n paddingVertical: theme.sizes.sm,\n alignSelf: 'flex-start',\n },\n text: {\n textAlign: 'center',\n textTransform: 'uppercase',\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n fontWeight: '700',\n },\n });\n};\n","import * as React from 'react';\nimport { Pressable, Text } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Variant } from '../../../types/theme';\nimport { createVariantSystem } from '../../../utils/variant';\nimport { useButtonDynamicStyles } from './styles';\n\ntype ButtonProps = {\n title: string;\n onPress: () => void;\n variant: Variant;\n disabled?: boolean;\n accessibilityLabel?: string;\n accessibilityHint?: string;\n testID?: string;\n};\n\nconst useButtonStyles = createVariantSystem({}, (theme) => ({\n primary: {\n backgroundColor: theme.primary,\n },\n accent: {\n backgroundColor: theme.accent,\n },\n positive: {\n backgroundColor: theme.positive,\n },\n negative: {\n backgroundColor: theme.negative,\n },\n}));\n\nconst useTextStyles = createVariantSystem({}, (theme) => ({\n primary: {\n color: theme.primaryText,\n },\n accent: {\n color: theme.accentText,\n },\n positive: {\n color: theme.positiveText,\n },\n negative: {\n color: theme.negativeText,\n },\n}));\n\nconst Button = ({\n title,\n onPress,\n variant,\n disabled = false,\n accessibilityLabel,\n accessibilityHint,\n testID,\n}: ButtonProps): JSX.Element => {\n const { theme } = useWllSdk();\n const buttonStyle = useButtonStyles(theme, variant);\n const textStyle = useTextStyles(theme, variant);\n const styles = useButtonDynamicStyles();\n\n return (\n <Pressable\n style={({ pressed }) => [\n styles.button,\n buttonStyle,\n { borderRadius: theme.sizes.borderRadiusButton },\n disabled && { opacity: 0.5 },\n pressed && { opacity: 0.7 },\n ]}\n onPress={onPress}\n disabled={disabled}\n accessible={true}\n role=\"button\"\n accessibilityLabel={accessibilityLabel || title}\n accessibilityHint={accessibilityHint}\n accessibilityState={{ disabled }}\n testID={testID}\n >\n <Text style={[styles.text, textStyle]}>{title}</Text>\n </Pressable>\n );\n};\n\nexport default Button;\n","/* istanbul ignore file */\nimport * as LucideIcons from 'lucide-react';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\n\ntype IconName = keyof typeof LucideIcons;\n\ntype IconProps = {\n name: IconName;\n color?: string;\n size?: number;\n strokeWidth?: number;\n} & Omit<ViewProps, 'style'>;\n\nconst Icon = ({\n name,\n color = 'black',\n size = 24,\n strokeWidth = 2,\n ...props\n}: IconProps): JSX.Element | null => {\n const LucideIcon = LucideIcons[name] as React.ElementType;\n\n if (!LucideIcon) {\n console.warn(`Icon \"${name}\" not found in Lucide icons`);\n return null;\n }\n\n return (\n <View {...props}>\n <LucideIcon color={color} size={size} strokeWidth={strokeWidth} />\n </View>\n );\n};\n\nexport default Icon;\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 1,\n \"aria-valuemin\": 0,\n ref: forwardedRef,\n role: \"progressbar\",\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","/* istanbul ignore file */\nimport * as React from 'react';\nimport { ActivityIndicator, StyleSheet, View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\n\nconst LoadingIndicator = (): JSX.Element => {\n const { theme } = useWllSdk();\n\n return (\n <View\n style={[\n styles.container,\n {\n borderRadius: theme.sizes.borderRadiusSm,\n padding: theme.sizes.md,\n },\n ]}\n >\n <ActivityIndicator size=\"small\" color={theme.primary} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n});\n\nexport default LoadingIndicator;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\n/*\n * @returns {bool} true if different, false if equal\n */\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\n if (maxDepth === 0) {\n return true;\n }\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal\n return false;\n }\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\n if (typeof two !== 'object' || two === null) {\n // We know they are different because the previous case would have triggered\n // otherwise.\n return true;\n }\n if (one.constructor !== two.constructor) {\n return true;\n }\n if (Array.isArray(one)) {\n // We know two is also an array because the constructors are equal\n var len = one.length;\n if (two.length !== len) {\n return true;\n }\n for (var ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1)) {\n return true;\n }\n }\n } else {\n for (var key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1)) {\n return true;\n }\n }\n for (var twoKey in two) {\n // The only case we haven't checked yet is keys that are in two but aren't\n // in one, which means they are different.\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n return false;\n};\nexport default deepDiffer;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\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}\nexport { _createForOfIteratorHelperLoose as default };","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport View from '../View';\nimport React from 'react';\nfunction RefreshControl(props) {\n var colors = props.colors,\n enabled = props.enabled,\n onRefresh = props.onRefresh,\n progressBackgroundColor = props.progressBackgroundColor,\n progressViewOffset = props.progressViewOffset,\n refreshing = props.refreshing,\n size = props.size,\n tintColor = props.tintColor,\n title = props.title,\n titleColor = props.titleColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, rest);\n}\nexport default RefreshControl;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport UIManager from '../../exports/UIManager';\n\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\n /**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\n currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n return this._currentlyFocusedNode;\n },\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport TextInputState from '../TextInputState';\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\nexport default dismissKeyboard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n get y() {\n return e.target.scrollTop;\n }\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n get width() {\n return e.target.scrollWidth;\n }\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n get width() {\n return e.target.offsetWidth;\n }\n }\n },\n timeStamp: Date.now()\n };\n}\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n function handleScroll(e) {\n e.stopPropagation();\n if (e.target === scrollRef.current) {\n e.persist();\n // A scroll happened, so the scroll resets the scrollend timeout.\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n});\n\n// Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","\"use strict\";\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 */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\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 */\n'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\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 var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\", \"centerContent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport Dimensions from '../Dimensions';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport Platform from '../Platform';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport React from 'react';\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nclass ScrollView extends React.Component {\n constructor() {\n super(...arguments);\n this._scrollNodeRef = null;\n this._innerViewRef = null;\n this.isTouching = false;\n this.lastMomentumScrollBeginTime = 0;\n this.lastMomentumScrollEndTime = 0;\n this.observedScrollSinceBecomingResponder = false;\n this.becameResponderWhileAnimating = false;\n this.scrollResponderHandleScrollShouldSetResponder = () => {\n return this.isTouching;\n };\n this.scrollResponderHandleStartShouldSetResponderCapture = e => {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleTerminationRequest = () => {\n return !this.observedScrollSinceBecomingResponder;\n };\n this.scrollResponderHandleTouchEnd = e => {\n var nativeEvent = e.nativeEvent;\n this.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n this.scrollResponderHandleResponderRelease = e => {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n this.scrollResponderHandleScroll = e => {\n this.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n this.scrollResponderHandleResponderGrant = e => {\n this.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleScrollBeginDrag = e => {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this.scrollResponderHandleScrollEndDrag = e => {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this.scrollResponderHandleMomentumScrollBegin = e => {\n this.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this.scrollResponderHandleMomentumScrollEnd = e => {\n this.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this.scrollResponderHandleTouchStart = e => {\n this.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n this.scrollResponderHandleTouchMove = e => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n this.scrollResponderIsAnimating = () => {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime;\n return isAnimating;\n };\n this.scrollResponderScrollTo = (x, y, animated) => {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n var node = this.getScrollableNode();\n var left = x || 0;\n var top = y || 0;\n if (node != null) {\n if (typeof node.scroll === 'function') {\n node.scroll({\n top,\n left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n }\n };\n this.scrollResponderZoomTo = (rect, animated) => {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n };\n this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n };\n this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => {\n var keyboardScreenY = Dimensions.get('window').height;\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n var scrollOffsetY = top - keyboardScreenY + height + this.additionalScrollOffset;\n\n // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n if (this.preventNegativeScrollOffset) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n };\n this.scrollResponderKeyboardWillShow = e => {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n this.scrollResponderKeyboardWillHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n this.scrollResponderKeyboardDidShow = e => {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n this.scrollResponderKeyboardDidHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n this.flashScrollIndicators = () => {\n this.scrollResponderFlashScrollIndicators();\n };\n this.getScrollResponder = () => {\n return this;\n };\n this.getScrollableNode = () => {\n return this._scrollNodeRef;\n };\n this.getInnerViewRef = () => {\n return this._innerViewRef;\n };\n this.getInnerViewNode = () => {\n return this._innerViewRef;\n };\n this.getNativeScrollRef = () => {\n return this._scrollNodeRef;\n };\n this.scrollTo = (y, x, animated) => {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref2 = y || emptyObject;\n x = _ref2.x;\n y = _ref2.y;\n animated = _ref2.animated;\n }\n this.scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n };\n this.scrollToEnd = options => {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponderNode = this.getScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n this.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n };\n this._handleContentOnLayout = e => {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n };\n this._handleScroll = e => {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a <ScrollView> but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n this.scrollResponderHandleScroll(e);\n };\n this._setInnerViewRef = node => {\n this._innerViewRef = node;\n };\n this._setScrollNodeRef = node => {\n this._scrollNodeRef = node;\n // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n };\n }\n /**\n * ------------------------------------------------------\n * START SCROLLRESPONDER\n * ------------------------------------------------------\n */\n // Reset to false every time becomes responder. This is used to:\n // - Determine if the scroll view has been scrolled and therefore should\n // refuse to give up its responder lock.\n // - Determine if releasing should dismiss the keyboard when we are in\n // tap-to-dismiss mode (!this.props.keyboardShouldPersistTaps).\n /**\n * Invoke this from an `onScroll` event.\n */\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n scrollResponderHandleStartShouldSetResponder() {\n return false;\n }\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\n }\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n\n /**\n * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll\n * animation, and there's not an easy way to distinguish a drag vs. stopping\n * momentum.\n *\n * Invoke this from an `onScrollBeginDrag` event.\n */\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {SyntheticEvent} e Touch Start event.\n */\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n\n /**\n * A helper function to scroll to a specific point in the scrollview.\n * This is currently used to help focus on child textviews, but can also\n * be used to quickly scroll to any element we want to focus. Syntax:\n *\n * scrollResponderScrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators() {}\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n\n /**\n * The calculations performed here assume the scroll view takes up the entire\n * screen - even if has some content inset. We then measure the offsets of the\n * keyboard, and compensate both for the scroll view's \"contentInset\".\n *\n * @param {number} left Position of input w.r.t. table view.\n * @param {number} top Position of input w.r.t. table view.\n * @param {number} width Width of the text input.\n * @param {number} height Height of the text input.\n */\n\n scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\n }\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` providesModule callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n\n /**\n * ------------------------------------------------------\n * END SCROLLRESPONDER\n * ------------------------------------------------------\n */\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n * Syntax:\n *\n * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({ animated: true })` for smooth animated scrolling,\n * `scrollToEnd({ animated: false })` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n\n render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n centerContent = _this$props.centerContent,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n var contentSizeChangeProps = {};\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: [isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild]\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle]\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n return scrollView;\n }\n}\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: 'translateZ(0)',\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n contentContainerCenterContent: {\n justifyContent: 'center',\n flexGrow: 1\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nclass TaskQueue {\n constructor(_ref) {\n var onMoreTasks = _ref.onMoreTasks;\n this._onMoreTasks = onMoreTasks;\n this._queueStack = [{\n tasks: [],\n popable: true\n }];\n }\n enqueue(task) {\n this._getCurrentQueue().push(task);\n }\n enqueueTasks(tasks) {\n tasks.forEach(task => this.enqueue(task));\n }\n cancelTasks(tasksToCancel) {\n this._queueStack = this._queueStack.map(queue => _objectSpread(_objectSpread({}, queue), {}, {\n tasks: queue.tasks.filter(task => tasksToCancel.indexOf(task) === -1)\n })).filter((queue, idx) => queue.tasks.length > 0 || idx === 0);\n }\n hasTasksToProcess() {\n return this._getCurrentQueue().length > 0;\n }\n\n /**\n * Executes the next task in the queue.\n */\n processNext() {\n var queue = this._getCurrentQueue();\n if (queue.length) {\n var task = queue.shift();\n try {\n if (typeof task === 'object' && task.gen) {\n this._genPromise(task);\n } else if (typeof task === 'object' && task.run) {\n task.run();\n } else {\n invariant(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\\n' + JSON.stringify(task, null, 2));\n task();\n }\n } catch (e) {\n e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;\n throw e;\n }\n }\n }\n _getCurrentQueue() {\n var stackIdx = this._queueStack.length - 1;\n var queue = this._queueStack[stackIdx];\n if (queue.popable && queue.tasks.length === 0 && stackIdx > 0) {\n this._queueStack.pop();\n return this._getCurrentQueue();\n } else {\n return queue.tasks;\n }\n }\n _genPromise(task) {\n var length = this._queueStack.push({\n tasks: [],\n popable: false\n });\n var stackIdx = length - 1;\n var stackItem = this._queueStack[stackIdx];\n task.gen().then(() => {\n stackItem.popable = true;\n this.hasTasksToProcess() && this._onMoreTasks();\n }).catch(ex => {\n setTimeout(() => {\n ex.message = \"TaskQueue: Error resolving Promise in task \" + task.name + \": \" + ex.message;\n throw ex;\n }, 0);\n });\n }\n}\nexport default TaskQueue;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/**\n * EventEmitter manages listeners and publishes events to them.\n *\n * EventEmitter accepts a single type parameter that defines the valid events\n * and associated listener argument(s).\n *\n * @example\n *\n * const emitter = new EventEmitter<{\n * success: [number, string],\n * error: [Error],\n * }>();\n *\n * emitter.on('success', (statusCode, responseText) => {...});\n * emitter.emit('success', 200, '...');\n *\n * emitter.on('error', error => {...});\n * emitter.emit('error', new Error('Resource not found'));\n *\n */\nexport default class EventEmitter {\n constructor() {\n this._registry = {};\n }\n /**\n * Registers a listener that is called when the supplied event is emitted.\n * Returns a subscription that has a `remove` method to undo registration.\n */\n addListener(eventType, listener, context) {\n var registrations = allocate(this._registry, eventType);\n var registration = {\n context,\n listener,\n remove() {\n registrations.delete(registration);\n }\n };\n registrations.add(registration);\n return registration;\n }\n\n /**\n * Emits the supplied event. Additional arguments supplied to `emit` will be\n * passed through to each of the registered listeners.\n *\n * If a listener modifies the listeners registered for the same event, those\n * changes will not be reflected in the current invocation of `emit`.\n */\n emit(eventType) {\n var registrations = this._registry[eventType];\n if (registrations != null) {\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 for (var _i = 0, _arr = [...registrations]; _i < _arr.length; _i++) {\n var registration = _arr[_i];\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners(eventType) {\n if (eventType == null) {\n this._registry = {};\n } else {\n delete this._registry[eventType];\n }\n }\n\n /**\n * Returns the number of registered listeners for the supplied event.\n */\n listenerCount(eventType) {\n var registrations = this._registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\nfunction allocate(registry, eventType) {\n var registrations = registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\nimport canUseDOM from '../canUseDom';\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(() => {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\nvar isSupported = canUseDOM && typeof window.requestIdleCallback !== 'undefined';\nvar requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback;\nvar cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback;\nexport default requestIdleCallback;\nexport { cancelIdleCallback };","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport TaskQueue from './TaskQueue';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport requestIdleCallback from '../../modules/requestIdleCallback';\nvar _emitter = new EventEmitter();\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions(task) {\n var tasks = [];\n var promise = new Promise(resolve => {\n _scheduleUpdate();\n if (task) {\n tasks.push(task);\n }\n tasks.push({\n run: resolve,\n name: 'resolve ' + (task && task.name || '?')\n });\n _taskQueue.enqueueTasks(tasks);\n });\n return {\n then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: () => {\n _taskQueue.cancelTasks(tasks);\n }\n };\n },\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle() {\n _scheduleUpdate();\n var handle = ++_inc;\n _addInteractionSet.add(handle);\n return handle;\n },\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n _scheduleUpdate();\n _addInteractionSet.delete(handle);\n _deleteInteractionSet.add(handle);\n },\n addListener: _emitter.addListener.bind(_emitter),\n /**\n *\n * @param deadline\n */\n setDeadline(deadline) {\n _deadline = deadline;\n }\n};\nvar _interactionSet = new Set();\nvar _addInteractionSet = new Set();\nvar _deleteInteractionSet = new Set();\nvar _taskQueue = new TaskQueue({\n onMoreTasks: _scheduleUpdate\n});\nvar _nextUpdateHandle = 0;\nvar _inc = 0;\nvar _deadline = -1;\n\n/**\n * Schedule an asynchronous update to the interaction state.\n */\nfunction _scheduleUpdate() {\n if (!_nextUpdateHandle) {\n if (_deadline > 0) {\n _nextUpdateHandle = setTimeout(_processUpdate);\n } else {\n _nextUpdateHandle = requestIdleCallback(_processUpdate);\n }\n }\n}\n\n/**\n * Notify listeners, process queue, etc\n */\nfunction _processUpdate() {\n _nextUpdateHandle = 0;\n var interactionCount = _interactionSet.size;\n _addInteractionSet.forEach(handle => _interactionSet.add(handle));\n _deleteInteractionSet.forEach(handle => _interactionSet.delete(handle));\n var nextInteractionCount = _interactionSet.size;\n if (interactionCount !== 0 && nextInteractionCount === 0) {\n _emitter.emit(InteractionManager.Events.interactionComplete);\n } else if (interactionCount === 0 && nextInteractionCount !== 0) {\n _emitter.emit(InteractionManager.Events.interactionStart);\n }\n if (nextInteractionCount === 0) {\n // It seems that we can't know the running time of the current event loop,\n // we can only calculate the running time of the current task queue.\n var begin = Date.now();\n while (_taskQueue.hasTasksToProcess()) {\n _taskQueue.processNext();\n if (_deadline > 0 && Date.now() - begin >= _deadline) {\n _scheduleUpdate();\n break;\n }\n }\n }\n _addInteractionSet.clear();\n _deleteInteractionSet.clear();\n}\nexport default InteractionManager;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n\n/**\n * A simple class for batching up invocations of a low-pri callback. A timeout is set to run the\n * callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,\n * InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri\n * interactions are done running.\n *\n * Make sure to cleanup with dispose(). Example:\n *\n * class Widget extends React.Component {\n * _batchedSave: new Batchinator(() => this._saveState, 1000);\n * _saveSate() {\n * // save this.state to disk\n * }\n * componentDidUpdate() {\n * this._batchedSave.schedule();\n * }\n * componentWillUnmount() {\n * this._batchedSave.dispose();\n * }\n * ...\n * }\n */\nclass Batchinator {\n constructor(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n /*\n * Cleanup any pending tasks.\n *\n * By default, if there is a pending task the callback is run immediately. Set the option abort to\n * true to not call the callback if it was pending.\n */\n dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n if (this._taskHandle) {\n this._taskHandle.cancel();\n if (!options.abort) {\n this._callback();\n }\n this._taskHandle = null;\n }\n }\n schedule() {\n if (this._taskHandle) {\n return;\n }\n var timeoutHandle = setTimeout(() => {\n this._taskHandle = InteractionManager.runAfterInteractions(() => {\n // Note that we clear the handle before invoking the callback so that if the callback calls\n // schedule again, it will actually schedule another task.\n this._taskHandle = null;\n this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: () => clearTimeout(timeoutHandle)\n };\n }\n}\nexport default Batchinator;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nfunction clamp(min, value, max) {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\nexport default clamp;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog() {\n return console.log(...arguments);\n}\nexport default infoLog;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport class CellRenderMask {\n constructor(numCells) {\n invariant(numCells >= 0, 'CellRenderMask must contain a non-negative number os cells');\n this._numCells = numCells;\n if (numCells === 0) {\n this._regions = [];\n } else {\n this._regions = [{\n first: 0,\n last: numCells - 1,\n isSpacer: true\n }];\n }\n }\n enumerateRegions() {\n return this._regions;\n }\n addCells(cells) {\n invariant(cells.first >= 0 && cells.first < this._numCells && cells.last >= -1 && cells.last < this._numCells && cells.last >= cells.first - 1, 'CellRenderMask.addCells called with invalid cell range');\n\n // VirtualizedList uses inclusive ranges, where zero-count states are\n // possible. E.g. [0, -1] for no cells, starting at 0.\n if (cells.last < cells.first) {\n return;\n }\n var _this$_findRegion = this._findRegion(cells.first),\n firstIntersect = _this$_findRegion[0],\n firstIntersectIdx = _this$_findRegion[1];\n var _this$_findRegion2 = this._findRegion(cells.last),\n lastIntersect = _this$_findRegion2[0],\n lastIntersectIdx = _this$_findRegion2[1];\n\n // Fast-path if the cells to add are already all present in the mask. We\n // will otherwise need to do some mutation.\n if (firstIntersectIdx === lastIntersectIdx && !firstIntersect.isSpacer) {\n return;\n }\n\n // We need to replace the existing covered regions with 1-3 new regions\n // depending whether we need to split spacers out of overlapping regions.\n var newLeadRegion = [];\n var newTailRegion = [];\n var newMainRegion = _objectSpread(_objectSpread({}, cells), {}, {\n isSpacer: false\n });\n if (firstIntersect.first < newMainRegion.first) {\n if (firstIntersect.isSpacer) {\n newLeadRegion.push({\n first: firstIntersect.first,\n last: newMainRegion.first - 1,\n isSpacer: true\n });\n } else {\n newMainRegion.first = firstIntersect.first;\n }\n }\n if (lastIntersect.last > newMainRegion.last) {\n if (lastIntersect.isSpacer) {\n newTailRegion.push({\n first: newMainRegion.last + 1,\n last: lastIntersect.last,\n isSpacer: true\n });\n } else {\n newMainRegion.last = lastIntersect.last;\n }\n }\n var replacementRegions = [...newLeadRegion, newMainRegion, ...newTailRegion];\n var numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1;\n this._regions.splice(firstIntersectIdx, numRegionsToDelete, ...replacementRegions);\n }\n numCells() {\n return this._numCells;\n }\n equals(other) {\n return this._numCells === other._numCells && this._regions.length === other._regions.length && this._regions.every((region, i) => region.first === other._regions[i].first && region.last === other._regions[i].last && region.isSpacer === other._regions[i].isSpacer);\n }\n _findRegion(cellIdx) {\n var firstIdx = 0;\n var lastIdx = this._regions.length - 1;\n while (firstIdx <= lastIdx) {\n var middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n var middleRegion = this._regions[middleIdx];\n if (cellIdx >= middleRegion.first && cellIdx <= middleRegion.last) {\n return [middleRegion, middleIdx];\n } else if (cellIdx < middleRegion.first) {\n lastIdx = middleIdx - 1;\n } else if (cellIdx > middleRegion.last) {\n firstIdx = middleIdx + 1;\n }\n }\n invariant(false, \"A region was not found containing cellIdx \" + cellIdx);\n }\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport default class ChildListCollection {\n constructor() {\n this._cellKeyToChildren = new Map();\n this._childrenToCellKey = new Map();\n }\n add(list, cellKey) {\n var _this$_cellKeyToChild;\n invariant(!this._childrenToCellKey.has(list), 'Trying to add already present child list');\n var cellLists = (_this$_cellKeyToChild = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild !== void 0 ? _this$_cellKeyToChild : new Set();\n cellLists.add(list);\n this._cellKeyToChildren.set(cellKey, cellLists);\n this._childrenToCellKey.set(list, cellKey);\n }\n remove(list) {\n var cellKey = this._childrenToCellKey.get(list);\n invariant(cellKey != null, 'Trying to remove non-present child list');\n this._childrenToCellKey.delete(list);\n var cellLists = this._cellKeyToChildren.get(cellKey);\n invariant(cellLists, '_cellKeyToChildren should contain cellKey');\n cellLists.delete(list);\n if (cellLists.size === 0) {\n this._cellKeyToChildren.delete(cellKey);\n }\n }\n forEach(fn) {\n for (var _iterator = _createForOfIteratorHelperLoose(this._cellKeyToChildren.values()), _step; !(_step = _iterator()).done;) {\n var listSet = _step.value;\n for (var _iterator2 = _createForOfIteratorHelperLoose(listSet), _step2; !(_step2 = _iterator2()).done;) {\n var list = _step2.value;\n fn(list);\n }\n }\n }\n forEachInCell(cellKey, fn) {\n var _this$_cellKeyToChild2;\n var listSet = (_this$_cellKeyToChild2 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild2 !== void 0 ? _this$_cellKeyToChild2 : [];\n for (var _iterator3 = _createForOfIteratorHelperLoose(listSet), _step3; !(_step3 = _iterator3()).done;) {\n var list = _step3.value;\n fn(list);\n }\n }\n anyInCell(cellKey, fn) {\n var _this$_cellKeyToChild3;\n var listSet = (_this$_cellKeyToChild3 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild3 !== void 0 ? _this$_cellKeyToChild3 : [];\n for (var _iterator4 = _createForOfIteratorHelperLoose(listSet), _step4; !(_step4 = _iterator4()).done;) {\n var list = _step4.value;\n if (fn(list)) {\n return true;\n }\n }\n return false;\n }\n size() {\n return this._childrenToCellKey.size;\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nclass Info {\n constructor() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n }\n}\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\nvar _sampleRate = DEBUG ? 1 : null;\n\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\nclass FillRateHelper {\n static addListener(callback) {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n }\n };\n }\n static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n constructor(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n this._resetData();\n }\n activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n var start = this._samplesStartTime; // const for flow\n if (start == null) {\n DEBUG && console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n return;\n }\n var total_time_spent = global.performance.now() - start;\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\n });\n if (DEBUG) {\n var derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min: this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent\n };\n for (var key in derived) {\n // $FlowFixMe[prop-missing]\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n _listeners.forEach(listener => listener(info));\n this._resetData();\n }\n computeBlankness(props, cellsAroundViewport, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || cellsAroundViewport.last < cellsAroundViewport.first || this._samplesStartTime == null) {\n return 0;\n }\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\n\n // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n var scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n var now = global.performance.now();\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n this._anyBlankStartTime = null;\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n this._mostlyBlankStartTime = null;\n var blankTop = 0;\n var first = cellsAroundViewport.first;\n var firstFrame = this._getFrameMetrics(first, props);\n while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(first, props);\n first++;\n }\n // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n if (firstFrame && first > 0) {\n blankTop = Math.min(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n var blankBottom = 0;\n var last = cellsAroundViewport.last;\n var lastFrame = this._getFrameMetrics(last, props);\n while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(last, props);\n last--;\n }\n // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n var pixels_blank = Math.round(blankTop + blankBottom);\n var blankness = pixels_blank / visibleLength;\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n return blankness;\n }\n enabled() {\n return this._enabled;\n }\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n}\nexport default FillRateHelper;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n\n/**\n * `setState` is called asynchronously, and should not rely on the value of\n * `this.props` or `this.state`:\n * https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous\n *\n * SafePureComponent adds runtime enforcement, to catch cases where these\n * variables are read in a state updater function, instead of the ones passed\n * in.\n */\nexport default class StateSafePureComponent extends React.PureComponent {\n constructor(props) {\n super(props);\n this._inAsyncStateUpdate = false;\n this._installSetStateHooks();\n }\n setState(partialState, callback) {\n if (typeof partialState === 'function') {\n super.setState((state, props) => {\n this._inAsyncStateUpdate = true;\n var ret;\n try {\n ret = partialState(state, props);\n } catch (err) {\n throw err;\n } finally {\n this._inAsyncStateUpdate = false;\n }\n return ret;\n }, callback);\n } else {\n super.setState(partialState, callback);\n }\n }\n _installSetStateHooks() {\n var that = this;\n var props = this.props,\n state = this.state;\n Object.defineProperty(this, 'props', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.props\" should not be accessed during state updates');\n return props;\n },\n set(newProps) {\n props = newProps;\n }\n });\n Object.defineProperty(this, 'state', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.state\" should not be acceessed during state updates');\n return state;\n },\n set(newState) {\n state = newState;\n }\n });\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nclass ViewabilityHelper {\n constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\n this._config = config;\n }\n\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.forEach(clearTimeout);\n }\n\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n var handle = setTimeout(() => {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n this._timers.delete(handle);\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }, this._config.minimumViewTime);\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.add(handle);\n } else {\n this._onUpdateSync(props, viewableIndices, onViewableItemsChanged, createViewToken);\n }\n }\n\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config\n });\n }\n }\n}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport var VirtualizedListContext = /*#__PURE__*/React.createContext(null);\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\nexport function VirtualizedListContextResetter(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\n\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n // Avoid setting a newly created context object if the values are identical.\n var context = useMemo(() => ({\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild\n }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n // Avoid setting a newly created context object if the values are identical.\n var currContext = useContext(VirtualizedListContext);\n var context = useMemo(() => currContext == null ? null : _objectSpread(_objectSpread({}, currContext), {}, {\n cellKey\n }), [currContext, cellKey]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport { VirtualizedListCellContextProvider } from './VirtualizedListContext.js';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nexport default class CellRenderer extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: this.props.item\n }\n };\n this._separators = {\n highlight: () => {\n var _this$props = this.props,\n cellKey = _this$props.cellKey,\n prevCellKey = _this$props.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: () => {\n var _this$props2 = this.props,\n cellKey = _this$props2.cellKey,\n prevCellKey = _this$props2.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: (select, newProps) => {\n var _this$props3 = this.props,\n cellKey = _this$props3.cellKey,\n prevCellKey = _this$props3.prevCellKey;\n this.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n this._onLayout = nativeEvent => {\n this.props.onCellLayout && this.props.onCellLayout(nativeEvent, this.props.cellKey, this.props.index);\n };\n }\n static getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\n }\n\n // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not\n // reused by SectionList and we can keep VirtualizedList simpler.\n // $FlowFixMe[missing-local-annot]\n updateSeparatorProps(newProps) {\n this.setState(state => ({\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n }));\n }\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n }\n _renderElement(renderItem, ListItemComponent, item, index) {\n if (renderItem && ListItemComponent) {\n console.warn('VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' + ' precedence over renderItem.');\n }\n if (ListItemComponent) {\n /* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.108 was deployed. To\n * see the error, delete this comment and run Flow. */\n /* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.108 was deployed.\n * To see the error, delete this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item,\n index,\n separators: this._separators\n });\n }\n if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators\n });\n }\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n }\n render() {\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n cellKey = _this$props4.cellKey,\n horizontal = _this$props4.horizontal,\n item = _this$props4.item,\n index = _this$props4.index,\n inversionStyle = _this$props4.inversionStyle,\n onCellFocusCapture = _this$props4.onCellFocusCapture,\n onCellLayout = _this$props4.onCellLayout,\n renderItem = _this$props4.renderItem;\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n var itemSeparator = /*#__PURE__*/React.isValidElement(ItemSeparatorComponent) ?\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent :\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent && /*#__PURE__*/React.createElement(ItemSeparatorComponent, this.state.separatorProps);\n var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;\n var result = !CellRendererComponent ? /*#__PURE__*/React.createElement(View, _extends({\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({\n cellKey: cellKey,\n index: index,\n item: item,\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n }\n});","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\n/**\n * Used to find the indices of the frames that overlap the given offsets. Useful for finding the\n * items that bound different windows of content, such as the visible area or the buffered overscan\n * area.\n */\nexport function elementsThatOverlapOffsets(offsets, props, getFrameMetrics, zoomScale) {\n if (zoomScale === void 0) {\n zoomScale = 1;\n }\n var itemCount = props.getItemCount(props.data);\n var result = [];\n for (var offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {\n var currentOffset = offsets[offsetIndex];\n var left = 0;\n var right = itemCount - 1;\n while (left <= right) {\n // eslint-disable-next-line no-bitwise\n var mid = left + (right - left >>> 1);\n var frame = getFrameMetrics(mid, props);\n var scaledOffsetStart = frame.offset * zoomScale;\n var scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;\n\n // We want the first frame that contains the offset, with inclusive bounds. Thus, for the\n // first frame the scaledOffsetStart is inclusive, while for other frames it is exclusive.\n if (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {\n right = mid - 1;\n } else if (currentOffset > scaledOffsetEnd) {\n left = mid + 1;\n } else {\n result[offsetIndex] = mid;\n break;\n }\n }\n }\n return result;\n}\n\n/**\n * Computes the number of elements in the `next` range that are new compared to the `prev` range.\n * Handy for calculating how many new items will be rendered when the render window changes so we\n * can restrict the number of new items render at once so that content can appear on the screen\n * faster.\n */\nexport function newRangeCount(prev, next) {\n return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));\n}\n\n/**\n * Custom logic for determining which items should be rendered given the current frame and scroll\n * metrics, as well as the previous render state. The algorithm may evolve over time, but generally\n * prioritizes the visible area first, then expands that with overscan regions ahead and behind,\n * biased in the direction of scroll.\n */\nexport function computeWindowedRenderLimits(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {\n var itemCount = props.getItemCount(props.data);\n if (itemCount === 0) {\n return {\n first: 0,\n last: -1\n };\n }\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength,\n _scrollMetrics$zoomSc = scrollMetrics.zoomScale,\n zoomScale = _scrollMetrics$zoomSc === void 0 ? 1 : _scrollMetrics$zoomSc;\n\n // Start with visible area, then compute maximum overscan region by expanding from there, biased\n // in the direction of scroll. Total overscan area is capped, which should cap memory consumption\n // too.\n var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength;\n\n // Considering velocity seems to introduce more churn than it's worth.\n var leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);\n var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n var lastItemOffset = getFrameMetricsApprox(itemCount - 1, props).offset * zoomScale;\n if (lastItemOffset < overscanBegin) {\n // Entire list is before our overscan window\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1\n };\n }\n\n // Find the indices that correspond to the items at the render boundaries we're targeting.\n var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first,\n last\n };\n\n // We want to limit the number of new cells we're rendering per batch so that we can fill the\n // content on the screen quickly. If we rendered the entire overscan window at once, the user\n // could be staring at white space for a long time waiting for a bunch of offscreen content to\n // render.\n var newCellCount = newRangeCount(prev, visible);\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n var maxNewCells = newCellCount >= maxToRenderPerBatch;\n var firstWillAddMore = first <= prev.first || first > prev.last;\n var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n var lastWillAddMore = last >= prev.last || last < prev.first;\n var lastShouldIncrement = last < overscanLast && (!maxNewCells || !lastWillAddMore);\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n // We only want to stop if we've hit maxNewCells AND we cannot increment first or last\n // without rendering new items. This let's us preserve as many already rendered items as\n // possible, reducing render churn and keeping the rendered overscan range as large as\n // possible.\n break;\n }\n if (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n first--;\n }\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n last++;\n }\n }\n if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {\n throw new Error('Bad window calculation ' + JSON.stringify({\n first,\n last,\n itemCount,\n overscanFirst,\n overscanLast,\n visible\n }));\n }\n return {\n first,\n last\n };\n}\nexport function keyExtractor(item, index) {\n if (typeof item === 'object' && (item == null ? void 0 : item.key) != null) {\n return item.key;\n }\n if (typeof item === 'object' && (item == null ? void 0 : item.id) != null) {\n return item.id;\n }\n return String(index);\n}","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport Batchinator from '../Batchinator';\nimport clamp from '../Utilities/clamp';\nimport infoLog from '../infoLog';\nimport { CellRenderMask } from './CellRenderMask';\nimport ChildListCollection from './ChildListCollection';\nimport FillRateHelper from '../FillRateHelper';\nimport StateSafePureComponent from './StateSafePureComponent';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport CellRenderer from './VirtualizedListCellRenderer';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\nimport { computeWindowedRenderLimits, keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ON_EDGE_REACHED_EPSILON = 0.001;\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // horizontalOrDefault(this.props.horizontal)\nfunction horizontalOrDefault(horizontal) {\n return horizontal !== null && horizontal !== void 0 ? horizontal : false;\n}\n\n// initialNumToRenderOrDefault(this.props.initialNumToRender)\nfunction initialNumToRenderOrDefault(initialNumToRender) {\n return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10;\n}\n\n// maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\nfunction maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {\n return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10;\n}\n\n// onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)\nfunction onStartReachedThresholdOrDefault(onStartReachedThreshold) {\n return onStartReachedThreshold !== null && onStartReachedThreshold !== void 0 ? onStartReachedThreshold : 2;\n}\n\n// onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\nfunction onEndReachedThresholdOrDefault(onEndReachedThreshold) {\n return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2;\n}\n\n// getScrollingThreshold(visibleLength, onEndReachedThreshold)\nfunction getScrollingThreshold(threshold, visibleLength) {\n return threshold * visibleLength / 2;\n}\n\n// scrollEventThrottleOrDefault(this.props.scrollEventThrottle)\nfunction scrollEventThrottleOrDefault(scrollEventThrottle) {\n return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50;\n}\n\n// windowSizeOrDefault(this.props.windowSize)\nfunction windowSizeOrDefault(windowSize) {\n return windowSize !== null && windowSize !== void 0 ? windowSize : 21;\n}\nfunction findLastWhere(arr, predicate) {\n for (var i = arr.length - 1; i >= 0; i--) {\n if (predicate(arr[i])) {\n return arr[i];\n }\n }\n return null;\n}\n\n/**\n * Base implementation for the more convenient [`<FlatList>`](https://reactnative.dev/docs/flatlist)\n * and [`<SectionList>`](https://reactnative.dev/docs/sectionlist) components, which are also better\n * documented. In general, this should only really be used if you need more flexibility than\n * `FlatList` provides, e.g. for use with immutable data instead of plain arrays.\n *\n * Virtualization massively improves memory consumption and performance of large lists by\n * maintaining a finite render window of active items and replacing all items outside of the render\n * window with appropriately sized blank space. The window adapts to scrolling behavior, and items\n * are rendered incrementally with low-pri (after any running interactions) if they are far from the\n * visible area, or with hi-pri otherwise to minimize the potential of seeing blank space.\n *\n * Some caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` or `id` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n * - As an effort to remove defaultProps, use helper functions when referencing certain props\n *\n */\nclass VirtualizedList extends StateSafePureComponent {\n // scrollToEnd may be janky without getItemLayout prop\n scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n if (veryLast < 0) {\n return;\n }\n var frame = this.__getFrameMetricsApprox(veryLast, this.props);\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToIndex may be janky without getItemLayout prop\n scrollToIndex(params) {\n var _this$props = this.props,\n data = _this$props.data,\n horizontal = _this$props.horizontal,\n getItemCount = _this$props.getItemCount,\n getItemLayout = _this$props.getItemLayout,\n onScrollToIndexFailed = _this$props.onScrollToIndexFailed;\n var animated = params.animated,\n index = params.index,\n viewOffset = params.viewOffset,\n viewPosition = params.viewPosition;\n invariant(index >= 0, \"scrollToIndex out of range: requested index \" + index + \" but minimum is 0\");\n invariant(getItemCount(data) >= 1, \"scrollToIndex out of range: item length \" + getItemCount(data) + \" but minimum is 1\");\n invariant(index < getItemCount(data), \"scrollToIndex out of range: requested index \" + index + \" is out of 0 to \" + (getItemCount(data) - 1));\n if (!getItemLayout && index > this._highestMeasuredFrameIndex) {\n invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.');\n onScrollToIndexFailed({\n averageItemLength: this._averageCellLength,\n highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,\n index\n });\n return;\n }\n var frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);\n var offset = Math.max(0, this._getOffsetApprox(index, this.props) - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n scrollToItem(params) {\n var item = params.item;\n var _this$props2 = this.props,\n data = _this$props2.data,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount;\n var itemCount = getItemCount(data);\n for (var _index = 0; _index < itemCount; _index++) {\n if (getItem(data, _index) === item) {\n this.scrollToIndex(_objectSpread(_objectSpread({}, params), {}, {\n index: _index\n }));\n break;\n }\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Param `offset` expects the offset to scroll to.\n * In case of `horizontal` is true, the offset is the x-value,\n * in any other case the offset is the y-value.\n *\n * Param `animated` (`true` by default) defines whether the list\n * should do an animation while scrolling.\n */\n scrollToOffset(params) {\n var animated = params.animated,\n offset = params.offset;\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n recordInteraction() {\n this._nestedChildLists.forEach(childList => {\n childList.recordInteraction();\n });\n this._viewabilityTuples.forEach(t => {\n t.viewabilityHelper.recordInteraction();\n });\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n }\n flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n this._scrollRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n * Note that `this._scrollRef` might not be a `ScrollView`, so we\n * need to check that it responds to `getScrollResponder` before calling it.\n */\n getScrollResponder() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return this._scrollRef;\n }\n }\n getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n }\n _getCellKey() {\n var _this$context;\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n }\n\n // $FlowFixMe[missing-local-annot]\n\n hasMore() {\n return this._hasMore;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n constructor(_props) {\n var _this$props$updateCel;\n super(_props);\n this._getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n this._getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n this._registerAsNestedChild = childList => {\n this._nestedChildLists.add(childList.ref, childList.cellKey);\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n this._unregisterAsNestedChild = childList => {\n this._nestedChildLists.remove(childList.ref);\n };\n this._onUpdateSeparators = (keys, newProps) => {\n keys.forEach(key => {\n var ref = key != null && this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n this._getSpacerKey = isVertical => isVertical ? 'height' : 'width';\n this._averageCellLength = 0;\n this._cellRefs = {};\n this._frames = {};\n this._footerLength = 0;\n this._hasTriggeredInitialScrollToIndex = false;\n this._hasInteracted = false;\n this._hasMore = false;\n this._hasWarned = {};\n this._headerLength = 0;\n this._hiPriInProgress = false;\n this._highestMeasuredFrameIndex = 0;\n this._indicesToKeys = new Map();\n this._lastFocusedCellKey = null;\n this._nestedChildLists = new ChildListCollection();\n this._offsetFromParentVirtualizedList = 0;\n this._prevParentOffset = 0;\n this._scrollMetrics = {\n contentLength: 0,\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0,\n zoomScale: 1\n };\n this._scrollRef = null;\n this._sentStartForContentLength = 0;\n this._sentEndForContentLength = 0;\n this._totalCellLength = 0;\n this._totalCellsMeasured = 0;\n this._viewabilityTuples = [];\n this._captureScrollRef = ref => {\n this._scrollRef = ref;\n };\n this._defaultRenderScrollComponent = props => {\n var onRefresh = props.onRefresh;\n if (this._isNestedWithSameOrientation()) {\n // $FlowFixMe[prop-missing] - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n var _props$refreshing;\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : 'undefined') + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl\n // $FlowFixMe[incompatible-type]\n , {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n this._onCellLayout = (e, cellKey, index) => {\n var layout = e.nativeEvent.layout;\n var next = {\n offset: this._selectOffset(layout),\n length: this._selectLength(layout),\n index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {\n this._totalCellLength += next.length - (curr ? curr.length : 0);\n this._totalCellsMeasured += curr ? 0 : 1;\n this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;\n this._frames[cellKey] = next;\n this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n this._triggerRemeasureForChildListsInCell(cellKey);\n this._computeBlankness();\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n };\n this._onCellUnmount = cellKey => {\n delete this._cellRefs[cellKey];\n var curr = this._frames[cellKey];\n if (curr) {\n this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n this._onLayout = e => {\n if (this._isNestedWithSameOrientation()) {\n // Need to adjust our scroll metrics to be relative to our containing\n // VirtualizedList before we can make claims about list item viewability\n this.measureLayoutRelativeToContainingList();\n } else {\n this._scrollMetrics.visibleLength = this._selectLength(e.nativeEvent.layout);\n }\n this.props.onLayout && this.props.onLayout(e);\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._onLayoutEmpty = e => {\n this.props.onLayout && this.props.onLayout(e);\n };\n this._onLayoutFooter = e => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onLayoutHeader = e => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onContentSizeChange = (width, height) => {\n if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex) {\n if (this.props.contentOffset == null) {\n if (this.props.initialScrollIndex < this.props.getItemCount(this.props.data)) {\n this.scrollToIndex({\n animated: false,\n index: nullthrows(this.props.initialScrollIndex)\n });\n } else {\n this.scrollToEnd({\n animated: false\n });\n }\n }\n this._hasTriggeredInitialScrollToIndex = true;\n }\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n this._scrollMetrics.contentLength = this._selectLength({\n height,\n width\n });\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._convertParentScrollMetrics = metrics => {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n var offset = metrics.offset - this._offsetFromParentVirtualizedList;\n // Child's visible length is the same as its parent's\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - this._scrollMetrics.offset;\n var contentLength = this._scrollMetrics.contentLength;\n return {\n visibleLength,\n contentLength,\n offset,\n dOffset\n };\n };\n this._onScroll = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScroll(e);\n });\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n var timestamp = e.timeStamp;\n var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n var contentLength = this._selectLength(e.nativeEvent.contentSize);\n var offset = this._selectOffset(e.nativeEvent.contentOffset);\n var dOffset = offset - this._scrollMetrics.offset;\n if (this._isNestedWithSameOrientation()) {\n if (this._scrollMetrics.contentLength === 0) {\n // Ignore scroll events until onLayout has been called and we\n // know our offset from our offset from our parent\n return;\n }\n var _this$_convertParentS = this._convertParentScrollMetrics({\n visibleLength,\n offset\n });\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n if (dt > 500 && this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !this._hasWarned.perf) {\n infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', {\n dt,\n prevDt: this._scrollMetrics.dt,\n contentLength\n });\n this._hasWarned.perf = true;\n }\n\n // For invalid negative values (w/ RTL), set this to 1.\n var zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;\n this._scrollMetrics = {\n contentLength,\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength,\n zoomScale\n };\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n if (!this.props) {\n return;\n }\n this._maybeCallOnEdgeReached();\n if (velocity !== 0) {\n this._fillRateHelper.activate();\n }\n this._computeBlankness();\n this._scheduleCellsToRenderUpdate();\n };\n this._onScrollBeginDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollBeginDrag(e);\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.recordInteraction();\n });\n this._hasInteracted = true;\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this._onScrollEndDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollEndDrag(e);\n });\n var velocity = e.nativeEvent.velocity;\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n this._computeBlankness();\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this._onMomentumScrollBegin = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollBegin(e);\n });\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this._onMomentumScrollEnd = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollEnd(e);\n });\n this._scrollMetrics.velocity = 0;\n this._computeBlankness();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this._updateCellsToRender = () => {\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n this.setState((state, props) => {\n var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport);\n var renderMask = VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props));\n if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) {\n return null;\n }\n return {\n cellsAroundViewport,\n renderMask\n };\n });\n };\n this._createViewToken = (index, isViewable, props\n // $FlowFixMe[missing-local-annot]\n ) => {\n var data = props.data,\n getItem = props.getItem;\n var item = getItem(data, index);\n return {\n index,\n item,\n key: this._keyExtractor(item, index, props),\n isViewable\n };\n };\n this._getOffsetApprox = (index, props) => {\n if (Number.isInteger(index)) {\n return this.__getFrameMetricsApprox(index, props).offset;\n } else {\n var frameMetrics = this.__getFrameMetricsApprox(Math.floor(index), props);\n var remainder = index - Math.floor(index);\n return frameMetrics.offset + remainder * frameMetrics.length;\n }\n };\n this.__getFrameMetricsApprox = (index, props) => {\n var frame = this._getFrameMetrics(index, props);\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var data = props.data,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n invariant(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');\n return {\n length: this._averageCellLength,\n offset: this._averageCellLength * index\n };\n }\n };\n this._getFrameMetrics = (index, props) => {\n var data = props.data,\n getItem = props.getItem,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n var frame = this._frames[this._keyExtractor(item, index, props)];\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n return getItemLayout(data, index);\n }\n }\n return frame;\n };\n this._getNonViewportRenderRegions = props => {\n // Keep a viewport's worth of content around the last focused cell to allow\n // random navigation around it without any blanking. E.g. tabbing from one\n // focused item out of viewport to another.\n if (!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])) {\n return [];\n }\n var lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];\n var focusedCellIndex = lastFocusedCellRenderer.props.index;\n var itemCount = props.getItemCount(props.data);\n\n // The last cell we rendered may be at a new index. Bail if we don't know\n // where it is.\n if (focusedCellIndex >= itemCount || this._keyExtractor(props.getItem(props.data, focusedCellIndex), focusedCellIndex, props) !== this._lastFocusedCellKey) {\n return [];\n }\n var first = focusedCellIndex;\n var heightOfCellsBeforeFocused = 0;\n for (var i = first - 1; i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength; i--) {\n first--;\n heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(i, props).length;\n }\n var last = focusedCellIndex;\n var heightOfCellsAfterFocused = 0;\n for (var _i = last + 1; _i < itemCount && heightOfCellsAfterFocused < this._scrollMetrics.visibleLength; _i++) {\n last++;\n heightOfCellsAfterFocused += this.__getFrameMetricsApprox(_i, props).length;\n }\n return [{\n first,\n last\n }];\n };\n this._checkProps(_props);\n this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);\n this._updateCellsToRenderBatcher = new Batchinator(this._updateCellsToRender, (_this$props$updateCel = this.props.updateCellsBatchingPeriod) !== null && _this$props$updateCel !== void 0 ? _this$props$updateCel : 50);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n }));\n } else {\n var _this$props3 = this.props,\n onViewableItemsChanged = _this$props3.onViewableItemsChanged,\n viewabilityConfig = _this$props3.viewabilityConfig;\n if (onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n }\n var initialRenderRegion = VirtualizedList._initialRenderRegion(_props);\n this.state = {\n cellsAroundViewport: initialRenderRegion,\n renderMask: VirtualizedList._createRenderMask(_props, initialRenderRegion)\n };\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n // For issue https://github.com/necolas/react-native-web/issues/995\n this.invertedWheelEventHandler = ev => {\n var scrollOffset = this.props.horizontal ? ev.target.scrollLeft : ev.target.scrollTop;\n var scrollLength = this.props.horizontal ? ev.target.scrollWidth : ev.target.scrollHeight;\n var clientLength = this.props.horizontal ? ev.target.clientWidth : ev.target.clientHeight;\n var isEventTargetScrollable = scrollLength > clientLength;\n var delta = this.props.horizontal ? ev.deltaX || ev.wheelDeltaX : ev.deltaY || ev.wheelDeltaY;\n var leftoverDelta = delta;\n if (isEventTargetScrollable) {\n leftoverDelta = delta < 0 ? Math.min(delta + scrollOffset, 0) : Math.max(delta - (scrollLength - clientLength - scrollOffset), 0);\n }\n var targetDelta = delta - leftoverDelta;\n if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) {\n var node = this._scrollRef.getScrollableNode();\n if (this.props.horizontal) {\n ev.target.scrollLeft += targetDelta;\n var nextScrollLeft = node.scrollLeft - leftoverDelta;\n node.scrollLeft = !this.props.getItemLayout ? Math.min(nextScrollLeft, this._totalCellLength) : nextScrollLeft;\n } else {\n ev.target.scrollTop += targetDelta;\n var nextScrollTop = node.scrollTop - leftoverDelta;\n node.scrollTop = !this.props.getItemLayout ? Math.min(nextScrollTop, this._totalCellLength) : nextScrollTop;\n }\n ev.preventDefault();\n }\n };\n }\n _checkProps(props) {\n var onScroll = props.onScroll,\n windowSize = props.windowSize,\n getItemCount = props.getItemCount,\n data = props.data,\n initialScrollIndex = props.initialScrollIndex;\n invariant(\n // $FlowFixMe[prop-missing]\n !onScroll || !onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(windowSizeOrDefault(windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n invariant(getItemCount, 'VirtualizedList: The \"getItemCount\" prop must be provided');\n var itemCount = getItemCount(data);\n if (initialScrollIndex != null && !this._hasTriggeredInitialScrollToIndex && (initialScrollIndex < 0 || itemCount > 0 && initialScrollIndex >= itemCount) && !this._hasWarned.initialScrollIndex) {\n console.warn(\"initialScrollIndex \\\"\" + initialScrollIndex + \"\\\" is not valid (list has \" + itemCount + \" items)\");\n this._hasWarned.initialScrollIndex = true;\n }\n if (__DEV__ && !this._hasWarned.flexWrap) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n var flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn('`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.');\n this._hasWarned.flexWrap = true;\n }\n }\n }\n static _createRenderMask(props, cellsAroundViewport, additionalRegions) {\n var itemCount = props.getItemCount(props.data);\n invariant(cellsAroundViewport.first >= 0 && cellsAroundViewport.last >= cellsAroundViewport.first - 1 && cellsAroundViewport.last < itemCount, \"Invalid cells around viewport \\\"[\" + cellsAroundViewport.first + \", \" + cellsAroundViewport.last + \"]\\\" was passed to VirtualizedList._createRenderMask\");\n var renderMask = new CellRenderMask(itemCount);\n if (itemCount > 0) {\n var allRegions = [cellsAroundViewport, ...(additionalRegions !== null && additionalRegions !== void 0 ? additionalRegions : [])];\n for (var _i2 = 0, _allRegions = allRegions; _i2 < _allRegions.length; _i2++) {\n var region = _allRegions[_i2];\n renderMask.addCells(region);\n }\n\n // The initially rendered cells are retained as part of the\n // \"scroll-to-top\" optimization\n if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {\n var initialRegion = VirtualizedList._initialRenderRegion(props);\n renderMask.addCells(initialRegion);\n }\n\n // The layout coordinates of sticker headers may be off-screen while the\n // actual header is on-screen. Keep the most recent before the viewport\n // rendered, even if its layout coordinates are not in viewport.\n var stickyIndicesSet = new Set(props.stickyHeaderIndices);\n VirtualizedList._ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellsAroundViewport.first);\n }\n return renderMask;\n }\n static _initialRenderRegion(props) {\n var _props$initialScrollI;\n var itemCount = props.getItemCount(props.data);\n var firstCellIndex = Math.max(0, Math.min(itemCount - 1, Math.floor((_props$initialScrollI = props.initialScrollIndex) !== null && _props$initialScrollI !== void 0 ? _props$initialScrollI : 0)));\n var lastCellIndex = Math.min(itemCount, firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender)) - 1;\n return {\n first: firstCellIndex,\n last: lastCellIndex\n };\n }\n static _ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellIdx) {\n var stickyOffset = props.ListHeaderComponent ? 1 : 0;\n for (var itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {\n if (stickyIndicesSet.has(itemIdx + stickyOffset)) {\n renderMask.addCells({\n first: itemIdx,\n last: itemIdx\n });\n break;\n }\n }\n }\n _adjustCellsAroundViewport(props, cellsAroundViewport) {\n var data = props.data,\n getItemCount = props.getItemCount;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(props.onEndReachedThreshold);\n var _this$_scrollMetrics = this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Wait until the scroll view metrics have been set up. And until then,\n // we will trust the initialNumToRender suggestion\n if (visibleLength <= 0 || contentLength <= 0) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n var newCellsAroundViewport;\n if (props.disableVirtualization) {\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch) : 0;\n newCellsAroundViewport = {\n first: 0,\n last: Math.min(cellsAroundViewport.last + renderAhead, getItemCount(data) - 1)\n };\n } else {\n // If we have a non-zero initialScrollIndex and run this before we've scrolled,\n // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.\n // So let's wait until we've scrolled the view to the right place. And until then,\n // we will trust the initialScrollIndex suggestion.\n\n // Thus, we want to recalculate the windowed render limits if any of the following hold:\n // - initialScrollIndex is undefined or is 0\n // - initialScrollIndex > 0 AND scrolling is complete\n // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case\n // where the list is shorter than the visible area)\n if (props.initialScrollIndex && !this._scrollMetrics.offset && Math.abs(distanceFromEnd) >= Number.EPSILON) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n newCellsAroundViewport = computeWindowedRenderLimits(props, maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch), windowSizeOrDefault(props.windowSize), cellsAroundViewport, this.__getFrameMetricsApprox, this._scrollMetrics);\n invariant(newCellsAroundViewport.last < getItemCount(data), 'computeWindowedRenderLimits() should return range in-bounds');\n }\n if (this._nestedChildLists.size() > 0) {\n // If some cell in the new state has a child list in it, we should only render\n // up through that item, so that we give that list a chance to render.\n // Otherwise there's churn from multiple child lists mounting and un-mounting\n // their items.\n\n // Will this prevent rendering if the nested list doesn't realize the end?\n var childIdx = this._findFirstChildWithMore(newCellsAroundViewport.first, newCellsAroundViewport.last);\n newCellsAroundViewport.last = childIdx !== null && childIdx !== void 0 ? childIdx : newCellsAroundViewport.last;\n }\n return newCellsAroundViewport;\n }\n _findFirstChildWithMore(first, last) {\n for (var ii = first; ii <= last; ii++) {\n var cellKeyForIndex = this._indicesToKeys.get(ii);\n if (cellKeyForIndex != null && this._nestedChildLists.anyInCell(cellKeyForIndex, childList => childList.hasMore())) {\n return ii;\n }\n }\n return null;\n }\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n ref: this,\n cellKey: this.context.cellKey\n });\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.setupWebWheelHandler();\n }\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n ref: this\n });\n }\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n this._fillRateHelper.deactivateAndFlush();\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.teardownWebWheelHandler();\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n setupWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().addEventListener('wheel', this.invertedWheelEventHandler);\n } else {\n setTimeout(() => this.setupWebWheelHandler(), 50);\n return;\n }\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n }\n static getDerivedStateFromProps(newProps, prevState) {\n // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make\n // sure we're rendering a reasonable range here.\n var itemCount = newProps.getItemCount(newProps.data);\n if (itemCount === prevState.renderMask.numCells()) {\n return prevState;\n }\n var constrainedCells = VirtualizedList._constrainToItemCount(prevState.cellsAroundViewport, newProps);\n return {\n cellsAroundViewport: constrainedCells,\n renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells)\n };\n }\n _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this = this;\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListHeaderComponent = _this$props4.ListHeaderComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n data = _this$props4.data,\n debug = _this$props4.debug,\n getItem = _this$props4.getItem,\n getItemCount = _this$props4.getItemCount,\n getItemLayout = _this$props4.getItemLayout,\n horizontal = _this$props4.horizontal,\n renderItem = _this$props4.renderItem;\n var stickyOffset = ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n var _loop = function _loop() {\n var item = getItem(data, ii);\n var key = _this._keyExtractor(item, ii, _this.props);\n _this._indicesToKeys.set(ii, key);\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled();\n cells.push( /*#__PURE__*/React.createElement(CellRenderer, _extends({\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n ListItemComponent: ListItemComponent,\n cellKey: key,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this._onUpdateSeparators,\n onCellFocusCapture: e => _this._onCellFocusCapture(key),\n onUnmount: _this._onCellUnmount,\n ref: _ref => {\n _this._cellRefs[key] = _ref;\n },\n renderItem: renderItem\n }, shouldListenForLayout && {\n onCellLayout: _this._onCellLayout\n })));\n prevCellKey = key;\n };\n for (var ii = first; ii <= last; ii++) {\n _loop();\n }\n }\n static _constrainToItemCount(cells, props) {\n var itemCount = props.getItemCount(props.data);\n var last = Math.min(itemCount - 1, cells.last);\n var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch);\n return {\n first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),\n last\n };\n }\n _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));\n }\n _keyExtractor(item, index, props\n // $FlowFixMe[missing-local-annot]\n ) {\n if (props.keyExtractor != null) {\n return props.keyExtractor(item, index);\n }\n var key = defaultKeyExtractor(item, index);\n if (key === String(index)) {\n _usedIndexForKey = true;\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n }\n return key;\n }\n render() {\n this._checkProps(this.props);\n var _this$props5 = this.props,\n ListEmptyComponent = _this$props5.ListEmptyComponent,\n ListFooterComponent = _this$props5.ListFooterComponent,\n ListHeaderComponent = _this$props5.ListHeaderComponent;\n var _this$props6 = this.props,\n data = _this$props6.data,\n horizontal = _this$props6.horizontal;\n var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n // 1. Add cell for ListHeaderComponent\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n var _element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListHeaderComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: [inversionStyle, this.props.ListHeaderComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element)));\n }\n\n // 2a. Add a cell for ListEmptyComponent if applicable\n var itemCount = this.props.getItemCount(data);\n if (itemCount === 0 && ListEmptyComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListEmptyComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-empty',\n key: \"$empty\"\n }, /*#__PURE__*/React.cloneElement(_element2, {\n onLayout: event => {\n this._onLayoutEmpty(event);\n if (_element2.props.onLayout) {\n _element2.props.onLayout(event);\n }\n },\n style: [inversionStyle, _element2.props.style]\n })));\n }\n\n // 2b. Add cells and spacers for each item\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = this._getSpacerKey(!horizontal);\n var renderRegions = this.state.renderMask.enumerateRegions();\n var lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);\n for (var _iterator = _createForOfIteratorHelperLoose(renderRegions), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n if (section.isSpacer) {\n // Legacy behavior is to avoid spacers when virtualization is\n // disabled (including head spacers on initial render).\n if (this.props.disableVirtualization) {\n continue;\n }\n\n // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to\n // prevent the user for hyperscrolling into un-measured area because otherwise content will\n // likely jump around as it renders in above the viewport.\n var isLastSpacer = section === lastSpacer;\n var constrainToMeasured = isLastSpacer && !this.props.getItemLayout;\n var last = constrainToMeasured ? clamp(section.first - 1, section.last, this._highestMeasuredFrameIndex) : section.last;\n var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props);\n var lastMetrics = this.__getFrameMetricsApprox(last, this.props);\n var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset;\n cells.push( /*#__PURE__*/React.createElement(View, {\n key: \"$spacer-\" + section.first,\n style: {\n [spacerKey]: spacerSize\n }\n }));\n } else {\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, section.first, section.last, inversionStyle);\n }\n }\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName);\n this._hasWarned.keys = true;\n }\n }\n\n // 3. Add cell for ListFooterComponent\n if (ListFooterComponent) {\n var _element3 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListFooterComponent, null);\n cells.push( /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: [inversionStyle, this.props.ListFooterComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element3)));\n }\n\n // 4. Render the ScrollView\n var scrollProps = _objectSpread(_objectSpread({}, this.props), {}, {\n onContentSizeChange: this._onContentSizeChange,\n onLayout: this._onLayout,\n onScroll: this._onScroll,\n onScrollBeginDrag: this._onScrollBeginDrag,\n onScrollEndDrag: this._onScrollEndDrag,\n onMomentumScrollBegin: this._onMomentumScrollBegin,\n onMomentumScrollEnd: this._onMomentumScrollEnd,\n scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle),\n // TODO: Android support\n invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted,\n stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: horizontalOrDefault(this.props.horizontal),\n getOutermostParentListRef: this._getOutermostParentListRef,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n /* https://github.com/necolas/react-native-web/issues/2239: Re-enable when ScrollView.Context.Consumer is available.\n if (__DEV__) {\n ret = (\n <ScrollView.Context.Consumer>\n {scrollContext => {\n if (\n scrollContext != null &&\n !scrollContext.horizontal ===\n !horizontalOrDefault(this.props.horizontal) &&\n !this._hasWarned.nesting &&\n this.context == null &&\n this.props.scrollEnabled !== false\n ) {\n // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170\n console.error(\n 'VirtualizedLists should never be nested inside plain ScrollViews with the same ' +\n 'orientation because it can break windowing and other functionality - use another ' +\n 'VirtualizedList-backed container instead.',\n );\n this._hasWarned.nesting = true;\n }\n return innerRet;\n }}\n </ScrollView.Context.Consumer>\n );\n }*/\n if (this.props.debug) {\n return /*#__PURE__*/React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n }\n componentDidUpdate(prevProps) {\n var _this$props7 = this.props,\n data = _this$props7.data,\n extraData = _this$props7.extraData;\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n // clear the viewableIndices cache to also trigger\n // the onViewableItemsChanged callback with the new data\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n }\n // The `this._hiPriInProgress` is guaranteeing a hiPri cell update will only happen\n // once per fiber update. The `_scheduleCellsToRenderUpdate` will set it to true\n // if a hiPri update needs to perform. If `componentDidUpdate` is triggered with\n // `this._hiPriInProgress=true`, means it's triggered by the hiPri update. The\n // `_scheduleCellsToRenderUpdate` will check this condition and not perform\n // another hiPri update.\n var hiPriInProgress = this._hiPriInProgress;\n this._scheduleCellsToRenderUpdate();\n // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n }\n\n // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex\n\n // flag to prevent infinite hiPri cell limit update\n\n // $FlowFixMe[missing-local-annot]\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics);\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _onCellFocusCapture(cellKey) {\n this._lastFocusedCellKey = cellKey;\n this._updateCellsToRender();\n }\n _triggerRemeasureForChildListsInCell(cellKey) {\n this._nestedChildLists.forEachInCell(cellKey, childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n measureLayoutRelativeToContainingList() {\n // TODO (T35574538): findNodeHandle sometimes crashes with \"Unable to find\n // node on an unmounted component\" during scrolling\n try {\n if (!this._scrollRef) {\n return;\n }\n // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n this._scrollRef.measureLayout(this.context.getOutermostParentListRef().getScrollRef(), (x, y, width, height) => {\n this._offsetFromParentVirtualizedList = this._selectOffset({\n x,\n y\n });\n this._scrollMetrics.contentLength = this._selectLength({\n width,\n height\n });\n var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics());\n var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset;\n if (metricsChanged) {\n this._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n this._scrollMetrics.offset = scrollMetrics.offset;\n\n // If metrics of the scrollView changed, then we triggered remeasure for child list\n // to ensure VirtualizedList has the right information.\n this._nestedChildLists.forEach(childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n }, error => {\n console.warn(\"VirtualizedList: Encountered an error while measuring a list's\" + ' offset from its containing VirtualizedList.');\n });\n } catch (error) {\n console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);\n }\n }\n _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n }\n // $FlowFixMe[missing-local-annot]\n _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this.__getFrameMetricsApprox(ii, this.props);\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the\n * error delete this comment and run Flow. */\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n var windowTop = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.first, this.props).offset;\n var frameLast = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.last, this.props);\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map((f, ii) => /*#__PURE__*/React.createElement(View, {\n key: 'f' + ii,\n style: [styles.debugOverlayBase, styles.debugOverlayFrame, {\n top: f.offset * normalize,\n height: f.length * normalize\n }]\n })), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n }\n _selectLength(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;\n }\n _selectOffset(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;\n }\n _maybeCallOnEdgeReached() {\n var _this$props8 = this.props,\n data = _this$props8.data,\n getItemCount = _this$props8.getItemCount,\n onStartReached = _this$props8.onStartReached,\n onStartReachedThreshold = _this$props8.onStartReachedThreshold,\n onEndReached = _this$props8.onEndReached,\n onEndReachedThreshold = _this$props8.onEndReachedThreshold,\n initialScrollIndex = _this$props8.initialScrollIndex;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromStart = offset;\n var distanceFromEnd = contentLength - visibleLength - offset;\n\n // Especially when oERT is zero it's necessary to 'floor' very small distance values to be 0\n // since debouncing causes us to not fire this event for every single \"pixel\" we scroll and can thus\n // be at the edge of the list with a distance approximating 0 but not quite there.\n if (distanceFromStart < ON_EDGE_REACHED_EPSILON) {\n distanceFromStart = 0;\n }\n if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) {\n distanceFromEnd = 0;\n }\n\n // TODO: T121172172 Look into why we're \"defaulting\" to a threshold of 2px\n // when oERT is not present (different from 2 viewports used elsewhere)\n var DEFAULT_THRESHOLD_PX = 2;\n var startThreshold = onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var endThreshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var isWithinStartThreshold = distanceFromStart <= startThreshold;\n var isWithinEndThreshold = distanceFromEnd <= endThreshold;\n\n // First check if the user just scrolled within the end threshold\n // and call onEndReached only once for a given content length,\n // and only if onStartReached is not being executed\n if (onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1 && isWithinEndThreshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd\n });\n }\n\n // Next check if the user just scrolled within the start threshold\n // and call onStartReached only once for a given content length,\n // and only if onEndReached is not being executed\n else if (onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && this._scrollMetrics.contentLength !== this._sentStartForContentLength) {\n // On initial mount when using initialScrollIndex the offset will be 0 initially\n // and will trigger an unexpected onStartReached. To avoid this we can use\n // timestamp to differentiate between the initial scroll metrics and when we actually\n // received the first scroll event.\n if (!initialScrollIndex || this._scrollMetrics.timestamp !== 0) {\n this._sentStartForContentLength = this._scrollMetrics.contentLength;\n onStartReached({\n distanceFromStart\n });\n }\n }\n\n // If the user scrolls away from the start or end and back again,\n // cause onStartReached or onEndReached to be triggered again\n else {\n this._sentStartForContentLength = isWithinStartThreshold ? this._sentStartForContentLength : 0;\n this._sentEndForContentLength = isWithinEndThreshold ? this._sentEndForContentLength : 0;\n }\n }\n\n /* Translates metrics from a scroll event in a parent VirtualizedList into\n * coordinates relative to the child list.\n */\n\n _scheduleCellsToRenderUpdate() {\n var _this$state$cellsArou = this.state.cellsAroundViewport,\n first = _this$state$cellsArou.first,\n last = _this$state$cellsArou.last;\n var _this$_scrollMetrics3 = this._scrollMetrics,\n offset = _this$_scrollMetrics3.offset,\n visibleLength = _this$_scrollMetrics3.visibleLength,\n velocity = _this$_scrollMetrics3.velocity;\n var itemCount = this.props.getItemCount(this.props.data);\n var hiPri = false;\n var onStartReachedThreshold = onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold);\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);\n // Mark as high priority if we're close to the start of the first item\n // But only if there are items before the first rendered item\n if (first > 0) {\n var distTop = offset - this.__getFrameMetricsApprox(first, this.props).offset;\n hiPri = distTop < 0 || velocity < -2 && distTop < getScrollingThreshold(onStartReachedThreshold, visibleLength);\n }\n // Mark as high priority if we're close to the end of the last item\n // But only if there are items after the last rendered item\n if (!hiPri && last >= 0 && last < itemCount - 1) {\n var distBottom = this.__getFrameMetricsApprox(last, this.props).offset - (offset + visibleLength);\n hiPri = distBottom < 0 || velocity > 2 && distBottom < getScrollingThreshold(onEndReachedThreshold, visibleLength);\n }\n // Only trigger high-priority updates if we've actually rendered cells,\n // and with that size estimate, accurately compute how many cells we should render.\n // Otherwise, it would just render as many cells as it can (of zero dimension),\n // each time through attempting to render more (limited by maxToRenderPerBatch),\n // starving the renderer from actually laying out the objects and computing _averageCellLength.\n // If this is triggered in an `componentDidUpdate` followed by a hiPri cellToRenderUpdate\n // We shouldn't do another hipri cellToRenderUpdate\n if (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true;\n // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._updateCellsToRender();\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n }\n\n /**\n * Gets an approximate offset to an item at a given index. Supports\n * fractional indices.\n */\n\n _updateViewableItems(props, cellsAroundViewport) {\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(props, this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, cellsAroundViewport);\n });\n }\n}\nVirtualizedList.contextType = VirtualizedListContext;\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: 'scaleY(-1)'\n },\n horizontallyInverted: {\n transform: 'scaleX(-1)'\n },\n debug: {\n flex: 1\n },\n debugOverlayBase: {\n position: 'absolute',\n top: 0,\n right: 0\n },\n debugOverlay: {\n bottom: 0,\n width: 20,\n borderColor: 'blue',\n borderWidth: 1\n },\n debugOverlayFrame: {\n left: 0,\n backgroundColor: 'orange'\n },\n debugOverlayFrameLast: {\n left: 0,\n borderColor: 'green',\n borderWidth: 2\n },\n debugOverlayFrameVis: {\n left: 0,\n borderColor: 'red',\n borderWidth: 2\n }\n});\nexport default VirtualizedList;","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"numColumns\", \"columnWrapperStyle\", \"removeClippedSubviews\", \"strictMode\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport deepDiffer from '../deepDiffer';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport memoizeOne from 'memoize-one';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */ // removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)\nfunction removeClippedSubviewsOrDefault(removeClippedSubviews) {\n return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : Platform.OS === 'android';\n}\n\n// numColumnsOrDefault(this.props.numColumns)\nfunction numColumnsOrDefault(numColumns) {\n return numColumns !== null && numColumns !== void 0 ? numColumns : 1;\n}\nfunction isArrayLike(data) {\n // $FlowExpectedError[incompatible-use]\n return typeof Object(data).length === 'number';\n}\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [`<SectionList>`](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * <FlatList\n * data={[{key: 'a'}, {key: 'b'}]}\n * renderItem={({item}) => <Text>{item.key}</Text>}\n * />\n *\n * More complex, multi-select example demonstrating `PureComponent` usage for perf optimization and avoiding bugs.\n *\n * - By binding the `onPressItem` handler, the props will remain `===` and `PureComponent` will\n * prevent wasteful re-renders unless the actual `id`, `selected`, or `title` props change, even\n * if the components rendered in `MyListItem` did not have such optimizations.\n * - By passing `extraData={this.state}` to `FlatList` we make sure `FlatList` itself will re-render\n * when the `state.selected` changes. Without setting this prop, `FlatList` would not know it\n * needs to re-render any items because it is also a `PureComponent` and the prop comparison will\n * not show any changes.\n * - `keyExtractor` tells the list to use the `id`s for the react keys instead of the default `key` property.\n *\n *\n * class MyListItem extends React.PureComponent {\n * _onPress = () => {\n * this.props.onPressItem(this.props.id);\n * };\n *\n * render() {\n * const textColor = this.props.selected ? \"red\" : \"black\";\n * return (\n * <TouchableOpacity onPress={this._onPress}>\n * <View>\n * <Text style={{ color: textColor }}>\n * {this.props.title}\n * </Text>\n * </View>\n * </TouchableOpacity>\n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map<string, boolean>)};\n *\n * _keyExtractor = (item, index) => item.id;\n *\n * _onPressItem = (id: string) => {\n * // updater functions are preferred for transactional updates\n * this.setState((state) => {\n * // copy the map rather than modifying state.\n * const selected = new Map(state.selected);\n * selected.set(id, !selected.get(id)); // toggle\n * return {selected};\n * });\n * };\n *\n * _renderItem = ({item}) => (\n * <MyListItem\n * id={item.id}\n * onPressItem={this._onPressItem}\n * selected={!!this.state.selected.get(item.id)}\n * title={item.title}\n * />\n * );\n *\n * render() {\n * return (\n * <FlatList\n * data={this.props.data}\n * extraData={this.state}\n * keyExtractor={this._keyExtractor}\n * renderItem={this._renderItem}\n * />\n * );\n * }\n * }\n *\n * This is a convenience wrapper around [`<VirtualizedList>`](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.\n */\nclass FlatList extends React.PureComponent {\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n scrollToEnd(params) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n }\n\n /**\n * Scrolls to the item at the specified index such that it is positioned in the viewable area\n * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the\n * middle. `viewOffset` is a fixed number of pixels to offset the final target position.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToIndex(params) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n }\n\n /**\n * Requires linear scan through data - use `scrollToIndex` instead if possible.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToItem(params) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList\n */\n scrollToOffset(params) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n\n /**\n * Provides a reference to the underlying host component\n */\n getNativeScrollRef() {\n if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n }\n getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n constructor(_props) {\n super(_props);\n this._virtualizedListPairs = [];\n this._captureRef = ref => {\n this._listRef = ref;\n };\n this._getItem = (data, index) => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (numColumns > 1) {\n var ret = [];\n for (var kk = 0; kk < numColumns; kk++) {\n var itemIndex = index * numColumns + kk;\n if (itemIndex < data.length) {\n var _item = data[itemIndex];\n ret.push(_item);\n }\n }\n return ret;\n } else {\n return data[index];\n }\n };\n this._getItemCount = data => {\n // Legacy behavior of FlatList was to forward \"undefined\" length if invalid\n // data like a non-arraylike object is passed. VirtualizedList would then\n // coerce this, and the math would work out to no-op. For compatibility, if\n // invalid data is passed, we tell VirtualizedList there are zero items\n // available to prevent it from trying to read from the invalid data\n // (without propagating invalidly typed data).\n if (data != null && isArrayLike(data)) {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n this._keyExtractor = (items, index) => {\n var _this$props$keyExtrac;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac = this.props.keyExtractor) !== null && _this$props$keyExtrac !== void 0 ? _this$props$keyExtrac : defaultKeyExtractor;\n if (numColumns > 1) {\n invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns);\n return items.map((item, kk) => keyExtractor(item, index * numColumns + kk)).join(':');\n }\n\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n };\n this._renderer = (ListItemComponent, renderItem, columnWrapperStyle, numColumns, extraData\n // $FlowFixMe[missing-local-annot]\n ) => {\n var cols = numColumnsOrDefault(numColumns);\n var render = props => {\n if (ListItemComponent) {\n // $FlowFixMe[not-a-component] Component isn't valid\n // $FlowFixMe[incompatible-type-arg] Component isn't valid\n // $FlowFixMe[incompatible-return] Component isn't valid\n return /*#__PURE__*/React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n var renderProp = info => {\n if (cols > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.row, columnWrapperStyle]\n }, _item2.map((it, kk) => {\n var element = render({\n // $FlowFixMe[incompatible-call]\n item: it,\n index: _index * cols + kk,\n separators: info.separators\n });\n return element != null ? /*#__PURE__*/React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return render(info);\n }\n };\n return ListItemComponent ? {\n ListItemComponent: renderProp\n } : {\n renderItem: renderProp\n };\n };\n this._memoizedRenderer = memoizeOne(this._renderer);\n this._checkProps(this.props);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._virtualizedListPairs = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\n }));\n } else if (this.props.onViewableItemsChanged) {\n this._virtualizedListPairs.push({\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n viewabilityConfig: this.props.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(this.props.onViewableItemsChanged)\n });\n }\n }\n\n // $FlowFixMe[missing-local-annot]\n componentDidUpdate(prevProps) {\n invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.');\n invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');\n invariant(!deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');\n invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');\n this._checkProps(this.props);\n }\n // $FlowFixMe[missing-local-annot]\n _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');\n }\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n }\n _pushMultiColumnViewable(arr, v) {\n var _this$props$keyExtrac2;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) !== null && _this$props$keyExtrac2 !== void 0 ? _this$props$keyExtrac2 : defaultKeyExtractor;\n v.item.forEach((item, ii) => {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item,\n key: keyExtractor(item, index),\n index\n }));\n });\n }\n _createOnViewableItemsChanged(onViewableItemsChanged\n // $FlowFixMe[missing-local-annot]\n ) {\n return info => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(v => this._pushMultiColumnViewable(viewableItems, v));\n info.changed.forEach(v => this._pushMultiColumnViewable(changed, v));\n onViewableItemsChanged({\n viewableItems,\n changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n }\n\n // $FlowFixMe[missing-local-annot]\n\n render() {\n var _this$props = this.props,\n numColumns = _this$props.numColumns,\n columnWrapperStyle = _this$props.columnWrapperStyle,\n _removeClippedSubviews = _this$props.removeClippedSubviews,\n _this$props$strictMod = _this$props.strictMode,\n strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var renderer = strictMode ? this._memoizedRenderer : this._renderer;\n return (\n /*#__PURE__*/\n // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.\n React.createElement(VirtualizedList, _extends({}, restProps, {\n getItem: this._getItem,\n getItemCount: this._getItemCount,\n keyExtractor: this._keyExtractor,\n ref: this._captureRef,\n viewabilityConfigCallbackPairs: this._virtualizedListPairs,\n removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews)\n }, renderer(this.props.ListItemComponent, this.props.renderItem, columnWrapperStyle, numColumns, this.props.extraData)))\n );\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\nexport function get(name) {\n return null;\n}\nexport function getEnforcing(name) {\n var module = get(name);\n invariant(module != null, \"TurboModuleRegistry.getEnforcing(...): '\" + name + \"' could not be found. \" + 'Verify that a module by this name is registered in the native binary.');\n return module;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\nexport default TurboModuleRegistry.get('NativeAnimatedTurboModule');","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// FIXME: use typed events\n\n/**\n * Global EventEmitter used by the native platform to emit events to JavaScript.\n * Events are identified by globally unique event names.\n *\n * NativeModules that emit events should instead subclass `NativeEventEmitter`.\n */\nexport default new EventEmitter();","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter {\n constructor(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n addListener(eventType, listener, context) {\n var _this$_nativeModule;\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: () => {\n if (subscription != null) {\n var _this$_nativeModule2;\n (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n removeListener(eventType, listener) {\n var _this$_nativeModule3;\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n }\n emit(eventType) {\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 // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n removeAllListeners(eventType) {\n var _this$_nativeModule4;\n invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nvar ReactNativeFeatureFlags = {\n isLayoutAnimationEnabled: () => true,\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n animatedShouldDebounceQueueFlush: () => false,\n animatedShouldUseSingleOp: () => false\n};\nexport default ReactNativeFeatureFlags;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport invariant from 'fbjs/lib/invariant';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\n// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless === true ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */\nvar __nativeAnimationIdCount = 1; /* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n// $FlowFixMe\nvar singleOpQueue = [];\nvar useSingleOpBatching = false;\nPlatform.OS === 'android' && !!(NativeAnimatedModule != null && NativeAnimatedModule.queueAndExecuteBatchedOperations) && ReactNativeFeatureFlags.animatedShouldUseSingleOp();\nvar flushQueueTimeout = null;\nvar eventListenerGetValueCallbacks = {};\nvar eventListenerAnimationFinishedCallbacks = {};\nvar globalEventEmitterGetValueListener = null;\nvar globalEventEmitterAnimationFinishedListener = null;\nvar nativeOps = useSingleOpBatching ? function () {\n var apis = ['createAnimatedNode',\n // 1\n 'updateAnimatedNodeConfig',\n // 2\n 'getValue',\n // 3\n 'startListeningToAnimatedNodeValue',\n // 4\n 'stopListeningToAnimatedNodeValue',\n // 5\n 'connectAnimatedNodes',\n // 6\n 'disconnectAnimatedNodes',\n // 7\n 'startAnimatingNode',\n // 8\n 'stopAnimation',\n // 9\n 'setAnimatedNodeValue',\n // 10\n 'setAnimatedNodeOffset',\n // 11\n 'flattenAnimatedNodeOffset',\n // 12\n 'extractAnimatedNodeOffset',\n // 13\n 'connectAnimatedNodeToView',\n // 14\n 'disconnectAnimatedNodeFromView',\n // 15\n 'restoreDefaultValues',\n // 16\n 'dropAnimatedNode',\n // 17\n 'addAnimatedEventToView',\n // 18\n 'removeAnimatedEventFromView',\n // 19\n 'addListener',\n // 20\n 'removeListener' // 21\n ];\n\n return apis.reduce((acc, functionName, i) => {\n // These indices need to be kept in sync with the indices in native (see NativeAnimatedModule in Java, or the equivalent for any other native platform).\n // $FlowFixMe[prop-missing]\n acc[functionName] = i + 1;\n return acc;\n }, {});\n}() : NativeAnimatedModule;\n\n/**\n * Wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods, and automatic queue management on Android\n */\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (saveValueCallback) {\n eventListenerGetValueCallbacks[tag] = saveValueCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.getValue, tag);\n } else {\n API.queueOperation(nativeOps.getValue, tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() && flushQueueTimeout) {\n clearTimeout(flushQueueTimeout);\n }\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(nativeOps, 'Native animated module is not available');\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {\n var prevTimeout = flushQueueTimeout;\n clearImmediate(prevTimeout);\n flushQueueTimeout = setImmediate(API.flushQueue);\n } else {\n API.flushQueue();\n }\n },\n flushQueue: function flushQueue() {\n /*\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n flushQueueTimeout = null;\n // Early returns before calling any APIs\n if (useSingleOpBatching && singleOpQueue.length === 0) {\n return;\n }\n if (!useSingleOpBatching && queue.length === 0) {\n return;\n }\n if (useSingleOpBatching) {\n // Set up event listener for callbacks if it's not set up\n if (\n !globalEventEmitterGetValueListener ||\n !globalEventEmitterAnimationFinishedListener\n ) {\n setupGlobalEventEmitterListeners();\n }\n // Single op batching doesn't use callback functions, instead we\n // use RCTDeviceEventEmitter. This reduces overhead of sending lots of\n // JSI functions across to native code; but also, TM infrastructure currently\n // does not support packing a function into native arrays.\n NativeAnimatedModule.queueAndExecuteBatchedOperations?.(singleOpQueue);\n singleOpQueue.length = 0;\n } else {\n Platform.OS === 'android' && NativeAnimatedModule.startOperationBatch?.();\n for (let q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n queue.length = 0;\n Platform.OS === 'android' &&\n NativeAnimatedModule.finishOperationBatch?.();\n }\n */\n },\n queueOperation: function queueOperation(fn) {\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 if (useSingleOpBatching) {\n // Get the command ID from the queued function, and push that ID and any arguments needed to execute the operation\n // $FlowFixMe: surprise, fn is actually a number\n singleOpQueue.push(fn, ...args);\n return;\n }\n\n // If queueing is explicitly on, *or* the queue has not yet\n // been flushed, use the queue. This is to prevent operations\n // from being executed out of order.\n if (queueOperations || queue.length !== 0) {\n queue.push(() => fn(...args));\n } else {\n fn(...args);\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.createAnimatedNode, tag, config);\n },\n updateAnimatedNodeConfig: function updateAnimatedNodeConfig(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n //if (nativeOps.updateAnimatedNodeConfig) {\n // API.queueOperation(nativeOps.updateAnimatedNodeConfig, tag, config);\n //}\n },\n\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.startListeningToAnimatedNodeValue, tag);\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopListeningToAnimatedNodeValue, tag);\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodes, parentTag, childTag);\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodes, parentTag, childTag);\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (endCallback) {\n eventListenerAnimationFinishedCallbacks[animationId] = endCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config);\n } else {\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config, endCallback);\n }\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopAnimation, animationId);\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeValue, nodeTag, value);\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeOffset, nodeTag, offset);\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.flattenAnimatedNodeOffset, nodeTag);\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.extractAnimatedNodeOffset, nodeTag);\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodeToView, nodeTag, viewTag);\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodeFromView, nodeTag, viewTag);\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n // Backwards compat with older native runtimes, can be removed later.\n if (nativeOps.restoreDefaultValues != null) {\n API.queueOperation(nativeOps.restoreDefaultValues, nodeTag);\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.dropAnimatedNode, tag);\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.addAnimatedEventToView, viewTag, eventName, eventMapping);\n },\n removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.removeAnimatedEventFromView, viewTag, eventName, animatedNodeTag);\n }\n};\nfunction setupGlobalEventEmitterListeners() {\n globalEventEmitterGetValueListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleGetValue', function (params) {\n var tag = params.tag;\n var callback = eventListenerGetValueCallbacks[tag];\n if (!callback) {\n return;\n }\n callback(params.value);\n delete eventListenerGetValueCallbacks[tag];\n });\n globalEventEmitterAnimationFinishedListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleAnimationFinished', function (params) {\n var animationId = params.animationId;\n var callback = eventListenerAnimationFinishedCallbacks[animationId];\n if (!callback) {\n return;\n }\n callback(params);\n delete eventListenerAnimationFinishedCallbacks[animationId];\n });\n}\n\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric or color property that\n * doesn't need to be updated through the shadow view hierarchy (all non-layout properties).\n */\nvar SUPPORTED_COLOR_STYLES = {\n backgroundColor: true,\n borderBottomColor: true,\n borderColor: true,\n borderEndColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderStartColor: true,\n borderTopColor: true,\n color: true,\n tintColor: true\n};\nvar SUPPORTED_STYLES = _objectSpread(_objectSpread({}, SUPPORTED_COLOR_STYLES), {}, {\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n opacity: true,\n transform: true,\n zIndex: true,\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true\n});\nvar SUPPORTED_TRANSFORMS = {\n translateX: true,\n translateY: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n rotate: true,\n rotateX: true,\n rotateY: true,\n rotateZ: true,\n perspective: true\n};\nvar SUPPORTED_INTERPOLATION_PARAMS = {\n inputRange: true,\n outputRange: true,\n extrapolate: true,\n extrapolateRight: true,\n extrapolateLeft: true\n};\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\nfunction isSupportedColorStyleProp(prop) {\n return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedStyleProp(prop) {\n return SUPPORTED_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedTransformProp(prop) {\n return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);\n}\nfunction isSupportedInterpolationParam(param) {\n return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);\n}\nfunction validateTransform(configs) {\n configs.forEach(config => {\n if (!isSupportedTransformProp(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\nfunction validateStyles(styles) {\n for (var _key2 in styles) {\n if (!isSupportedStyleProp(_key2)) {\n throw new Error(\"Style property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction validateInterpolation(config) {\n for (var _key3 in config) {\n if (!isSupportedInterpolationParam(_key3)) {\n throw new Error(\"Interpolation property '\" + _key3 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\nfunction generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\nvar _warnedMissingNativeAnimated = false;\nfunction shouldUseNativeDriver(config) {\n if (config.useNativeDriver == null) {\n console.warn('Animated: `useNativeDriver` was not specified. This is a required ' + 'option and must be explicitly set to `true` or `false`');\n }\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (!_warnedMissingNativeAnimated) {\n console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + 'Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md');\n _warnedMissingNativeAnimated = true;\n }\n return false;\n }\n return config.useNativeDriver || false;\n}\nfunction transformDataType(value) {\n // Change the string type to number type so we can reuse the same logic in\n // iOS and Android platform\n if (typeof value !== 'string') {\n return value;\n }\n if (/deg$/.test(value)) {\n var degrees = parseFloat(value) || 0;\n var radians = degrees * Math.PI / 180.0;\n return radians;\n } else {\n return value;\n }\n}\nexport { API, isSupportedColorStyleProp, isSupportedStyleProp, isSupportedTransformProp, isSupportedInterpolationParam, addWhitelistedStyleProp, addWhitelistedTransformProp, addWhitelistedInterpolationParam, validateStyles, validateTransform, validateInterpolation, generateNewNodeTag, generateNewAnimationId, assertNativeAnimatedModule, shouldUseNativeDriver, transformDataType };\nexport default {\n API,\n isSupportedColorStyleProp,\n isSupportedStyleProp,\n isSupportedTransformProp,\n isSupportedInterpolationParam,\n addWhitelistedStyleProp,\n addWhitelistedTransformProp,\n addWhitelistedInterpolationParam,\n validateStyles,\n validateTransform,\n validateInterpolation,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion\n // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\n nativeEventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeAnimatedModule);\n }\n return nativeEventEmitter;\n }\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n// Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\nclass AnimatedNode {\n __attach() {}\n __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n __getValue() {}\n __getAnimatedValue() {\n return this.__getValue();\n }\n __addChild(child) {}\n __removeChild(child) {}\n __getChildren() {\n return [];\n }\n\n /* Methods and props used by native Animated impl */\n\n constructor() {\n this._listeners = {};\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n this._platformConfig = platformConfig;\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to\n * synchronously read the value because it might be driven natively.\n *\n * See https://reactnative.dev/docs/animatedvalue#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\n }\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvalue#removelistener\n */\n removeListener(id) {\n delete this._listeners[id];\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue#removealllisteners\n */\n removeAllListeners() {\n this._listeners = {};\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n hasListeners() {\n return !!Object.keys(this._listeners).length;\n }\n _startListeningToNativeValueUpdates() {\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n this._stopListeningForNativeValueUpdates();\n }\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', data => {\n if (data.tag !== this.__getNativeTag()) {\n return;\n }\n this.__onAnimatedValueUpdateReceived(data.value);\n });\n }\n __onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n }\n __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value\n });\n }\n }\n _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n this.__nativeAnimatedValueListener.remove();\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n }\n __getNativeTag() {\n var _this$__nativeTag;\n NativeAnimatedHelper.assertNativeAnimatedModule();\n invariant(this.__isNative, 'Attempt to get native tag from node not marked as \"native\"');\n var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : NativeAnimatedHelper.generateNewNodeTag();\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n var config = this.__getNativeConfig();\n if (this._platformConfig) {\n config.platformConfig = this._platformConfig;\n }\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, config);\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n return nativeTag;\n }\n __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n }\n toJSON() {\n return this.__getValue();\n }\n __getPlatformConfig() {\n return this._platformConfig;\n }\n __setPlatformConfig(platformConfig) {\n this._platformConfig = platformConfig;\n }\n}\nexport default AnimatedNode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedWithChildren extends AnimatedNode {\n constructor() {\n super();\n this._children = [];\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n child.__makeNative(platformConfig);\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n super.__makeNative(platformConfig);\n }\n __addChild(child) {\n if (this._children.length === 0) {\n this.__attach();\n }\n this._children.push(child);\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative(this.__getPlatformConfig());\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n __removeChild(child) {\n var index = this._children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n if (this.__isNative && child.__isNative) {\n NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n this._children.splice(index, 1);\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n __getChildren() {\n return this._children;\n }\n __callListeners(value) {\n super.__callListeners(value);\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n }\n}\nexport default AnimatedWithChildren;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from '@react-native/normalize-colors';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar linear = t => t;\n\n/**\n * Very handy helper to map input ranges to output ranges with an easing\n * function and custom behavior outside of the ranges.\n */\nfunction createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n var outputRange = config.outputRange;\n var inputRange = config.inputRange;\n if (__DEV__) {\n checkInfiniteRange('outputRange', outputRange);\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');\n }\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n var extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n return input => {\n invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number');\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);\n };\n}\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var result = input;\n\n // Extrapolate\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {\n // noop\n }\n }\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {\n // noop\n }\n }\n if (outputMin === outputMax) {\n return outputMin;\n }\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n return outputMax;\n }\n\n // Input Range\n if (inputMin === -Infinity) {\n result = -result;\n } else if (inputMax === Infinity) {\n result = result - inputMin;\n } else {\n result = (result - inputMin) / (inputMax - inputMin);\n }\n\n // Easing\n result = easing(result);\n\n // Output Range\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n return result;\n}\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\n normalizedColor = normalizedColor || 0;\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n}\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n */\nfunction createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange);\n\n // ['rgba(0, 100, 200, 0)', 'rgba(50, 150, 250, 0.5)']\n // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `value.match()` can return\n * `null`. Need to guard against this possibility. */\n value.match(stringShapeRegex).forEach((number, i) => {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n /* $FlowFixMe[incompatible-call] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */.map((value, i) => {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n });\n\n // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n var shouldRound = isRgbOrRgba(outputRange[0]);\n return input => {\n var i = 0;\n // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n return outputRange[0].replace(stringShapeRegex, () => {\n var val = +interpolations[i++](input);\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n return String(val);\n });\n };\n}\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n for (var i = 1; i < arr.length; ++i) {\n invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);\n }\n}\nfunction findRange(input, inputRange) {\n var i;\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n return i - 1;\n}\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n var message = 'inputRange must be monotonically non-decreasing ' + String(arr);\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], message);\n }\n}\nfunction checkInfiniteRange(name, arr) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,\n /* $FlowFixMe[incompatible-type] (>=0.13.0) - In the addition expression\n * below this comment, one or both of the operands may be something that\n * doesn't cleanly convert to a string, like undefined, null, and object,\n * etc. If you really mean this implicit string conversion, you can do\n * something like String(myThing) */\n name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\nclass AnimatedInterpolation extends AnimatedWithChildren {\n // Export for testing.\n\n constructor(parent, config) {\n super();\n this._parent = parent;\n this._config = config;\n this._interpolation = createInterpolation(config);\n }\n __makeNative(platformConfig) {\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var parentValue = this._parent.__getValue();\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._parent.__addChild(this);\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n }\n __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n return {\n inputRange: this._config.inputRange,\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n outputRange: this.__transformDataType(this._config.outputRange),\n extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation'\n };\n }\n}\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n function findAnimatedStyles(node) {\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the error\n * delete this comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n findAnimatedStyles(rootNode);\n // $FlowFixMe[prop-missing]\n animatedStyles.forEach(animatedStyle => animatedStyle.update());\n}\n\n/**\n * Some operations are executed only on batch end, which is _mostly_ scheduled when\n * Animated component props change. For some of the changes which require immediate execution\n * (e.g. setValue), we create a separate batch in case none is scheduled.\n */\nfunction _executeAsAnimatedBatch(id, operation) {\n NativeAnimatedAPI.setWaitingForIdentifier(id);\n operation();\n NativeAnimatedAPI.unsetWaitingForIdentifier(id);\n}\n\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n *\n * See https://reactnative.dev/docs/animatedvalue\n */\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(value, config) {\n super();\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._startingValue = this._value = value;\n this._offset = 0;\n this._animation = null;\n if (config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n __detach() {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), value => {\n this._value = value - this._offset;\n });\n }\n this.stopAnimation();\n super.__detach();\n }\n __getValue() {\n return this._value + this._offset;\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvalue#setvalue\n */\n setValue(value) {\n if (this._animation) {\n this._animation.stop();\n this._animation = null;\n }\n this._updateValue(value, !this.__isNative /* don't perform a flush for natively driven values */);\n\n if (this.__isNative) {\n _executeAsAnimatedBatch(this.__getNativeTag().toString(), () => NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value));\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether via\n * `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvalue#setoffset\n */\n setOffset(offset) {\n this._offset = offset;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#flattenoffset\n */\n flattenOffset() {\n this._value += this._offset;\n this._offset = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#extractoffset\n */\n extractOffset() {\n this._offset += this._value;\n this._value = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvalue#stopanimation\n */\n stopAnimation(callback) {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n if (callback) {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), callback);\n } else {\n callback(this.__getValue());\n }\n }\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue#resetanimation\n */\n resetAnimation(callback) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue);\n }\n }\n __onAnimatedValueUpdateReceived(value) {\n this._updateValue(value, false /*flush*/);\n }\n\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n\n /**\n * Typically only used internally, but could be used by a custom Animation\n * class.\n *\n * See https://reactnative.dev/docs/animatedvalue#animate\n */\n animate(animation, callback) {\n var handle = null;\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, value => {\n // Natively driven animations will never call into that callback\n this._updateValue(value, true /* flush */);\n }, result => {\n this._animation = null;\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n callback && callback(result);\n }, previousAnimation, this);\n }\n\n /**\n * Typically only used internally.\n */\n stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n\n /**\n * Typically only used internally.\n */\n track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n // Make sure that the tracking animation starts executing\n this._tracking && this._tracking.update();\n }\n _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._value = value;\n if (flush) {\n _flush(this);\n }\n super.__callListeners(this.__getValue());\n }\n __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n }\n}\nexport default AnimatedValue;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n var eventMappings = [];\n var traverse = (value, path) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag()\n });\n } else if (typeof value === 'object') {\n for (var _key in value) {\n traverse(value[_key], path.concat(_key));\n }\n }\n };\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');\n\n // Assume that the event containing `nativeEvent` is always the first argument.\n traverse(argMapping[0].nativeEvent, []);\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewRef, eventName, mapping);\n });\n }\n return {\n detach() {\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewRef, eventName,\n // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n };\n}\nfunction validateMapping(argMapping, args) {\n var validate = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n invariant(typeof recEvt === 'number', 'Bad mapping of event key ' + key + ', should be number but got ' + typeof recEvt);\n return;\n }\n if (typeof recEvt === 'number') {\n invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue');\n return;\n }\n invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key);\n invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key);\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach((mapping, idx) => {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\nexport class AnimatedEvent {\n constructor(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n if (config.listener) {\n this.__addListener(config.listener);\n }\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n __addListener(callback) {\n this._listeners.push(callback);\n }\n __removeListener(callback) {\n this._listeners = this._listeners.filter(listener => listener !== callback);\n }\n __attach(viewRef, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be attached.');\n this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);\n }\n __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n }\n __getHandler() {\n var _this = this;\n if (this.__isNative) {\n if (__DEV__) {\n var _validatedMapping = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (!_validatedMapping) {\n validateMapping(_this._argMapping, args);\n _validatedMapping = true;\n }\n _this._callListeners(...args);\n };\n } else {\n return this._callListeners;\n }\n }\n var validatedMapping = false;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n var traverse = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (typeof recMapping === 'object') {\n for (var mappingKey in recMapping) {\n /* $FlowFixMe(>=0.120.0) This comment suppresses an error found\n * when Flow v0.120 was deployed. To see the error, delete this\n * comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n _this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n _this._callListeners(...args);\n };\n }\n _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this._listeners.forEach(listener => listener(...args));\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedTransform extends AnimatedWithChildren {\n constructor(transforms) {\n super();\n this._transforms = transforms;\n }\n __makeNative() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n super.__makeNative();\n }\n __getValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n return result;\n });\n }\n __getAnimatedValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n // All transform components needed to recompose matrix\n result[key] = value;\n }\n }\n return result;\n });\n }\n __attach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n });\n }\n __detach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n });\n super.__detach();\n }\n __getNativeConfig() {\n var transConfigs = [];\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n transConfigs.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag()\n });\n } else {\n transConfigs.push({\n type: 'static',\n property: key,\n value: NativeAnimatedHelper.transformDataType(value)\n });\n }\n }\n });\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n }\n}\nexport default AnimatedTransform;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport StyleSheet from '../../../../exports/StyleSheet';\nvar flattenStyle = StyleSheet.flatten;\nfunction createAnimatedStyle(inputStyle) {\n var style = flattenStyle(inputStyle);\n var animatedStyles = {};\n for (var key in style) {\n var value = style[key];\n if (key === 'transform' && Array.isArray(value)) {\n animatedStyles[key] = new AnimatedTransform(value);\n } else if (value instanceof AnimatedNode) {\n animatedStyles[key] = value;\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n animatedStyles[key] = createAnimatedStyle(value);\n }\n }\n return animatedStyles;\n}\nclass AnimatedStyle extends AnimatedWithChildren {\n constructor(style) {\n super();\n this._inputStyle = style;\n this._style = createAnimatedStyle(style);\n }\n\n // Recursively get values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n return updatedStyle;\n }\n __getValue() {\n return [this._inputStyle, this._walkStyleAndGetValues(this._style)];\n }\n\n // Recursively get animated values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n return updatedStyle;\n }\n __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n }\n __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n super.__makeNative();\n }\n __getNativeConfig() {\n var styleConfig = {};\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n style.__makeNative();\n styleConfig[styleKey] = style.__getNativeTag();\n }\n }\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n }\n}\nexport default AnimatedStyle;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nclass AnimatedProps extends AnimatedNode {\n constructor(props, callback) {\n super();\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n this._props = props;\n this._callback = callback;\n this.__attach();\n }\n __getValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n props[key] = value.__getValue();\n }\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n return props;\n }\n __getAnimatedValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n return props;\n }\n __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n update() {\n this._callback();\n }\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n this._animatedView = animatedView;\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n }\n __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n }\n __restoreDefaultValues() {\n // When using the native driver, view properties need to be restored to\n // their default values manually since react no longer tracks them. This\n // is needed to handle cases where a prop driven by native animated is removed\n // after having been changed natively by an animation.\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n }\n __getNativeConfig() {\n var propsConfig = {};\n for (var propKey in this._props) {\n var value = this._props[propKey];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n return {\n type: 'props',\n props: propsConfig\n };\n }\n}\nexport default AnimatedProps;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport { useCallback, useRef } from 'react';\n/**\n * Constructs a callback ref that provides similar semantics as `useEffect`. The\n * supplied `effect` callback will be called with non-null component instances.\n * The `effect` callback can also optionally return a cleanup function.\n *\n * When a component is updated or unmounted, the cleanup function is called. The\n * `effect` callback will then be called again, if applicable.\n *\n * When a new `effect` callback is supplied, the previously returned cleanup\n * function will be called before the new `effect` callback is called with the\n * same instance.\n *\n * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).\n */\nexport default function useRefEffect(effect) {\n var cleanupRef = useRef(undefined);\n return useCallback(instance => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (instance != null) {\n cleanupRef.current = effect(instance);\n }\n }, [effect]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedProps from './nodes/AnimatedProps';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport useRefEffect from '../Utilities/useRefEffect';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';\nimport useLayoutEffect from '../../../modules/useLayoutEffect';\nexport default function useAnimatedProps(props) {\n var _useReducer = useReducer(count => count + 1, 0),\n scheduleUpdate = _useReducer[1];\n var onUpdateRef = useRef(null);\n\n // TODO: Only invalidate `node` if animated props or `style` change. In the\n // previous implementation, we permitted `style` to override props with the\n // same name property name as styles, so we can probably continue doing that.\n // The ordering of other props *should* not matter.\n var node = useMemo(() => new AnimatedProps(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);\n useAnimatedPropsLifecycle(node);\n\n // TODO: This \"effect\" does three things:\n //\n // 1) Call `setNativeView`.\n // 2) Update `onUpdateRef`.\n // 3) Update listeners for `AnimatedEvent` props.\n //\n // Ideally, each of these would be separat \"effects\" so that they are not\n // unnecessarily re-run when irrelevant dependencies change. For example, we\n // should be able to hoist all `AnimatedEvent` props and only do #3 if either\n // the `AnimatedEvent` props change or `instance` changes.\n //\n // But there is no way to transparently compose three separate callback refs,\n // so we just combine them all into one for now.\n var refEffect = useCallback(instance => {\n // NOTE: This may be called more often than necessary (e.g. when `props`\n // changes), but `setNativeView` already optimizes for that.\n node.setNativeView(instance);\n\n // NOTE: This callback is only used by the JavaScript animation driver.\n onUpdateRef.current = () => {\n // Schedule an update for this component to update `reducedProps`,\n // but do not compute it immediately. If a parent also updated, we\n // need to merge those new props in before updating.\n scheduleUpdate();\n };\n var target = getEventTarget(instance);\n var events = [];\n for (var propName in props) {\n var propValue = props[propName];\n if (propValue instanceof AnimatedEvent && propValue.__isNative) {\n propValue.__attach(target, propName);\n events.push([propName, propValue]);\n }\n }\n return () => {\n onUpdateRef.current = null;\n for (var _i = 0, _events = events; _i < _events.length; _i++) {\n var _events$_i = _events[_i],\n _propName = _events$_i[0],\n _propValue = _events$_i[1];\n _propValue.__detach(target, _propName);\n }\n };\n }, [props, node]);\n var callbackRef = useRefEffect(refEffect);\n return [reduceAnimatedProps(node), callbackRef];\n}\nfunction reduceAnimatedProps(node) {\n // Force `collapsable` to be false so that the native view is not flattened.\n // Flattened views cannot be accurately referenced by the native driver.\n return _objectSpread(_objectSpread({}, node.__getValue()), {}, {\n collapsable: false\n });\n}\n\n/**\n * Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`\n * and `__detach`. However, this is more complicated because `AnimatedProps`\n * uses reference counting to determine when to recursively detach its children\n * nodes. So in order to optimize this, we avoid detaching until the next attach\n * unless we are unmounting.\n */\nfunction useAnimatedPropsLifecycle(node) {\n var prevNodeRef = useRef(null);\n var isUnmountingRef = useRef(false);\n useEffect(() => {\n // It is ok for multiple components to call `flushQueue` because it noops\n // if the queue is empty. When multiple animated components are mounted at\n // the same time. Only first component flushes the queue and the others will noop.\n NativeAnimatedHelper.API.flushQueue();\n });\n useLayoutEffect(() => {\n isUnmountingRef.current = false;\n return () => {\n isUnmountingRef.current = true;\n };\n }, []);\n useLayoutEffect(() => {\n node.__attach();\n if (prevNodeRef.current != null) {\n var prevNode = prevNodeRef.current;\n // TODO: Stop restoring default values (unless `reset` is called).\n prevNode.__restoreDefaultValues();\n prevNode.__detach();\n prevNodeRef.current = null;\n }\n return () => {\n if (isUnmountingRef.current) {\n // NOTE: Do not restore default values on unmount, see D18197735.\n node.__detach();\n } else {\n prevNodeRef.current = node;\n }\n };\n }, [node]);\n}\nfunction getEventTarget(instance) {\n return typeof instance === 'object' && typeof (instance == null ? void 0 : instance.getScrollableNode) === 'function' ?\n // $FlowFixMe[incompatible-use] - Legacy instance assumptions.\n instance.getScrollableNode() : instance;\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction isFabricInstance(instance) {\n var _instance$getScrollRe;\n return hasFabricHandle(instance) ||\n // Some components have a setNativeProps function but aren't a host component\n // such as lists like FlatList and SectionList. These should also use\n // forceUpdate in Fabric since setNativeProps doesn't exist on the underlying\n // host component. This crazy hack is essentially special casing those lists and\n // ScrollView itself to use forceUpdate in Fabric.\n // If these components end up using forwardRef then these hacks can go away\n // as instance would actually be the underlying host component and the above check\n // would be sufficient.\n hasFabricHandle(instance == null ? void 0 : instance.getNativeScrollRef == null ? void 0 : instance.getNativeScrollRef()) || hasFabricHandle(instance == null ? void 0 : instance.getScrollResponder == null ? void 0 : (_instance$getScrollRe = instance.getScrollResponder()) == null ? void 0 : _instance$getScrollRe.getNativeScrollRef == null ? void 0 : _instance$getScrollRe.getNativeScrollRef());\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction hasFabricHandle(instance) {\n var _instance$_internalIn, _instance$_internalIn2;\n // eslint-disable-next-line dot-notation\n return (instance == null ? void 0 : (_instance$_internalIn = instance['_internalInstanceHandle']) == null ? void 0 : (_instance$_internalIn2 = _instance$_internalIn.stateNode) == null ? void 0 : _instance$_internalIn2.canonical) != null;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport { useCallback } from 'react';\n/**\n * Constructs a new ref that forwards new values to each of the given refs. The\n * given refs will always be invoked in the order that they are supplied.\n *\n * WARNING: A known problem of merging refs using this approach is that if any\n * of the given refs change, the returned callback ref will also be changed. If\n * the returned callback ref is supplied as a `ref` to a React element, this may\n * lead to problems with the given refs being invoked more times than desired.\n */\nexport default function useMergeRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(current => {\n for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {\n var ref = _refs[_i];\n if (ref != null) {\n if (typeof ref === 'function') {\n ref(current);\n } else {\n ref.current = current;\n }\n }\n }\n }, [...refs] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport useAnimatedProps from './useAnimatedProps';\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport * as React from 'react';\n/**\n * Experimental implementation of `createAnimatedComponent` that is intended to\n * be compatible with concurrent rendering.\n */\nexport default function createAnimatedComponent(Component) {\n return /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _useAnimatedProps = useAnimatedProps(props),\n reducedProps = _useAnimatedProps[0],\n callbackRef = _useAnimatedProps[1];\n var ref = useMergeRefs(callbackRef, forwardedRef);\n\n // Some components require explicit passthrough values for animation\n // to work properly. For example, if an animated component is\n // transformed and Pressable, onPress will not work after transform\n // without these passthrough values.\n // $FlowFixMe[prop-missing]\n var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues,\n style = reducedProps.style;\n var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {},\n passthroughStyle = _ref.style,\n passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var mergedStyle = [style, passthroughStyle];\n return /*#__PURE__*/React.createElement(Component, _extends({}, reducedProps, passthroughProps, {\n style: mergedStyle,\n ref: ref\n }));\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(FlatListWithEventThrottle);","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar assets = [];\nexport function registerAsset(asset) {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\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 */\n\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n static remove(uri) {\n var entries = ImageUriCache._entries;\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n // Free up entries when the cache is \"full\"\n ImageUriCache._cleanUpIfNeeded();\n }\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests[\"\" + requestId];\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n function callback() {\n var image = requests[\"\" + requestId];\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has(uri) {\n return ImageUriCache.has(uri);\n },\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport Dimensions from '../Dimensions';\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nexport default class PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return Dimensions.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\n return Math.round(layoutSize * PixelRatio.get());\n }\n\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n static roundToNearestPixel(layoutSize) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport { createBoxShadowValue } from '../StyleSheet/preprocess';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"atop\"\n })))) : null;\n}\nfunction extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n if (flatStyle.resizeMode) {\n warnOnce('Image.style.resizeMode', 'Image: style.resizeMode is deprecated. Please use props.resizeMode.');\n }\n if (flatStyle.tintColor) {\n warnOnce('Image.style.tintColor', 'Image: style.tintColor is deprecated. Please use props.tintColor.');\n }\n\n // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n var filters = [];\n var _filter = null;\n if (filter) {\n filters.push(filter);\n }\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n return [resizeMode, _filter, tintColor];\n}\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\nfunction resolveAssetUri(source) {\n var uri = null;\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n if (asset == null) {\n throw new Error(\"Image: asset with ID \\\"\" + source + \"\\\" could not be found. Please check the image source or packager.\");\n }\n var scale = asset.scales[0];\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n // Get the scale which is closest to the preferred scale\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n if (uri) {\n var match = uri.match(svgDataUriPattern);\n // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n return uri;\n}\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var ariaLabel = _ariaLabel || accessibilityLabel;\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('The <Image> component cannot contain children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.');\n }\n }\n var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n if (isLoaded) {\n return LOADED;\n }\n }\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor),\n _resizeMode = _extractNonStandardSt[0],\n filter = _extractNonStandardSt[1],\n _tintColor = _extractNonStandardSt[2];\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var tintColor = props.tintColor || _tintColor;\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize();\n\n // Accessibility image allows users to trigger the browser's image context menu\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: ariaLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n }\n\n // Image loading\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n if (uri != null) {\n updateState(LOADING);\n if (onLoadStart) {\n onLoadStart();\n }\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n if (onLoad) {\n onLoad(e);\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri + \" (404)\"\n }\n });\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,\n // TEMP: avoid deprecated shadow props regression\n // until Image refactored to use createElement.\n {\n boxShadow: null\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\n\n// $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\nvar ImageWithStatics = Image;\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n undo: {\n // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n blurRadius: null,\n shadowColor: null,\n shadowOpacity: null,\n shadowOffset: null,\n shadowRadius: null,\n tintColor: null,\n // These styles are not supported\n overlayColor: null,\n resizeMode: null\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n }),\n accessibilityImage$raw: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image);","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(ScrollViewWithEventThrottle);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nclass VirtualizedSectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._keyExtractor = (item, index) => {\n var info = this._subExtractor(index);\n return info && info.key || String(index);\n };\n this._convertViewable = viewable => {\n var _info$index;\n invariant(viewable.index != null, 'Received a broken ViewToken');\n var info = this._subExtractor(viewable.index);\n if (!info) {\n return null;\n }\n var keyExtractorWithNullableIndex = info.section.keyExtractor;\n var keyExtractorWithNonNullableIndex = this.props.keyExtractor || defaultKeyExtractor;\n var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) !== null && _info$index !== void 0 ? _info$index : 0);\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n key,\n section: info.section\n });\n };\n this._onViewableItemsChanged = _ref => {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = this.props.onViewableItemsChanged;\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean),\n changed: changed.map(this._convertViewable, this).filter(Boolean)\n });\n }\n };\n this._renderItem = listItemCount =>\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n var item = _ref2.item,\n index = _ref2.index;\n var info = this._subExtractor(index);\n if (!info) {\n return null;\n }\n var infoIndex = info.index;\n if (infoIndex == null) {\n var section = info.section;\n if (info.header === true) {\n var renderSectionHeader = this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section\n }) : null;\n } else {\n var renderSectionFooter = this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || this.props.renderItem;\n var SeparatorComponent = this._getSeparatorComponent(index, info, listItemCount);\n invariant(renderItem, 'no renderItem!');\n return /*#__PURE__*/React.createElement(ItemWithSeparator, {\n SeparatorComponent: SeparatorComponent,\n LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined,\n cellKey: info.key,\n index: infoIndex,\n item: item,\n leadingItem: info.leadingItem,\n leadingSection: info.leadingSection,\n prevCellKey: (this._subExtractor(index - 1) || {}).key\n // Callback to provide updateHighlight for this item\n ,\n setSelfHighlightCallback: this._setUpdateHighlightFor,\n setSelfUpdatePropsCallback: this._setUpdatePropsFor\n // Provide child ability to set highlight/updateProps for previous item using prevCellKey\n ,\n updateHighlightFor: this._updateHighlightFor,\n updatePropsFor: this._updatePropsFor,\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!this.props.inverted\n });\n }\n };\n this._updatePropsFor = (cellKey, value) => {\n var updateProps = this._updatePropsMap[cellKey];\n if (updateProps != null) {\n updateProps(value);\n }\n };\n this._updateHighlightFor = (cellKey, value) => {\n var updateHighlight = this._updateHighlightMap[cellKey];\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n // $FlowFixMe[prop-missing]\n delete this._updateHighlightFor[cellKey];\n }\n };\n this._setUpdatePropsFor = (cellKey, updatePropsFn) => {\n if (updatePropsFn != null) {\n this._updatePropsMap[cellKey] = updatePropsFn;\n } else {\n delete this._updatePropsMap[cellKey];\n }\n };\n this._updateHighlightMap = {};\n this._updatePropsMap = {};\n this._captureRef = ref => {\n this._listRef = ref;\n };\n }\n scrollToLocation(params) {\n var index = params.itemIndex;\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n var viewOffset = params.viewOffset || 0;\n if (this._listRef == null) {\n return;\n }\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n var frame = this._listRef.__getFrameMetricsApprox(index - params.itemIndex, this._listRef.props);\n viewOffset += frame.length;\n }\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset,\n index\n });\n // $FlowFixMe[incompatible-use]\n this._listRef.scrollToIndex(toIndexParams);\n }\n getListRef() {\n return this._listRef;\n }\n render() {\n var _this$props = this.props,\n ItemSeparatorComponent = _this$props.ItemSeparatorComponent,\n SectionSeparatorComponent = _this$props.SectionSeparatorComponent,\n _renderItem = _this$props.renderItem,\n renderSectionFooter = _this$props.renderSectionFooter,\n renderSectionHeader = _this$props.renderSectionHeader,\n _sections = _this$props.sections,\n stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n }\n\n // Add two for the section header and footer.\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n var renderItem = this._renderItem(itemCount);\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: (sections, index) => this._getItem(this.props, sections, index),\n getItemCount: () => itemCount,\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n }\n _getItem(props, sections, index) {\n if (!sections) {\n return null;\n }\n var itemIdx = index - 1;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var itemCount = props.getItemCount(sectionData);\n if (itemIdx === -1 || itemIdx === itemCount) {\n // We intend for there to be overflow by one on both ends of the list.\n // This will be for headers and footers. When returning a header or footer\n // item the section itself is the item.\n return section;\n } else if (itemIdx < itemCount) {\n // If we are in the bounds of the list's data then return the item.\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2; // Add two for the header and footer\n }\n }\n\n return null;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n _subExtractor(index) {\n var itemIndex = index;\n var _this$props2 = this.props,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount,\n keyExtractor = _this$props2.keyExtractor,\n sections = _this$props2.sections;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var key = section.key || String(i);\n itemIndex -= 1; // The section adds an item for the header\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1; // The section adds an item for the footer.\n } else if (itemIndex === -1) {\n return {\n section,\n key: key + ':header',\n index: null,\n header: true,\n trailingSection: sections[i + 1]\n };\n } else if (itemIndex === getItemCount(sectionData)) {\n return {\n section,\n key: key + ':footer',\n index: null,\n header: false,\n trailingSection: sections[i + 1]\n };\n } else {\n var extractor = section.keyExtractor || keyExtractor || defaultKeyExtractor;\n return {\n section,\n key: key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),\n index: itemIndex,\n leadingItem: getItem(sectionData, itemIndex - 1),\n leadingSection: sections[i - 1],\n trailingItem: getItem(sectionData, itemIndex + 1),\n trailingSection: sections[i + 1]\n };\n }\n }\n }\n _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n if (!info) {\n return null;\n }\n var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n var SectionSeparatorComponent = this.props.SectionSeparatorComponent;\n var isLastItemInList = index === listItemCount - 1;\n var isLastItemInSection = info.index === this.props.getItemCount(info.section.data) - 1;\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n return null;\n }\n}\nfunction ItemWithSeparator(props) {\n var LeadingSeparatorComponent = props.LeadingSeparatorComponent,\n SeparatorComponent = props.SeparatorComponent,\n cellKey = props.cellKey,\n prevCellKey = props.prevCellKey,\n setSelfHighlightCallback = props.setSelfHighlightCallback,\n updateHighlightFor = props.updateHighlightFor,\n setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback,\n updatePropsFor = props.updatePropsFor,\n item = props.item,\n index = props.index,\n section = props.section,\n inverted = props.inverted;\n var _React$useState = React.useState(false),\n leadingSeparatorHiglighted = _React$useState[0],\n setLeadingSeparatorHighlighted = _React$useState[1];\n var _React$useState2 = React.useState(false),\n separatorHighlighted = _React$useState2[0],\n setSeparatorHighlighted = _React$useState2[1];\n var _React$useState3 = React.useState({\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps = _React$useState3[0],\n setLeadingSeparatorProps = _React$useState3[1];\n var _React$useState4 = React.useState({\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n separatorProps = _React$useState4[0],\n setSeparatorProps = _React$useState4[1];\n React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n // $FlowFixMe[incompatible-call]\n setSelfUpdatePropsCallback(cellKey, setSeparatorProps);\n return () => {\n setSelfUpdatePropsCallback(cellKey, null);\n setSelfHighlightCallback(cellKey, null);\n };\n }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]);\n var separators = {\n highlight: () => {\n setLeadingSeparatorHighlighted(true);\n setSeparatorHighlighted(true);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, true);\n }\n },\n unhighlight: () => {\n setLeadingSeparatorHighlighted(false);\n setSeparatorHighlighted(false);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, false);\n }\n },\n updateProps: (select, newProps) => {\n if (select === 'leading') {\n if (LeadingSeparatorComponent != null) {\n setLeadingSeparatorProps(_objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n } else if (prevCellKey != null) {\n // update the previous item's separator\n updatePropsFor(prevCellKey, _objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n }\n } else if (select === 'trailing' && SeparatorComponent != null) {\n setSeparatorProps(_objectSpread(_objectSpread({}, separatorProps), newProps));\n }\n }\n };\n var element = props.renderItem({\n item,\n index,\n section,\n separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, _extends({\n highlighted: leadingSeparatorHiglighted\n }, leadingSeparatorProps));\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, _extends({\n highlighted: separatorHighlighted\n }, separatorProps));\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n}\n\n/* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n// $FlowFixMe[method-unbinding]\nexport default VirtualizedSectionList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"stickySectionHeadersEnabled\"];\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [`<FlatList>`](https://reactnative.dev/docs/flatlist).\n *\n * Simple Examples:\n *\n * <SectionList\n * renderItem={({item}) => <ListItem title={item} />}\n * renderSectionHeader={({section}) => <Header title={section.title} />}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * <SectionList\n * sections={[ // heterogeneous rendering between sections\n * {data: [...], renderItem: ...},\n * {data: [...], renderItem: ...},\n * {data: [...], renderItem: ...},\n * ]}\n * />\n *\n * This is a convenience wrapper around [`<VirtualizedList>`](docs/virtualizedlist),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nexport default class SectionList extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._captureRef = ref => {\n this._wrapperListRef = ref;\n };\n }\n /**\n * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)\n * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be\n * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a\n * fixed number of pixels to offset the final target position, e.g. to compensate for sticky\n * headers.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToLocation(params) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.recordInteraction();\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n render() {\n var _this$props = this.props,\n _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform.OS === 'ios';\n return /*#__PURE__*/React.createElement(VirtualizedSectionList, _extends({}, restProps, {\n stickySectionHeadersEnabled: stickySectionHeadersEnabled,\n ref: this._captureRef,\n getItemCount: items => items.length,\n getItem: (items, index) => items[index]\n }));\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(SectionListWithEventThrottle);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedAddition extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedAddition;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDiffClamp extends AnimatedWithChildren {\n constructor(a, min, max) {\n super();\n this._a = a;\n this._min = min;\n this._max = max;\n this._value = this._lastValue = this._a.__getValue();\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __getValue() {\n var value = this._a.__getValue();\n var diff = value - this._lastValue;\n this._lastValue = value;\n this._value = Math.min(Math.max(this._value + diff, this._min), this._max);\n return this._value;\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n }\n}\nexport default AnimatedDiffClamp;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDivision extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._warnedAboutDivideByZero = false;\n if (b === 0 || b instanceof AnimatedNode && b.__getValue() === 0) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var a = this._a.__getValue();\n var b = this._b.__getValue();\n if (b === 0) {\n // Prevent spamming the console/LogBox\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n }\n // Passing infinity/NaN to Fabric will cause a native crash\n return 0;\n }\n this._warnedAboutDivideByZero = false;\n return a / b;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedDivision;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedModulo extends AnimatedWithChildren {\n constructor(a, modulus) {\n super();\n this._a = a;\n this._modulus = modulus;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n }\n}\nexport default AnimatedModulo;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedMultiplication extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedMultiplication;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedSubtraction extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedSubtraction;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass AnimatedTracking extends AnimatedNode {\n constructor(value, parent, animationClass, animationConfig, callback) {\n super();\n this._value = value;\n this._parent = parent;\n this._animationClass = animationClass;\n this._animationConfig = animationConfig;\n this._useNativeDriver = shouldUseNativeDriver(animationConfig);\n this._callback = callback;\n this.__attach();\n }\n __makeNative() {\n this.__isNative = true;\n this._parent.__makeNative();\n super.__makeNative();\n this._value.__makeNative();\n }\n __getValue() {\n return this._parent.__getValue();\n }\n __attach() {\n this._parent.__addChild(this);\n if (this._useNativeDriver) {\n // when the tracking starts we need to convert this node to a \"native node\"\n // so that the parent node will be made \"native\" too. This is necessary as\n // if we don't do this `update` method will get called. At that point it\n // may be too late as it would mean the JS driver has already started\n // updating node values\n this.__makeNative();\n }\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n }\n __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined\n }));\n var animationConfig = animation.__getNativeAnimationConfig();\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n }\n}\nexport default AnimatedTracking;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n/**\n * 2D Value for driving 2D animations, such as pan gestures. Almost identical\n * API to normal `Animated.Value`, but multiplexed.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html\n */\nclass AnimatedValueXY extends AnimatedWithChildren {\n constructor(valueIn) {\n super();\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: shouldn't need `: any`\n if (typeof value.x === 'number' && typeof value.y === 'number') {\n this.x = new AnimatedValue(value.x);\n this.y = new AnimatedValue(value.y);\n } else {\n invariant(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.');\n this.x = value.x;\n this.y = value.y;\n }\n this._listeners = {};\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setvalue\n */\n setValue(value) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#setoffset\n */\n setOffset(offset) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#flattenoffset\n */\n flattenOffset() {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#extractoffset\n */\n extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n __getValue() {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue()\n };\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#resetanimation\n */\n resetAnimation(callback) {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#stopanimation\n */\n stopAnimation(callback) {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removelistener\n */\n removeListener(id) {\n this.x.removeListener(this._listeners[id].x);\n this.y.removeListener(this._listeners[id].y);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#removealllisteners\n */\n removeAllListeners() {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Converts `{x, y}` into `{left, top}` for use in style.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#getlayout\n */\n getLayout() {\n return {\n left: this.x,\n top: this.y\n };\n }\n\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy.html#gettranslatetransform\n */\n getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n }\n}\nexport default AnimatedValueXY;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar startNativeAnimationNextId = 1;\n\n// Important note: start() and stop() will only be called at most once.\n// Once an animation has been stopped or finished its course, it will\n// not be reused.\nclass Animation {\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}\n stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n }\n __getNativeAnimationConfig() {\n // Subclasses that have corresponding animation implementation done in native\n // should override this method\n throw new Error('This animation type cannot be offloaded to native');\n }\n // Helper function for subclasses to make sure onEnd is only called once.\n __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n }\n __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n try {\n var config = this.__getNativeAnimationConfig();\n animatedValue.__makeNative(config.platformConfig);\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), config,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n }\n}\nexport default Animation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass DecayAnimation extends Animation {\n constructor(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n super();\n this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;\n this._velocity = config.velocity;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n }\n __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n onUpdate() {\n var now = Date.now();\n var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n this._onUpdate(value);\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._lastValue = value;\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default DecayAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n function b3Friction1(x) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n function b3Friction3(x) {\n return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;\n }\n function b3Nobounce(tension) {\n if (tension <= 18) {\n return b3Friction1(tension);\n } else if (tension > 18 && tension <= 44) {\n return b3Friction2(tension);\n } else {\n return b3Friction3(tension);\n }\n }\n var b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n var s = normalize(speed / 1.7, 0, 20);\n var bouncyTension = projectNormal(s, 0.5, 200);\n var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction)\n };\n}\nexport default {\n fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport normalizeColor from '@react-native/normalize-colors';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nvar defaultColor = {\n r: 0,\n g: 0,\n b: 0,\n a: 1.0\n};\nvar _uniqueId = 1;\nvar processColorObject = color => {\n return color;\n};\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color) {\n if (color === undefined || color === null) {\n return null;\n }\n if (isRgbaValue(color)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n return color;\n }\n var normalizedColor = normalizeColor(\n // $FlowIgnore[incompatible-cast] - Type is verified above\n color);\n if (normalizedColor === undefined || normalizedColor === null) {\n return null;\n }\n if (typeof normalizedColor === 'object') {\n var processedColorObj = processColorObject(normalizedColor);\n if (processedColorObj != null) {\n return processedColorObj;\n }\n } else if (typeof normalizedColor === 'number') {\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return {\n r,\n g,\n b,\n a\n };\n }\n return null;\n}\nfunction isRgbaValue(value) {\n return value && typeof value.r === 'number' && typeof value.g === 'number' && typeof value.b === 'number' && typeof value.a === 'number';\n}\nfunction isRgbaAnimatedValue(value) {\n return value && value.r instanceof AnimatedValue && value.g instanceof AnimatedValue && value.b instanceof AnimatedValue && value.a instanceof AnimatedValue;\n}\nexport default class AnimatedColor extends AnimatedWithChildren {\n constructor(valueIn, config) {\n super();\n this._listeners = {};\n var value = valueIn !== null && valueIn !== void 0 ? valueIn : defaultColor;\n if (isRgbaAnimatedValue(value)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n var rgbaAnimatedValue = value;\n this.r = rgbaAnimatedValue.r;\n this.g = rgbaAnimatedValue.g;\n this.b = rgbaAnimatedValue.b;\n this.a = rgbaAnimatedValue.a;\n } else {\n var _processColor;\n var processedColor = // $FlowIgnore[incompatible-cast] - Type is verified above\n (_processColor = processColor(value)) !== null && _processColor !== void 0 ? _processColor : defaultColor;\n var initColor = defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n initColor = processedColor;\n } else {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n this.nativeColor = processedColor;\n }\n this.r = new AnimatedValue(initColor.r);\n this.g = new AnimatedValue(initColor.g);\n this.b = new AnimatedValue(initColor.b);\n this.a = new AnimatedValue(initColor.a);\n }\n if (this.nativeColor || config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n */\n setValue(value) {\n var _processColor2;\n var shouldUpdateNodeConfig = false;\n if (this.__isNative) {\n var nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString());\n }\n var processedColor = (_processColor2 = processColor(value)) !== null && _processColor2 !== void 0 ? _processColor2 : defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var rgbaValue = processedColor;\n this.r.setValue(rgbaValue.r);\n this.g.setValue(rgbaValue.g);\n this.b.setValue(rgbaValue.b);\n this.a.setValue(rgbaValue.a);\n if (this.nativeColor != null) {\n this.nativeColor = null;\n shouldUpdateNodeConfig = true;\n }\n } else {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var nativeColor = processedColor;\n if (this.nativeColor !== nativeColor) {\n this.nativeColor = nativeColor;\n shouldUpdateNodeConfig = true;\n }\n }\n if (this.__isNative) {\n var _nativeTag = this.__getNativeTag();\n if (shouldUpdateNodeConfig) {\n NativeAnimatedAPI.updateAnimatedNodeConfig(_nativeTag, this.__getNativeConfig());\n }\n NativeAnimatedAPI.unsetWaitingForIdentifier(_nativeTag.toString());\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n */\n setOffset(offset) {\n this.r.setOffset(offset.r);\n this.g.setOffset(offset.g);\n this.b.setOffset(offset.b);\n this.a.setOffset(offset.a);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n */\n flattenOffset() {\n this.r.flattenOffset();\n this.g.flattenOffset();\n this.b.flattenOffset();\n this.a.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n */\n extractOffset() {\n this.r.extractOffset();\n this.g.extractOffset();\n this.b.extractOffset();\n this.a.extractOffset();\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n r: this.r.addListener(jointCallback),\n g: this.g.addListener(jointCallback),\n b: this.b.addListener(jointCallback),\n a: this.a.addListener(jointCallback)\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n */\n removeListener(id) {\n this.r.removeListener(this._listeners[id].r);\n this.g.removeListener(this._listeners[id].g);\n this.b.removeListener(this._listeners[id].b);\n this.a.removeListener(this._listeners[id].a);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n */\n removeAllListeners() {\n this.r.removeAllListeners();\n this.g.removeAllListeners();\n this.b.removeAllListeners();\n this.a.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n */\n stopAnimation(callback) {\n this.r.stopAnimation();\n this.g.stopAnimation();\n this.b.stopAnimation();\n this.a.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any animation and resets the value to its original.\n */\n resetAnimation(callback) {\n this.r.resetAnimation();\n this.g.resetAnimation();\n this.b.resetAnimation();\n this.a.resetAnimation();\n callback && callback(this.__getValue());\n }\n __getValue() {\n if (this.nativeColor != null) {\n return this.nativeColor;\n } else {\n return \"rgba(\" + this.r.__getValue() + \", \" + this.g.__getValue() + \", \" + this.b.__getValue() + \", \" + this.a.__getValue() + \")\";\n }\n }\n __attach() {\n this.r.__addChild(this);\n this.g.__addChild(this);\n this.b.__addChild(this);\n this.a.__addChild(this);\n super.__attach();\n }\n __detach() {\n this.r.__removeChild(this);\n this.g.__removeChild(this);\n this.b.__removeChild(this);\n this.a.__removeChild(this);\n super.__detach();\n }\n __makeNative(platformConfig) {\n this.r.__makeNative(platformConfig);\n this.g.__makeNative(platformConfig);\n this.b.__makeNative(platformConfig);\n this.a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getNativeConfig() {\n return {\n type: 'color',\n r: this.r.__getNativeTag(),\n g: this.g.__getNativeTag(),\n b: this.b.__getNativeTag(),\n a: this.a.__getNativeTag(),\n nativeColor: this.nativeColor\n };\n }\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nclass SpringAnimation extends Animation {\n constructor(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n super();\n this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;\n this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 0.001;\n this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 0.001;\n this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;\n this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;\n this._toValue = config.toValue;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;\n this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;\n this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n var _config$bounciness, _config$speed;\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n var springConfig = SpringConfig.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12);\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n var _config$tension, _config$friction;\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n var _springConfig = SpringConfig.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7);\n this._stiffness = _springConfig.stiffness;\n this._damping = _springConfig.damping;\n this._mass = 1;\n }\n invariant(this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(this._damping > 0, 'Damping value must be greater than 0');\n invariant(this._mass > 0, 'Mass value must be greater than 0');\n }\n __getNativeAnimationConfig() {\n var _this$_initialVelocit;\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: (_this$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n if (previousAnimation instanceof SpringAnimation) {\n var internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n // Set the initial velocity to the last velocity\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n var start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this.onUpdate();\n }\n };\n\n // If this._delay is more than 0, we start after the timeout.\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n getInternalState() {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime\n };\n }\n\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n onUpdate() {\n // If for some reason we lost a lot of frames (e.g. process large payload or\n // stopped in the debugger), we only advance by 4 frames worth of\n // computation and will continue on the next frame. It's better to have it\n // running at faster speed than jumping to the end.\n var MAX_STEPS = 64;\n var now = Date.now();\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n var deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n var c = this._damping;\n var m = this._mass;\n var k = this._stiffness;\n var v0 = -this._initialVelocity;\n var zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n var x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n if (zeta < 1) {\n // Under damped\n var envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));\n // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n var _envelope = Math.exp(-omega0 * t);\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n this._onUpdate(position);\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n }\n\n // Conditions for stopping the spring animation\n var isOvershooting = false;\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n var isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n if (isOvershooting || isVelocity && isDisplacement) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n this._onUpdate(this._toValue);\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default SpringAnimation;","/**\n * Portions Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n/**\n * BezierEasing - use bezier curve for transition easing function\n * https://github.com/gre/bezier-easing\n * @copyright 2014-2015 Gaëtan Renaudeau. MIT License.\n */\n\n'use strict';\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\nfunction C(aA1) {\n return 3.0 * aA1;\n}\n\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nfunction calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n}\n\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\nfunction getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n}\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nexport default function bezier(mX1, mY1, mX2, mY2) {\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n // Precompute samples table\n var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function BezierEasing(x) {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nimport _bezier from './bezier';\nvar ease;\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\nclass Easing {\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n static step0(n) {\n return n > 0 ? 1 : 0;\n }\n\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n static step1(n) {\n return n >= 1 ? 1 : 0;\n }\n\n /**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\n static linear(t) {\n return t;\n }\n\n /**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\n static ease(t) {\n if (!ease) {\n ease = Easing.bezier(0.42, 0, 1, 1);\n }\n return ease(t);\n }\n\n /**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\n static quad(t) {\n return t * t;\n }\n\n /**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\n static cubic(t) {\n return t * t * t;\n }\n\n /**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\n static poly(n) {\n return t => Math.pow(t, n);\n }\n\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n static sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n static circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n static exp(t) {\n return Math.pow(2, 10 * (t - 1));\n }\n\n /**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\n static elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n var p = bounciness * Math.PI;\n return t => 1 - Math.pow(Math.cos(t * Math.PI / 2), 3) * Math.cos(t * p);\n }\n\n /**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\n static back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\n return t => t * t * ((s + 1) * t - s);\n }\n\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n static bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n return 7.5625 * _t * _t + 0.75;\n }\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n var t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n }\n\n /**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\n static bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n\n /**\n * Runs an easing function forwards.\n */\n static in(easing) {\n return easing;\n }\n\n /**\n * Runs an easing function backwards.\n */\n static out(easing) {\n return t => 1 - easing(1 - t);\n }\n\n /**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\n static inOut(easing) {\n return t => {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n }\n}\nexport default Easing;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Easing from '../../../../exports/Easing';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nvar _easeInOut;\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n return _easeInOut;\n}\nclass TimingAnimation extends Animation {\n constructor(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n super();\n this._toValue = config.toValue;\n this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();\n this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n }\n __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n for (var frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n var start = () => {\n // Animations that sometimes have 0 duration and sometimes do not\n // still need to use the native driver when duration is 0 so as to\n // not cause intermixed JS and native animations.\n if (this._duration === 0 && !this._useNativeDriver) {\n this._onUpdate(this._toValue);\n this.__debouncedOnEnd({\n finished: true\n });\n } else {\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.onUpdate.bind(this));\n }\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n onUpdate() {\n var now = Date.now();\n if (now >= this._startTime + this._duration) {\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n } else {\n this._onUpdate(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\n if (this.__active) {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default TimingAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\nimport AnimatedDiffClamp from './nodes/AnimatedDiffClamp';\nimport AnimatedDivision from './nodes/AnimatedDivision';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedModulo from './nodes/AnimatedModulo';\nimport AnimatedMultiplication from './nodes/AnimatedMultiplication';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete(...arguments);\n callback && callback(...arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n var configY = _objectSpread({}, config);\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n var aX = anim(value.x, configX);\n var aY = anim(value.y, configY);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aX, aY], {\n stopTogether: false\n });\n } else if (value instanceof AnimatedColor) {\n var configR = _objectSpread({}, config);\n var configG = _objectSpread({}, config);\n var configB = _objectSpread({}, config);\n var configA = _objectSpread({}, config);\n for (var _key in config) {\n var _config$_key = config[_key],\n r = _config$_key.r,\n g = _config$_key.g,\n b = _config$_key.b,\n a = _config$_key.a;\n if (r !== undefined && g !== undefined && b !== undefined && a !== undefined) {\n configR[_key] = r;\n configG[_key] = g;\n configB[_key] = b;\n configA[_key] = a;\n }\n }\n var aR = anim(value.r, configR);\n var aG = anim(value.g, configG);\n var aB = anim(value.b, configB);\n var aA = anim(value.a, configA);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aR, aG, aB, aA], {\n stopTogether: false\n });\n }\n return null;\n};\nvar spring = function spring(value, config) {\n var _start = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, spring) || {\n start: function start(callback) {\n _start(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar timing = function timing(value, config) {\n var _start2 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, timing) || {\n start: function start(callback) {\n _start2(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar decay = function decay(value, config) {\n var _start3 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n return maybeVectorAnim(value, config, decay) || {\n start: function start(callback) {\n _start3(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar sequence = function sequence(animations) {\n var current = 0;\n return {\n start: function start(callback) {\n var onComplete = function onComplete(result) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n current++;\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n animations[current].start(onComplete);\n };\n if (animations.length === 0) {\n callback && callback({\n finished: true\n });\n } else {\n animations[current].start(onComplete);\n }\n },\n stop: function stop() {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n};\nvar parallel = function parallel(animations, config) {\n var doneCount = 0;\n // Make sure we only call stop() at most once for each animation\n var hasEnded = {};\n var stopTogether = !(config && config.stopTogether === false);\n var result = {\n start: function start(callback) {\n if (doneCount === animations.length) {\n callback && callback({\n finished: true\n });\n return;\n }\n animations.forEach((animation, idx) => {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach((animation, idx) => {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n return result;\n};\nvar delay = function delay(time) {\n // Would be nice to make a specialized implementation\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false\n });\n};\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }));\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations,\n _ref$resetBeforeItera = _ref.resetBeforeIteration,\n resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera;\n var isFinished = false;\n var iterationsSoFar = 0;\n return {\n start: function start(callback) {\n var restart = function restart(result) {\n if (result === void 0) {\n result = {\n finished: true\n };\n }\n if (isFinished || iterationsSoFar === iterations || result.finished === false) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart);\n }\n };\n if (!animation || iterations === 0) {\n callback && callback({\n finished: true\n });\n } else {\n if (animation._isUsingNativeDriver()) {\n animation._startNativeLoop(iterations);\n } else {\n restart(); // Start looping recursively on the js thread\n }\n }\n },\n\n stop: function stop() {\n isFinished = true;\n animation.stop();\n },\n reset: function reset() {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.loop animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return animation._isUsingNativeDriver();\n }\n };\n};\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n return event;\n } else {\n return function () {\n typeof event === 'function' && event(...arguments);\n listener(...arguments);\n };\n }\n}\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\nvar event = function event(argMapping, config) {\n var animatedEvent = new AnimatedEvent(argMapping, config);\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n\n// All types of animated nodes that represent scalar numbers and can be interpolated (etc)\n\n/**\n * The `Animated` library is designed to make animations fluid, powerful, and\n * easy to build and maintain. `Animated` focuses on declarative relationships\n * between inputs and outputs, with configurable transforms in between, and\n * simple `start`/`stop` methods to control time-based animation execution.\n * If additional transforms are added, be sure to include them in\n * AnimatedMock.js as well.\n *\n * See https://reactnative.dev/docs/animated\n */\nexport default {\n /**\n * Standard value class for driving animations. Typically initialized with\n * `new Animated.Value(0);`\n *\n * See https://reactnative.dev/docs/animated#value\n */\n Value: AnimatedValue,\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy\n */\n ValueXY: AnimatedValueXY,\n /**\n * Value class for driving color animations.\n */\n Color: AnimatedColor,\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated#interpolation\n */\n Interpolation: AnimatedInterpolation,\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated#node\n */\n Node: AnimatedNode,\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated#decay\n */\n decay,\n /**\n * Animates a value along a timed easing curve. The Easing module has tons of\n * predefined curves, or you can use your own function.\n *\n * See https://reactnative.dev/docs/animated#timing\n */\n timing,\n /**\n * Animates a value according to an analytical spring model based on\n * damped harmonic oscillation.\n *\n * See https://reactnative.dev/docs/animated#spring\n */\n spring,\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated#add\n */\n add,\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated#subtract\n */\n subtract,\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated#divide\n */\n divide,\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated#multiply\n */\n multiply,\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated#modulo\n */\n modulo,\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated#diffclamp\n */\n diffClamp,\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated#delay\n */\n delay,\n /**\n * Starts an array of animations in order, waiting for each to complete\n * before starting the next. If the current running animation is stopped, no\n * following animations will be started.\n *\n * See https://reactnative.dev/docs/animated#sequence\n */\n sequence,\n /**\n * Starts an array of animations all at the same time. By default, if one\n * of the animations is stopped, they will all be stopped. You can override\n * this with the `stopTogether` flag.\n *\n * See https://reactnative.dev/docs/animated#parallel\n */\n parallel,\n /**\n * Array of animations may run in parallel (overlap), but are started in\n * sequence with successive delays. Nice for doing trailing effects.\n *\n * See https://reactnative.dev/docs/animated#stagger\n */\n stagger,\n /**\n * Loops a given animation continuously, so that each time it reaches the\n * end, it resets and begins again from the start.\n *\n * See https://reactnative.dev/docs/animated#loop\n */\n loop,\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated#event\n */\n event,\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated#createanimatedcomponent\n */\n createAnimatedComponent,\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated#attachnativeevent\n */\n attachNativeEvent,\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated#forkevent\n */\n forkEvent,\n unforkEvent,\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\n\n/**\n * Animations are a source of flakiness in snapshot testing. This mock replaces\n * animation functions from AnimatedImplementation with empty animations for\n * predictability in tests. When possible the animation will run immediately\n * to the final state.\n */\n\n// Prevent any callback invocation from recursively triggering another\n// callback, which may trigger another animation\nvar inAnimationCallback = false;\nfunction mockAnimationStart(start) {\n return callback => {\n var guardedCallback = callback == null ? callback : function () {\n if (inAnimationCallback) {\n console.warn('Ignoring recursive animation callback when running mock animations');\n return;\n }\n inAnimationCallback = true;\n try {\n callback(...arguments);\n } finally {\n inAnimationCallback = false;\n }\n };\n start(guardedCallback);\n };\n}\nvar emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n }\n};\nvar mockCompositeAnimation = animations => _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n animations.forEach(animation => animation.start());\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n});\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\nvar sequence = function sequence(animations) {\n return mockCompositeAnimation(animations);\n};\nvar parallel = function parallel(animations, config) {\n return mockCompositeAnimation(animations);\n};\nvar delay = function delay(time) {\n return emptyAnimation;\n};\nvar stagger = function stagger(time, animations) {\n return mockCompositeAnimation(animations);\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n return emptyAnimation;\n};\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Color: AnimatedColor,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay,\n timing,\n spring,\n add: AnimatedImplementation.add,\n subtract: AnimatedImplementation.subtract,\n divide: AnimatedImplementation.divide,\n multiply: AnimatedImplementation.multiply,\n modulo: AnimatedImplementation.modulo,\n diffClamp: AnimatedImplementation.diffClamp,\n delay,\n sequence,\n parallel,\n stagger,\n loop,\n event: AnimatedImplementation.event,\n createAnimatedComponent,\n attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent\n};","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @format\n */\n\nimport Platform from '../../../exports/Platform';\nimport FlatList from './components/AnimatedFlatList';\nimport Image from './components/AnimatedImage';\nimport ScrollView from './components/AnimatedScrollView';\nimport SectionList from './components/AnimatedSectionList';\nimport Text from './components/AnimatedText';\nimport View from './components/AnimatedView';\nimport AnimatedMock from './AnimatedMock';\nimport AnimatedImplementation from './AnimatedImplementation';\nvar Animated = Platform.isTesting ? AnimatedMock : AnimatedImplementation;\nexport default _objectSpread({\n FlatList,\n Image,\n ScrollView,\n SectionList,\n Text,\n View\n}, Animated);","/* istanbul ignore file */\nimport * as React from 'react';\nimport { Animated, StyleSheet, View, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Size, ThemeObject, Variant } from '../../../types/theme';\nimport { createVariantSystem } from '../../../utils/variant';\n\nexport type ProgressBarProps = {\n percentage: number;\n variant?: Variant;\n height?: Size;\n animationDuration?: number;\n};\n\nconst useStyles = (theme: ThemeObject) => {\n return StyleSheet.create({\n container: {\n width: '100%',\n borderRadius: theme.sizes.borderRadiusRounded,\n overflow: 'hidden',\n },\n progress: {\n borderRadius: theme.sizes.borderRadiusRounded,\n height: '100%',\n },\n });\n};\n\nconst useContainerStyles = (theme: ThemeObject) => ({\n sm: { height: theme.sizes.xxs },\n md: { height: theme.sizes.xs },\n lg: { height: theme.sizes.sm },\n});\n\nconst useProgressStyles = createVariantSystem(\n // @ts-ignore\n (theme: ThemeObject) => ({ borderRadius: theme.sizes.borderRadiusSmRounded }),\n (theme: ThemeObject) => ({\n primary: { backgroundColor: theme.primary },\n accent: { backgroundColor: theme.accent },\n positive: { backgroundColor: theme.positive },\n negative: { backgroundColor: theme.negative },\n })\n);\n\nconst ProgressBar = ({\n percentage,\n variant = 'primary',\n height = 'sm',\n animationDuration = 300,\n}: ProgressBarProps): JSX.Element => {\n const { theme } = useWllSdk();\n const styles = useStyles(theme);\n const containerStyles = useContainerStyles(theme);\n const progressStyles = useProgressStyles(theme, variant);\n\n const animatedWidth = React.useRef(new Animated.Value(0)).current;\n\n const containerStyle = [\n styles.container,\n containerStyles[height],\n { backgroundColor: theme.derivedSurface[20] },\n ];\n\n React.useEffect(() => {\n Animated.timing(animatedWidth, {\n toValue: Math.min(Math.max(percentage, 0), 100),\n duration: animationDuration,\n useNativeDriver: false,\n }).start();\n }, [percentage, animationDuration]);\n\n const progressWidth: ViewStyle = {\n width: animatedWidth.interpolate({\n inputRange: [0, 100],\n outputRange: ['0%', '100%'],\n }),\n };\n\n return (\n <View style={containerStyle}>\n <Animated.View style={[styles.progress, progressStyles, progressWidth]} />\n </View>\n );\n};\n\nexport default ProgressBar;\n","import { Dimensions, Platform } from \"react-native\";\n\nexport const IS_WEB = Platform.OS === \"web\";\nexport const IS_IOS = Platform.OS === \"ios\";\nexport const IS_ANDROID = Platform.OS === \"android\";\nexport const IS_MOBILE = IS_IOS || IS_ANDROID;\nexport const IS_DESKTOP = !IS_MOBILE;\n\nconst { width, height } = Dimensions.get(\"window\");\n\nexport const SCREEN_WIDTH = width;\nexport const SCREEN_HEIGHT = height;\n","/* istanbul ignore file */\nimport React, { useRef } from 'react';\nimport {\n Animated,\n ImageSourcePropType,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport { IS_WEB } from '../../../constants/device';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { desaturateColor } from '../../../utils/themeHelpers';\n\ntype ProgressiveImageProps = {\n source: ImageSourcePropType;\n style?: StyleProp<ViewStyle>;\n isDesaturated?: boolean;\n alt?: string;\n [key: string]: any;\n};\n\nconst ProgressiveImage = ({\n source,\n style,\n isDesaturated = false,\n alt,\n ...props\n}: ProgressiveImageProps): JSX.Element => {\n const imageAnimated = useRef(new Animated.Value(0)).current;\n const { theme } = useWllSdk();\n\n const onImageLoad = (): void => {\n requestAnimationFrame(() => {\n Animated.timing(imageAnimated, {\n toValue: 1,\n useNativeDriver: true,\n duration: 300,\n }).start();\n });\n };\n\n const baseColor = theme.alphaDerivedPrimary[20];\n const desaturatedColor = desaturateColor(baseColor);\n const backgroundColor = isDesaturated ? desaturatedColor : baseColor;\n\n // Platform-specific logic for desaturation\n const desaturationStyle = IS_WEB\n ? {\n filter: isDesaturated ? 'grayscale(100%)' : undefined,\n }\n : {\n tintColor: isDesaturated ? desaturatedColor : undefined,\n };\n\n return (\n <View style={[styles.container, style, { backgroundColor }]}>\n {/* Placeholder that fades out as the main image loads */}\n <Animated.View\n style={[\n styles.imageOverlay,\n {\n backgroundColor,\n opacity: imageAnimated.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n }),\n },\n ]}\n />\n\n <Animated.Image\n {...props}\n source={source}\n style={[\n styles.imageOverlay,\n {\n opacity: imageAnimated,\n ...desaturationStyle,\n },\n ]}\n onLoad={onImageLoad}\n accessibilityLabel={alt}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n imageOverlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n top: 0,\n },\n container: {\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'red',\n width: '100%',\n height: '100%',\n },\n});\n\nexport default ProgressiveImage;\n","import * as React from 'react';\nimport {\n Text as RNText,\n TextProps as RNTextProps,\n TextStyle,\n} from 'react-native';\nimport { useResponsive } from '../../../context/ResponsiveContext';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\ntype TextVariant =\n | 'eyebrow'\n | 'title'\n | 'description'\n | 'body'\n | 'caption'\n | 'label'\n | 'tier-requirement'\n | 'tier-earned';\n\ntype TextProps = RNTextProps & {\n variant?: TextVariant;\n style?: TextStyle;\n isSurface?: boolean;\n};\n\nexport const Text = ({\n variant = 'body',\n style,\n isSurface = false,\n ...props\n}: TextProps): JSX.Element => {\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n\n const getVariantStyle = (variant: TextVariant): TextStyle => {\n const baseStyle = {\n color: theme.surfaceText,\n };\n\n switch (variant) {\n case 'eyebrow':\n return {\n ...baseStyle,\n fontSize: useResponsiveValue(\n theme.sizes.md,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n };\n case 'title':\n return {\n ...baseStyle,\n fontSize: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n fontWeight: 'bold',\n };\n case 'body':\n return {\n color: theme.derivedSurfaceText[20],\n fontSize: useResponsiveValue(\n theme.sizes.md,\n theme.sizes.xs,\n isDesktop,\n isTablet\n ),\n };\n case 'caption':\n return {\n ...baseStyle,\n fontWeight: 'bold',\n fontSize: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.xl,\n isDesktop,\n isTablet\n ),\n color: theme.primary,\n };\n case 'description':\n case 'label':\n default:\n return {\n ...baseStyle,\n fontSize: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xs,\n isDesktop,\n isTablet\n ),\n };\n }\n };\n\n const variantStyle = getVariantStyle(variant);\n\n return <RNText style={[variantStyle, style]} {...props} />;\n};\n\nexport default Text;\n","export const MAX_WIDTH = 1080;\nexport const SLIDE_WIDTH = MAX_WIDTH;\nexport const BUTTON_SIZE = 42;\n","import { Availability, RewardCategory, TierType } from './wll';\n\nexport enum CTALinkTarget {\n sameWindow = 'SAME_FRAME',\n newWindow = 'NEW_WINDOW',\n}\n\nexport enum TierTileType {\n currentTier = 'CURRENT',\n specificTier = 'SPECIFIC',\n}\n\nexport enum ProgressType {\n Name = 'NAME',\n Points = 'POINTS',\n}\n\nexport enum TileType {\n Banner = 'BANNER',\n Points = 'POINTS',\n Content = 'CONTENT',\n Reward = 'REWARD',\n Badge = 'BADGE',\n RewardCategory = 'REWARD_CATEGORY',\n Tier = 'TIER',\n}\n\nexport enum TileHeight {\n Half = 'HALF',\n Full = 'FULL',\n}\n\nexport type ProgessType = 'NAME' | 'POINTS';\n\nexport class BannerTileConfig {\n artworkUrl?: string | null;\n title?: string | null;\n description?: string | null;\n ctaText?: string | null;\n ctaLink?: string | null;\n ctaLinkTarget?: CTALinkTarget;\n}\n\nexport class PointsTileConfig {\n title?: string | null;\n pointsMultiplier?: number;\n pointsPrefix?: string | null;\n pointsSuffix?: string | null;\n artworkUrl?: string | null;\n points?: number;\n}\n\nexport class ContentTileConfig {\n title?: string | null;\n body?: string | null;\n artworkUrl?: string | null;\n ctaLinkTarget?: CTALinkTarget;\n ctaLink?: string | null;\n}\n\nexport class RewardTileConfig {\n rewardId: string = '';\n defaultLocale: string = 'en';\n showPrice: boolean = false;\n showArtwork?: boolean;\n showDetails?: boolean;\n id: string = '';\n createdAt: string = '';\n updatedAt: string = '';\n name: string = '';\n pictureUrl: string = '';\n value: number = 0;\n price: number = 0;\n priority: number = 0;\n availability: Availability = {\n start: '',\n end: '',\n };\n purchasable: boolean = false;\n tier: string | null = null;\n category: RewardCategory = {\n name: '',\n priority: 0,\n type: '',\n id: '',\n createdAt: '',\n updatedAt: '',\n description: null,\n metadata: null,\n pictureUrl: '',\n };\n discounts: any[] = [];\n summary: string | null = null;\n redemptionMessage: string | null = null;\n visibilityCriteria: string | null = null;\n type: 'VOUCHER' = 'VOUCHER';\n codeType: 'HUMAN' | 'OTP' = 'HUMAN';\n code: string | null = null;\n purchaseExpiration: string | null = null;\n hideCode: boolean = false;\n notificationConfig: any | null = null;\n artworkUrl: string | undefined = undefined;\n pointsMultiplier: number = 1;\n pointsPrefix: string | null = null;\n pointsSuffix: string | null = null;\n}\n\nexport enum BadgeTileType {\n Specific = 'SPECIFIC',\n Latest = 'LATEST_EARNED',\n}\n\nexport class BadgeTileConfig {\n type: BadgeTileType = BadgeTileType.Specific;\n badgeId: string = '';\n internalName?: string;\n defaultLocale: string = 'en';\n priority: number = 0;\n internalDescription?: string | null;\n status?: string;\n id: string = '';\n createdAt: string = '';\n updatedAt: string = '';\n details?: BadgeDetail[] = [];\n count: number = 0;\n name: string = '';\n locale: string = 'en';\n description: string = '';\n artworkUrl: string = '';\n emptyBadgeMessage?: string;\n emptyBadgeArtworkUrl?: string;\n awardedDatePrefix?: string;\n badgeNotEarnedMessage?: string;\n}\n\nexport type BadgeDetail = {\n name: string;\n locale: string;\n description: string;\n artworkUrl: string;\n id: string;\n createdAt: string;\n updatedAt: string;\n emptyBadgeMessage?: string;\n emptyBadgeArtworkUrl?: string;\n awardedDatePrefix?: string;\n badgeNotEarnedMessage?: string;\n};\n\nexport class RewardCategoryTileConfig {\n showName: boolean = true;\n rewardCategoryId: string = '';\n artworkUrl: string = '';\n name: string = '';\n}\n\nexport class TierTileConfig {\n progressType: ProgressType = ProgressType.Name;\n pointsMultiplier?: number;\n pointsPrefix?: string;\n pointsSuffix?: string;\n tier?: TierType;\n tierId?: string;\n targetTier?: TierType | undefined;\n type?: TierTileType;\n targetTierAttainingPeriod?: Date | null;\n title: string = '';\n emptyDescription?: string = '';\n emptyArtworkUrl?: string = '';\n pointsToTierPrefix?: string = '';\n pointsToTierSuffix?: string = '';\n locale: string = 'en';\n}\n\nexport type Tile = {\n id: string | null;\n type?: TileType;\n active: boolean;\n createdAt: string | null;\n updatedAt: string | null;\n tileHeight: TileHeight;\n configuration: TileConfig;\n priority: number;\n};\n\nconst getConfigForTileType = (tileType: TileType) => {\n switch (tileType) {\n case TileType.Banner:\n return BannerTileConfig;\n case TileType.Points:\n return PointsTileConfig;\n case TileType.Content:\n return ContentTileConfig;\n case TileType.Reward:\n return RewardTileConfig;\n case TileType.Badge:\n return BadgeTileConfig;\n case TileType.RewardCategory:\n return RewardCategoryTileConfig;\n case TileType.Tier:\n return TierTileConfig;\n default:\n throw new Error(`Tile type ${tileType} is not supported`);\n }\n};\n\nexport type TileConfig = InstanceType<ReturnType<typeof getConfigForTileType>>;\n\nexport type TileSizeInfo = {\n isFullSize: boolean;\n isHalfSize: boolean;\n};\n","import { useCallback } from 'react';\nimport { useWllSdk } from '../context/WllSdkContext';\nimport {\n CTALinkTarget,\n RewardCategoryTileConfig,\n RewardTileConfig,\n Tile,\n TileType,\n} from '../types/tile';\n\nexport const useHandleTilePress = (\n tile: Tile,\n ctaLink?: string | null,\n ctaLinkTarget?: string\n) => {\n const { handleNavigation } = useWllSdk();\n\n return useCallback(() => {\n if (tile?.type === TileType.Reward) {\n const config = tile.configuration as RewardTileConfig;\n if (config?.rewardId) {\n const url = `/reward?id=${config.rewardId}`;\n return handleNavigation(url, CTALinkTarget.sameWindow);\n }\n }\n\n if (tile?.type === TileType.RewardCategory) {\n const config = tile.configuration as RewardCategoryTileConfig;\n const url = `/category?id=${config.rewardCategoryId}`;\n if (config?.rewardCategoryId) {\n return handleNavigation(url, CTALinkTarget.sameWindow);\n }\n }\n\n if (ctaLink) {\n const target =\n (ctaLinkTarget as CTALinkTarget) || CTALinkTarget.sameWindow;\n return handleNavigation(ctaLink, target);\n }\n }, [tile, ctaLink, ctaLinkTarget, handleNavigation]);\n};\n","import React, { createContext, useContext } from 'react';\nimport { Pressable, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport { MAX_WIDTH } from '../../../constants';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useHandleTilePress } from '../../../hooks/useHandleTilePress';\nimport { BannerTileConfig, Tile } from '../../../types/tile';\n\nconst BannerContext = createContext<Tile | null>(null);\n\nexport const useBannerContext = () => {\n const context = useContext(BannerContext);\n if (!context) {\n throw new Error('Banner components must be used within a BaseBanner');\n }\n return context;\n};\n\ntype BaseBannerProps = {\n tile: Tile;\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n onPress?: () => void;\n testID?: string;\n disabled?: boolean;\n accessibilityLabel?: string;\n};\n\nconst BaseBanner: React.FC<BaseBannerProps> = ({\n tile,\n children,\n style,\n testID,\n accessibilityLabel,\n}): JSX.Element => {\n const { theme } = useWllSdk();\n const { ctaLink, ctaLinkTarget, title, ctaText } =\n tile.configuration as BannerTileConfig;\n\n const handlePress = useHandleTilePress(tile, ctaLink, ctaLinkTarget);\n const hasCTA = Boolean(ctaText);\n\n return (\n <BannerContext.Provider value={tile}>\n <Pressable\n testID={testID || 'banner-tile'}\n style={({ pressed }) => [\n styles.container,\n style,\n {\n backgroundColor: theme.surface,\n borderRadius: theme.sizes.borderRadiusLg,\n opacity: pressed ? 0.7 : 1,\n },\n ]}\n onPress={hasCTA ? undefined : handlePress}\n disabled={!ctaLink || hasCTA}\n accessible={true}\n role={hasCTA ? 'article' : 'button'}\n accessibilityLabel={\n accessibilityLabel ||\n `${title}${!hasCTA && ctaLink ? ' - Click to open' : ''}`\n }\n >\n {children}\n </Pressable>\n </BannerContext.Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n maxWidth: MAX_WIDTH,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n overflow: 'hidden',\n },\n});\n\nexport default BaseBanner;\n","import { useMemo } from 'react';\nimport { Tile, TileHeight } from '../types/tile';\n\nexport const useTileSize = (tile: Tile) => {\n return useMemo(\n () => ({\n isFullSize: tile.tileHeight === TileHeight.Full,\n isHalfSize: tile.tileHeight === TileHeight.Half,\n }),\n [tile.tileHeight]\n );\n};\n","import React from 'react';\nimport { TextProps, TextStyle } from 'react-native';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { ContentTileConfig } from '../../../types/tile';\nimport Text from '../Text';\nimport { useTileContext } from './index';\n\ntype BaseTileBodyProps = Omit<TextProps, 'style'> & {\n variant?:\n | 'eyebrow'\n | 'title'\n | 'description'\n | 'body'\n | 'caption'\n | 'label'\n | 'tier-requirement'\n | 'tier-earned';\n isSurface?: boolean;\n style?: TextStyle;\n};\n\n/**\n * Renders the body text of a BaseTile component.\n *\n * @param {BaseTileBodyProps} props - Component props including text styling options\n * @returns {JSX.Element|null} The rendered body text or null if conditions for display are not met\n */\nexport const BaseTileBody = (props: BaseTileBodyProps): JSX.Element | null => {\n const tileContext = useTileContext();\n const responsive = useResponsive();\n\n if (!tileContext || !tileContext.configuration || !responsive) return null;\n\n const { isDesktop, isTablet } = responsive;\n const { body, artworkUrl } = tileContext.configuration as ContentTileConfig;\n\n const sizeInfo = useTileSize(tileContext);\n if (!sizeInfo) return null;\n\n const { isHalfSize } = sizeInfo;\n\n // Don't show body for half tiles with image\n if ((isHalfSize && artworkUrl) || !body) return null;\n\n const getNumberOfLines = (): number | undefined => {\n if (!isHalfSize && !artworkUrl) return undefined;\n return isDesktop ? 3 : isTablet ? 4 : 3;\n };\n\n return (\n <Text\n variant=\"body\"\n {...props}\n accessibilityRole=\"text\"\n accessibilityLabel={body}\n numberOfLines={getNumberOfLines()}\n testID=\"tile-body\"\n >\n {body}\n </Text>\n );\n};\n","import { TileSizeInfo } from '../types/tile';\n\n/**\n * Utility function that checks if a component context and its configuration exist.\n * Works for both tile contexts and banner contexts.\n *\n * @param context - The component context to validate (tileContext or bannerContext)\n * @returns `true` if both the context and its configuration exist, otherwise `false`\n */\nexport function isContextValid(context: any): boolean {\n return (\n context !== null &&\n context !== undefined &&\n context.configuration !== null &&\n context.configuration !== undefined\n );\n}\n\n/**\n * Checks if a tile's content should be hidden based on its size and artwork configuration.\n *\n * @param {TileSizeInfo | null} sizeInfo - The size information for the tile\n * @param {string | null | undefined} artworkUrl - The URL of the tile's artwork\n * @returns {boolean} True if the content should be hidden, false otherwise\n */\n\nexport const shouldHideContentForHalfTile = (\n sizeInfo: TileSizeInfo | null,\n artworkUrl?: string | null\n): boolean => {\n if (!sizeInfo) return false;\n return sizeInfo.isHalfSize && !!artworkUrl;\n};\n","import { StyleSheet } from 'react-native';\nimport { useTileContext } from '.';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { ContentTileConfig } from '../../../types/tile';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const baseStyles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n },\n content: {\n display: 'flex',\n },\n media: {\n width: '100%',\n objectFit: 'cover',\n },\n});\n\n/**\n * Custom hook that returns the styles for the BaseTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the BaseTile component\n */\nexport const useBaseTileStyles = () => {\n const tileContext = useTileContext();\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n\n if (!tileContext || !tileContext.configuration) {\n return StyleSheet.create({\n container: baseStyles.container,\n content: baseStyles.content,\n header: {\n marginBottom: 0,\n marginTop: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n media: baseStyles.media,\n });\n }\n\n const sizeInfo = useTileSize(tileContext);\n const isHalfSize = sizeInfo?.isHalfSize || false;\n const { artworkUrl, title, body } =\n tileContext.configuration as ContentTileConfig;\n\n return StyleSheet.create({\n container: {\n ...baseStyles.container,\n backgroundColor: theme.surface,\n aspectRatio: isHalfSize ? 2 : 1,\n borderRadius: useResponsiveValue(\n theme.sizes.borderRadiusLg,\n theme.sizes.borderRadiusSm,\n isDesktop,\n isTablet\n ),\n justifyContent: 'center',\n alignItems: 'center',\n },\n content: {\n ...baseStyles.content,\n justifyContent: 'center',\n height: !artworkUrl ? '100%' : undefined,\n },\n header: {\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n marginTop:\n !isHalfSize && artworkUrl\n ? useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n )\n : undefined,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n textAlign: isHalfSize ? 'center' : undefined,\n },\n media: {\n ...baseStyles.media,\n flexBasis: !isHalfSize && title && body ? '50%' : '100%',\n height: isHalfSize ? '100%' : undefined,\n },\n });\n};\n","import React, { ReactNode } from 'react';\nimport { View } from 'react-native';\n\nimport { useTileContext } from '.';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { WithChildren } from '../../../types/helpers';\nimport { ContentTileConfig } from '../../../types/tile';\nimport {\n isContextValid,\n shouldHideContentForHalfTile,\n} from '../../../utils/contextHelpers';\nimport { baseStyles } from './styles';\n\ntype BaseTileContentProps = WithChildren;\n\n/**\n * Renders the content section of a BaseTile component.\n *\n * @param {BaseTileContentProps} props - Component props\n * @param {ReactNode} props.children - Child elements to render within the content area\n * @returns {JSX.Element|null} The rendered content or null if conditions for display are not met\n */\n\nexport const BaseTileContent = ({\n children,\n}: BaseTileContentProps): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl } = tileContext.configuration as ContentTileConfig;\n\n const sizeInfo = useTileSize(tileContext);\n\n if (!sizeInfo) return null;\n\n if (shouldHideContentForHalfTile(sizeInfo, artworkUrl)) return null;\n\n return (\n <View\n testID=\"tile-content\"\n style={[\n baseStyles.content,\n {\n justifyContent: 'center',\n height: !artworkUrl ? '100%' : undefined,\n },\n ]}\n accessibilityRole=\"none\"\n >\n {children}\n </View>\n );\n};\n","import React, { ReactNode } from 'react';\nimport { View, ViewStyle } from 'react-native';\nimport { useTileContext } from '.';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { WithChildren } from '../../../types/helpers';\nimport { ContentTileConfig } from '../../../types/tile';\nimport {\n isContextValid,\n shouldHideContentForHalfTile,\n} from '../../../utils/contextHelpers';\nimport { useBaseTileStyles } from './styles';\n\ntype BaseTileHeaderProps = WithChildren;\n\n/**\n * Renders the header section of a BaseTile component.\n *\n * @param {BaseTileHeaderProps} props - Component props\n * @param {ReactNode} props.children - Child elements to render within the header\n * @returns {JSX.Element|null} The rendered header or null if conditions for display are not met\n */\nexport const BaseTileHeader = ({\n children,\n}: BaseTileHeaderProps): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl } = tileContext.configuration as ContentTileConfig;\n\n const sizeInfo = useTileSize(tileContext);\n if (!sizeInfo) return null;\n\n if (shouldHideContentForHalfTile(sizeInfo, artworkUrl)) return null;\n\n const dynamicStyles = useBaseTileStyles();\n\n const combinedStyle: ViewStyle = {\n ...dynamicStyles.header,\n marginTop: sizeInfo.isHalfSize ? 0 : dynamicStyles.header.marginTop,\n ...(sizeInfo.isHalfSize ? { alignItems: 'center' } : {}),\n };\n\n return (\n <View style={combinedStyle} testID=\"tile-header\" accessibilityRole=\"header\">\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { ImagePropsNoSource } from '../../../types/common';\nimport { ContentTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport ProgressiveImage from '../ProgressiveImage';\nimport { useTileContext } from './index';\nimport { baseStyles, useBaseTileStyles } from './styles';\n\n/**\n * Renders the media (image) for a BaseTile component.\n *\n * @param {ImagePropsNoSource} props - The image props excluding source\n * @returns {JSX.Element|null} The rendered image or null if no artwork URL is present\n */\nexport const BaseTileMedia = (\n props: ImagePropsNoSource\n): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl, title = '' } =\n tileContext.configuration as ContentTileConfig;\n const styles = useBaseTileStyles();\n\n if (!artworkUrl) return null;\n\n return (\n <ProgressiveImage\n {...props}\n source={{ uri: artworkUrl }}\n testID=\"tile-media\"\n style={[props.style, baseStyles.media, styles.media]}\n alt={`Content image${title ? ` for ${title}` : ''}`}\n accessibilityRole=\"image\"\n />\n );\n};\n","import React from 'react';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { SafeConfig } from '../../../types/helpers';\nimport { ContentTileConfig } from '../../../types/tile';\nimport Icon from '../Icon';\nimport Text from '../Text';\nimport { useTileContext } from './index';\n\ntype SafeTileConfig = SafeConfig<ContentTileConfig, 'title' | 'artworkUrl'>;\n\n/**\n * Renders the title of a BaseTile component.\n *\n * @returns {JSX.Element|null} The rendered title or null if conditions for display are not met\n */\n\nexport const BaseTileTitle = (): JSX.Element | null => {\n const tileContext = useTileContext();\n const sdk = useWllSdk();\n\n if (!tileContext || !tileContext.configuration || !sdk) return null;\n\n const config = tileContext.configuration as SafeTileConfig;\n\n const { title, ctaLink = '', artworkUrl } = config;\n\n const sizeInfo = useTileSize(tileContext);\n if (!sizeInfo) return null;\n\n const { isHalfSize } = sizeInfo;\n\n // Don't show title for half tiles with image\n if ((isHalfSize && artworkUrl) || !title) return null;\n\n return (\n <>\n <Text\n variant=\"title\"\n accessibilityRole=\"header\"\n accessibilityLabel={title}\n numberOfLines={1}\n testID=\"tile-title\"\n >\n {title}\n </Text>\n {ctaLink && (\n <Icon\n name=\"ChevronRight\"\n color={sdk.theme?.derivedSurfaceText?.[20]}\n accessibilityLabel=\"View details\"\n />\n )}\n </>\n );\n};\n","import React, { createContext, useContext } from 'react';\nimport { FlexStyle, Pressable, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useHandleTilePress } from '../../../hooks/useHandleTilePress';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { ContentTileConfig, Tile } from '../../../types/tile';\n\nimport { BaseTileBody } from './base-tile-body';\nimport { BaseTileContent } from './base-tile-content';\nimport { BaseTileHeader } from './base-tile-header';\nimport { BaseTileMedia } from './base-tile-media';\nimport { BaseTileTitle } from './base-tile-title';\n\nimport { WithChildren } from '../../../types/helpers';\nimport { baseStyles, useBaseTileStyles } from './styles';\n\n/**\n * Context to provide the current tile to child components.\n */\nconst TileContext = createContext<Tile | null>(null);\n\n/**\n * Custom hook to access the TileContext.\n *\n * @returns {Tile} The current tile from context\n * @throws {Error} If used outside of a BaseTile\n */\nexport const useTileContext = (): Tile => {\n const context = useContext(TileContext);\n if (!context) {\n throw new Error('Tile components must be used within a BaseTile');\n }\n return context;\n};\n\ntype BaseTileProps = WithChildren & {\n tile: Tile;\n style?: ViewStyle;\n};\n\ntype BaseTileRootProps = WithChildren & {\n style?: ViewStyle;\n};\n\ntype LayoutProps = FlexStyle & {\n justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between';\n};\n\n/**\n * BaseTileContainer component to handle layout and pressable behavior.\n *\n * @param {BaseTileRootProps} props - Component props\n * @returns {JSX.Element} The rendered BaseTileContainer\n */\nconst BaseTileContainer = ({\n children,\n style,\n}: BaseTileRootProps): JSX.Element => {\n const tile = useTileContext();\n const sdk = useWllSdk();\n const sizeInfo = useTileSize(tile);\n\n const isHalfSize = sizeInfo?.isHalfSize || false;\n\n const {\n ctaLink = '',\n ctaLinkTarget,\n title = 'Tile',\n } = tile.configuration as ContentTileConfig;\n\n const theme = sdk?.theme || { surface: '#ffffff' };\n\n const handlePress = useHandleTilePress(tile, ctaLink, ctaLinkTarget);\n\n const layout: LayoutProps = {\n flexDirection: 'column',\n justifyContent: isHalfSize ? 'center' : 'flex-start',\n alignItems: 'stretch',\n };\n\n const dynamicStyles = useBaseTileStyles();\n\n return (\n <Pressable\n style={({ pressed }) => [\n baseStyles.container,\n dynamicStyles.container,\n {\n backgroundColor: theme.surface,\n opacity: pressed ? 0.7 : 1,\n },\n layout,\n style,\n ]}\n onPress={handlePress}\n disabled={\n tile.type !== 'REWARD' && tile.type !== 'REWARD_CATEGORY' && !ctaLink\n }\n accessible\n accessibilityRole=\"button\"\n accessibilityLabel={`${title}${ctaLink ? ' - Click to open' : ''}`}\n accessibilityState={{ disabled: !ctaLink }}\n >\n {children}\n </Pressable>\n );\n};\n\n/**\n * BaseTileRoot component to provide context and render children.\n *\n * @param {BaseTileProps} props - Component props\n * @returns {JSX.Element|null} The rendered BaseTileRoot or null if no tile is provided\n */\nconst BaseTileRoot = ({\n tile,\n children,\n style,\n}: BaseTileProps): JSX.Element | null => {\n if (!tile) {\n console.warn('BaseTile: No tile provided');\n return null;\n }\n\n return (\n <TileContext.Provider value={tile}>\n <BaseTile.Container style={style}>{children}</BaseTile.Container>\n </TileContext.Provider>\n );\n};\n\n/**\n * BaseTile component with subcomponents attached.\n */\nexport const BaseTile = Object.assign(BaseTileRoot, {\n Container: BaseTileContainer,\n Media: BaseTileMedia,\n Content: BaseTileContent,\n Header: BaseTileHeader,\n Title: BaseTileTitle,\n Body: BaseTileBody,\n});\n\nexport default BaseTile;\n","/* istanbul ignore file */\nimport React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport { useResponsive } from '../../../hooks/useResponsive';\n\nconst Indicator = (): JSX.Element => {\n const { isDesktop, isTablet } = useResponsive();\n\n const getCurrentLayout = () => {\n if (isDesktop) return 'Desktop Layout';\n if (isTablet) return 'Tablet Layout';\n return 'Mobile Layout';\n };\n\n return (\n <View style={styles.indicator}>\n <Text style={styles.indicatorText}>{getCurrentLayout()}</Text>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n indicator: {\n position: 'absolute',\n top: 10,\n right: 10,\n backgroundColor: 'red',\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 4,\n },\n indicatorText: {\n color: 'white',\n fontSize: 12,\n fontWeight: 'bold',\n },\n});\n\nexport default Indicator;\n","export const GRID_GAP = 16;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { Animated, StyleSheet, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\n\ntype SkeletonTileProps = {\n style?: ViewStyle;\n};\n\nconst SkeletonTile = ({ style }: SkeletonTileProps): JSX.Element => {\n const { theme } = useWllSdk();\n const animatedValue = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const pulseAnimation = Animated.loop(\n Animated.sequence([\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 1000,\n useNativeDriver: true,\n }),\n Animated.timing(animatedValue, {\n toValue: 0,\n duration: 1000,\n useNativeDriver: true,\n }),\n ])\n );\n\n pulseAnimation.start();\n\n return () => pulseAnimation.stop();\n }, [animatedValue]);\n\n const opacity = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0.3, 0.7],\n });\n\n return (\n <Animated.View\n style={[\n styles.container,\n {\n opacity,\n backgroundColor: theme.alphaDerivedText[20],\n borderRadius: theme.sizes.borderRadiusLg,\n },\n style,\n ]}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n aspectRatio: 1,\n overflow: 'hidden',\n width: 1000 / 4,\n },\n});\n\nexport default SkeletonTile;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { Animated, StyleSheet, View, ViewStyle } from 'react-native';\nimport { MAX_WIDTH } from '../../../constants';\nimport { GRID_GAP } from '../../../constants/grid';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport SkeletonTile from '../SkeletonTile';\n\ntype SkeletonProps = {\n width?: number | `${number}%`;\n height?: number | `${number}%`;\n borderRadius?: number;\n style?: ViewStyle;\n numberOfSquares?: number;\n};\n\nconst Skeleton = ({\n style,\n numberOfSquares = 4,\n}: SkeletonProps): JSX.Element => {\n const { theme } = useWllSdk();\n const animatedValue = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const pulseAnimation = Animated.loop(\n Animated.sequence([\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 1000,\n useNativeDriver: true,\n }),\n Animated.timing(animatedValue, {\n toValue: 0,\n duration: 1000,\n useNativeDriver: true,\n }),\n ])\n );\n\n pulseAnimation.start();\n\n return () => pulseAnimation.stop();\n }, [animatedValue]);\n\n const opacity = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0.3, 0.7],\n });\n\n return (\n <View testID=\"loading-skeleton\">\n <Animated.View\n style={[\n styles.skeleton,\n styles.title,\n {\n opacity,\n backgroundColor: theme.alphaDerivedText[20],\n borderRadius: 6,\n },\n ]}\n />\n <Animated.View\n style={[\n styles.skeleton,\n styles.body,\n {\n opacity,\n backgroundColor: theme.alphaDerivedText[20],\n borderRadius: 6,\n },\n ]}\n />\n <Animated.View style={[styles.container, style]}>\n {Array.from({ length: numberOfSquares }).map((_, index) => (\n <SkeletonTile key={index} />\n ))}\n </Animated.View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: GRID_GAP,\n justifyContent: 'space-between',\n width: '100%',\n maxWidth: MAX_WIDTH,\n },\n title: {\n height: 40,\n marginBottom: 10,\n width: 300,\n },\n body: {\n height: 25,\n width: '85%',\n marginBottom: 24,\n },\n skeleton: {\n overflow: 'hidden',\n },\n square: {\n width: 1000 / 4,\n aspectRatio: 1,\n },\n});\n\nexport default Skeleton;\n","/* istanbul ignore file */\nimport React, { useEffect, useState } from 'react';\nimport { Text, View } from 'react-native';\nimport { useWllSdk } from '../../context/WllSdkContext';\nimport { Tile } from '../../types/tile';\nimport { commonStyles } from '../../utils/styling';\nimport SkeletonTile from '../atoms/SkeletonTile';\n\nexport type WithTileFetchingProps = {\n tile?: Tile;\n tileId?: string;\n};\n\nexport function withTileFetching<P extends { tile: Tile }>(\n WrappedComponent: React.ComponentType<P>\n) {\n return function WithTileFetchingComponent(\n props: Omit<P, 'tile'> & WithTileFetchingProps\n ) {\n const { tile, tileId } = props;\n const { getTileByID } = useWllSdk();\n const [tileData, setTileData] = useState<Tile | null>(tile || null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (tile) {\n setTileData(tile);\n } else if (tileId) {\n const fetchTile = async () => {\n setIsLoading(true);\n try {\n const response = await getTileByID(tileId);\n if (response.status === 'success' && response.data) {\n setTileData(response.data);\n } else {\n setError(response.error || 'Failed to fetch tile');\n }\n } catch (err) {\n setError(\n err instanceof Error ? err.message : 'Failed to fetch tile'\n );\n } finally {\n setIsLoading(false);\n }\n };\n fetchTile();\n }\n }, [tile, tileId, getTileByID]);\n\n if (isLoading) {\n return <SkeletonTile style={{ width: '100%' }} />;\n }\n\n if (error || !tileData) {\n return (\n <View style={commonStyles.emptyContainer}>\n <Text>No tile data available</Text>\n </View>\n );\n }\n\n return <WrappedComponent {...(props as P)} tile={tileData} />;\n };\n}\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the BadgeTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the BadgeTile component\n */\n\nexport const useBadgeTileStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n return StyleSheet.create({\n container: {\n flex: 1,\n },\n indicatorContainer: {\n position: 'absolute',\n bottom: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n right: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n backgroundColor: 'rgba(0,0,0,0.6)',\n borderRadius: 40,\n width: 40,\n alignItems: 'center',\n justifyContent: 'center',\n height: 40,\n },\n countText: {\n color: '#FFF',\n fontSize: 14,\n fontWeight: 'bold',\n },\n header: {\n flexBasis: '50%',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n marginBottom: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n image: {\n width: '100%',\n height: '100%',\n },\n titleText: {\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n },\n dateEarnedContainer: {\n alignItems: 'flex-start',\n paddingHorizontal: 8,\n paddingVertical: 4,\n borderRadius: 20,\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport {\n getReadableTextColor,\n getStateColor,\n} from '../../../utils/themeHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useBadgeTileStyles } from './styles';\n\n/**\n * Renders the date earned for a Badge Tile.\n *\n * @returns JSX.Element or null if badge is not earned or badgeNotEarnedMessage exists\n */\n\nexport const BadgeTileDateEarned = (): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n const { theme } = useWllSdk();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, awardedDatePrefix, createdAt, badgeNotEarnedMessage, type } =\n tileContext.configuration as BadgeTileConfig;\n\n // Don't show for Latest type with count=0\n if (type === BadgeTileType.Latest && count === 0) {\n return null;\n }\n\n // For Specific type, only show if count > 0 or badgeNotEarnedMessage exists\n if (\n type === BadgeTileType.Specific &&\n count === 0 &&\n !badgeNotEarnedMessage\n ) {\n return null;\n }\n\n const backgroundColor = getStateColor(\n theme.alphaDerivedPrimary[20],\n type,\n count\n );\n const containerStyle = [styles.dateEarnedContainer, { backgroundColor }];\n const textColor = getReadableTextColor(backgroundColor);\n\n const displayText =\n count === 0\n ? badgeNotEarnedMessage\n : `${awardedDatePrefix} ${new Date(createdAt).toLocaleDateString()}`;\n\n const accessibilityLabel =\n count === 0\n ? 'Badge not yet earned'\n : `Badge earned on ${new Date(createdAt).toLocaleDateString()}`;\n\n return (\n <View\n style={containerStyle}\n accessible\n accessibilityLabel={accessibilityLabel}\n testID=\"badge-tile-date-earned\"\n >\n <Text\n variant=\"label\"\n style={[styles.dateEarnedText, { color: textColor }]}\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {displayText}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the description for a Badge Tile.\n *\n * @returns JSX.Element or null if description is not present\n */\n\nexport const BadgeTileDescription = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, description, type } =\n tileContext.configuration as BadgeTileConfig;\n\n if (!description) return null;\n\n // For Latest type, hide description when count = 0\n // For Specific type, always show description\n if (count === 0 && type === BadgeTileType.Latest) return null;\n\n return (\n <View\n accessible\n accessibilityLabel={`Badge description: ${description}`}\n testID=\"badge-tile-description\"\n >\n <Text\n variant=\"body\"\n numberOfLines={2}\n ellipsizeMode=\"tail\"\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {description}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { shouldDesaturate } from '../../../utils/themeHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useBadgeTileStyles } from './styles';\n\nexport type BadgeTileMediaProps = {\n children?: React.ReactNode;\n alt?: string;\n} & Omit<React.ComponentProps<typeof ProgressiveImage>, 'source' | 'alt'>;\n/**\n * Renders the media for a Badge Tile.\n *\n * @returns JSX.Element or null if media is not present\n */\n\nexport const BadgeTileMedia = ({\n children,\n alt,\n ...props\n}: BadgeTileMediaProps): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, artworkUrl, emptyBadgeArtworkUrl, type, name } =\n tileContext.configuration as BadgeTileConfig;\n\n const displayUrl =\n type === BadgeTileType.Specific\n ? artworkUrl\n : count === 0\n ? emptyBadgeArtworkUrl\n : artworkUrl;\n\n if (!displayUrl) return null;\n\n return (\n <View style={styles.header} testID=\"badge-tile-media\">\n <ProgressiveImage\n {...props}\n source={{ uri: displayUrl }}\n style={styles.image}\n resizeMode=\"contain\"\n isDesaturated={shouldDesaturate(type, count)}\n alt={\n alt ??\n `Badge ${name}${type === BadgeTileType.Latest && count === 0 ? ' (not earned)' : ''}`\n }\n />\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport Icon from '../../atoms/Icon';\nimport { useBadgeTileStyles } from './styles';\n\n/**\n * Renders the status for a Badge Tile.\n *\n * @returns JSX.Element or null if badge is not earned or badgeNotEarnedMessage exists\n */\n\nexport const BadgeTileStatus = (): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, type } = tileContext.configuration as BadgeTileConfig;\n\n if (type !== BadgeTileType.Specific || count === 1) {\n return null;\n }\n\n const isLocked = count === 0;\n const statusLabel = isLocked ? 'Badge locked' : `Earned ${count} times`;\n\n return (\n <View\n style={styles.indicatorContainer}\n accessible\n accessibilityLabel={statusLabel}\n testID=\"badge-tile-status\"\n >\n {isLocked ? (\n <Icon\n name=\"LockKeyhole\"\n testID=\"badge-tile-status-locked\"\n color=\"#FFF\"\n size={20}\n accessibilityElementsHidden={true}\n />\n ) : (\n <Text\n style={styles.countText}\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {count}x\n </Text>\n )}\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useBadgeTileStyles } from './styles';\n\n/**\n * Renders the title for a Badge Tile.\n *\n * @returns JSX.Element or null if name is not present\n */\n\nexport const BadgeTileTitle = (): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, name, emptyBadgeMessage, type } =\n tileContext.configuration as BadgeTileConfig;\n\n const displayText =\n type === BadgeTileType.Specific\n ? name\n : count === 0\n ? emptyBadgeMessage\n : name;\n\n if (!displayText) return null;\n\n return (\n <View\n accessible\n accessibilityLabel={`Badge title: ${displayText}`}\n testID=\"badge-tile-title\"\n >\n <Text\n variant=\"title\"\n style={styles.titleText}\n numberOfLines={count === 0 ? 2 : 1}\n ellipsizeMode=\"tail\"\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {displayText}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { Tile, TileHeight } from '../../../types/tile';\nimport { BaseTile, Layout, Spacer } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { BadgeTileDateEarned } from './badge-tile-date-earned';\nimport { BadgeTileDescription } from './badge-tile-description';\nimport { BadgeTileMedia } from './badge-tile-media';\nimport { BadgeTileStatus } from './badge-tile-status';\nimport { BadgeTileTitle } from './badge-tile-title';\n\ntype BadgeTileProps = {\n tile: Tile;\n};\n\n/**\n * The main BadgeTile component.\n * @returns JSX.Element or null if tile is not active or tileHeight is not full.\n * This component renders a badge tile with optional media, status, title, description, and date earned.\n */\n\nconst BadgeTileRoot = ({ tile }: BadgeTileProps): JSX.Element | null => {\n if (!tile || tile.tileHeight !== TileHeight.Full || !tile.active) return null;\n\n return (\n <BaseTile tile={tile}>\n <BadgeTile.Media>\n <BadgeTile.Status />\n </BadgeTile.Media>\n\n <Layout justify=\"between\" align=\"start\">\n <BadgeTile.Title />\n <BadgeTile.Description />\n <Spacer />\n <BadgeTile.DateEarned />\n </Layout>\n </BaseTile>\n );\n};\n\n/**\n * The BadgeTile component with subcomponents attached.\n */\n\nexport const BadgeTile = Object.assign(BadgeTileRoot, {\n Media: BadgeTileMedia,\n Title: BadgeTileTitle,\n Description: BadgeTileDescription,\n DateEarned: BadgeTileDateEarned,\n Status: BadgeTileStatus,\n});\n\nexport default withTileFetching(BadgeTile);\n","import React from 'react';\nimport { useHandleTilePress } from '../../../hooks/useHandleTilePress';\nimport { BannerTileConfig, CTALinkTarget } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Button } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\n\n/**\n * Renders the call to action of a Banner Tile.\n *\n * @returns JSX.Element or null if no text or required props are present\n */\n\nexport const BannerTileCTA = (): JSX.Element | null => {\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const {\n ctaText = '',\n ctaLink = '',\n ctaLinkTarget,\n } = bannerContext.configuration as BannerTileConfig;\n\n if (!ctaText || !ctaLink) return null;\n\n const handlePress = useHandleTilePress(bannerContext, ctaLink, ctaLinkTarget);\n\n const hint = ctaLink\n ? ctaLinkTarget === CTALinkTarget.newWindow\n ? `Opens ${ctaLink} in a new window`\n : `Takes you to ${ctaLink}`\n : '';\n\n return (\n <Button\n testID=\"banner-tile-cta\"\n title={ctaText}\n variant=\"accent\"\n onPress={handlePress}\n accessibilityHint={hint}\n />\n );\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the BannerTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the BannerTile component\n */\n\nexport const useBannerTileStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n slideContent: {\n flex: 1,\n },\n mediaContainer: {\n aspectRatio: 1,\n position: 'relative',\n overflow: 'hidden',\n marginRight: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n maxHeight: useResponsiveValue(253, 120, isDesktop, isTablet),\n minHeight: 120,\n },\n media: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n title: {\n fontSize: useResponsiveValue(\n theme.sizes.xxxl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n fontWeight: '700',\n },\n description: {\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.xs,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.xxxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n color: theme.derivedSurfaceText[20],\n },\n });\n};\n","import React from 'react';\nimport { BannerTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\nimport { useBannerTileStyles } from './styles';\n\n/**\n * Renders the description text of a Banner Tile.\n *\n * @returns JSX.Element or null if no description is present\n */\n\nexport const BannerTileDescription = (): JSX.Element | null => {\n const styles = useBannerTileStyles();\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const { description } = bannerContext.configuration as BannerTileConfig;\n\n if (!description) return null;\n\n return (\n <Text\n style={styles.description}\n accessibilityRole=\"text\"\n accessibilityLabel={description}\n testID=\"banner-tile-description\"\n >\n {description}\n </Text>\n );\n};\n","import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport { BannerTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\nimport { useBannerTileStyles } from './styles';\n\ntype BannerTileMediaProps = {\n isArtworkOnly: boolean;\n};\n\n// Extends ViewStyle to support percentage strings for width values, which React Native accepts at runtime but TypeScript doesn't type correctly\ntype ResponsiveViewStyle = StyleProp<ViewStyle> & {\n width?: string | number;\n};\n\n/**\n * Renders the media of a Banner Tile.\n *\n * @returns JSX.Element or null if no media is present\n */\n\nexport const BannerTileMedia = ({\n isArtworkOnly,\n}: BannerTileMediaProps): JSX.Element | null => {\n const styles = useBannerTileStyles();\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const { artworkUrl, title } = bannerContext.configuration as BannerTileConfig;\n\n if (!artworkUrl) return null;\n\n const containerStyle: ResponsiveViewStyle = {\n width: isArtworkOnly ? '100%' : '30%',\n };\n\n return (\n <View\n style={[styles.mediaContainer, containerStyle]}\n accessibilityRole=\"image\"\n accessibilityLabel={`Banner image${title ? ` for ${title}` : ''}`}\n testID=\"banner-tile-media\"\n >\n <ProgressiveImage\n source={{ uri: artworkUrl }}\n style={styles.media}\n alt={`Banner image${title ? ` for ${title}` : ''}`}\n />\n </View>\n );\n};\n","import React from 'react';\nimport { BannerTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\nimport { useBannerTileStyles } from './styles';\n\n/**\n * Renders the title of a Banner Tile.\n *\n * @returns JSX.Element or null if no title is present\n */\n\nexport const BannerTileTitle = (): JSX.Element | null => {\n const styles = useBannerTileStyles();\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const { title } = bannerContext.configuration as BannerTileConfig;\n\n if (!title) return null;\n\n return (\n <Text\n variant=\"title\"\n testID=\"banner-tile-title\"\n style={styles.title}\n accessibilityRole=\"header\"\n accessibilityLabel={title}\n >\n {title}\n </Text>\n );\n};\n","import React from 'react';\nimport BaseBanner from '../../../components/atoms/BaseBanner';\nimport { BannerTileConfig, Tile } from '../../../types/tile';\nimport { FullFlex } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { BannerTileCTA } from './banner-tile-cta';\nimport { BannerTileDescription } from './banner-tile-description';\nimport { BannerTileMedia } from './banner-tile-media';\nimport { BannerTileTitle } from './banner-tile-title';\n\ntype BannerTileProps = {\n tile: Tile;\n};\n\n/**\n * Helper function to determine if the tile is artwork-only.\n *\n * @param configuration - The configuration object of the tile.\n * @returns `true` if the tile has no title, description, or CTA text.\n */\n\nconst isArtworkOnly = (configuration?: BannerTileConfig): boolean => {\n if (!configuration) return true;\n\n return (\n !configuration.title && !configuration.description && !configuration.ctaText\n );\n};\n\n/**\n * The main BannerTile component.\n *\n * This component renders a banner tile with optional media, title, description, and CTA.\n *\n * @param {BannerTileProps} props - Component props\n * @returns {JSX.Element | null} Rendered component or null if tile is inactive\n */\n\nconst BannerTileRoot = ({ tile }: BannerTileProps): JSX.Element | null => {\n if (!tile || !tile.active || !tile.configuration) return null;\n\n const configuration = tile.configuration as BannerTileConfig;\n\n return (\n <BaseBanner tile={tile}>\n <BannerTile.Media isArtworkOnly={isArtworkOnly(configuration)} />\n <FullFlex>\n <BannerTile.Title />\n <BannerTile.Description />\n <BannerTile.CTA />\n </FullFlex>\n </BaseBanner>\n );\n};\n\n/**\n * The BannerTile component with subcomponents attached.\n */\n\nexport const BannerTile = Object.assign(BannerTileRoot, {\n Media: BannerTileMedia,\n Title: BannerTileTitle,\n Description: BannerTileDescription,\n CTA: BannerTileCTA,\n});\n\nexport default withTileFetching(BannerTile);\n","import React from 'react';\nimport { BaseTile } from '../../atoms';\n\nexport const ContentTileBody = (): JSX.Element => <BaseTile.Body />;\n","import React from 'react';\nimport { WithChildren } from '../../../types/helpers';\nimport { BaseTile } from '../../atoms';\n\nexport const ContentTileContainer = ({\n children,\n}: WithChildren): JSX.Element => (\n <BaseTile.Container>{children}</BaseTile.Container>\n);\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the ContentTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the ContentTile component\n */\nexport const useContentTileStyles = (): ReturnType<\n typeof StyleSheet.create\n> => {\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n\n return StyleSheet.create({\n content: {\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n flex: 1,\n justifyContent: 'center',\n },\n media: {\n width: '100%',\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { WithChildren } from '../../../types/helpers';\nimport { BaseTile } from '../../atoms';\nimport { useContentTileStyles } from './styles';\n\nexport const ContentTileContent = ({ children }: WithChildren): JSX.Element => {\n const styles = useContentTileStyles();\n return (\n <BaseTile.Content>\n <View style={styles.content}>{children}</View>\n </BaseTile.Content>\n );\n};\n","import React from 'react';\nimport { ContentTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { BaseTile } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\nexport const ContentTileHeader = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { title } = tileContext.configuration as ContentTileConfig;\n\n if (!title) return null;\n\n return (\n <BaseTile.Header>\n <BaseTile.Title />\n </BaseTile.Header>\n );\n};\n","import React from 'react';\nimport { ImageStyle } from 'react-native';\nimport { BaseTile } from '../../atoms';\nimport { useContentTileStyles } from './styles';\n\nexport const ContentTileMedia = (): JSX.Element => {\n const styles = useContentTileStyles();\n return <BaseTile.Media style={styles.media as ImageStyle} />;\n};\n","import React from 'react';\nimport { Tile } from '../../../types/tile';\nimport BaseTile from '../../atoms/BaseTile';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { ContentTileBody } from './content-tile-body';\nimport { ContentTileContainer } from './content-tile-container';\nimport { ContentTileContent } from './content-tile-content';\nimport { ContentTileHeader } from './content-tile-header';\nimport { ContentTileMedia } from './content-tile-media';\n\ntype ContentTileProps = {\n tile: Tile;\n};\n\n/**\n * The ContentTile component renders a tile with a container, media, content, header, and body.\n *\n * @param tile - The tile data to render.\n */\nconst ContentTileRoot = ({ tile }: ContentTileProps): JSX.Element | null => {\n if (!tile || !tile.active) return null;\n\n return (\n <BaseTile tile={tile}>\n <ContentTile.Container>\n <ContentTile.Media />\n <ContentTile.Content>\n <ContentTile.Header />\n <ContentTile.Body />\n </ContentTile.Content>\n </ContentTile.Container>\n </BaseTile>\n );\n};\n\n/**\n * The ContentTile component with subcomponents attached.\n */\nexport const ContentTile = Object.assign(ContentTileRoot, {\n Container: ContentTileContainer,\n Media: ContentTileMedia,\n Content: ContentTileContent,\n Header: ContentTileHeader,\n Body: ContentTileBody,\n});\n\nexport default withTileFetching(ContentTile);\n","import { Tile } from '../types/tile';\n\n/**\n * Sorts tiles by priority (higher priority first) and maintains original order for equal priorities\n * @param tiles Array of tiles to sort\n * @returns Sorted array of tiles\n */\nexport const sortByPriority = <T extends Pick<Tile, 'priority'>>(\n tiles: T[]\n): T[] => {\n return [...tiles].sort((a, b) => {\n // Sort by priority (higher priority first)\n if (a.priority !== b.priority) {\n return b.priority - a.priority;\n }\n // If priorities are equal, maintain original order\n return tiles.indexOf(a) - tiles.indexOf(b);\n });\n};\n","import { Tile } from './tile';\n\nexport enum SectionType {\n Grid = 'GRID',\n Banner = 'BANNER',\n}\n\nexport type TSection = {\n id: string;\n name: string;\n type: SectionType;\n createdAt: string;\n updatedAt: string;\n title?: string;\n description?: string;\n tiles: Tile[];\n pointsMultiplier?: number;\n pointsPrefix?: string | null;\n pointsSuffix?: string | null;\n priority: number;\n active: boolean;\n details?: [];\n defaultLocale: string;\n locale: string;\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * \n */\n\n'use strict';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useSectionHeaderStyles = (): ReturnType<\n typeof StyleSheet.create\n> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n sectionHeader: {\n marginBottom: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n sectionTitle: {\n fontSize: useResponsiveValue(\n theme.sizes.xxxl,\n theme.sizes.xl,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n fontWeight: '700',\n color: theme.text,\n },\n sectionDescription: {\n fontSize: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n color: theme.alphaDerivedText[80],\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport Text from '../../atoms/Text';\nimport { useSectionHeaderStyles } from './styles';\n\ntype SectionHeaderProps = {\n title?: string;\n description?: string;\n};\n\nconst SectionHeader = ({\n title,\n description,\n}: SectionHeaderProps): JSX.Element | null => {\n const styles = useSectionHeaderStyles();\n const { theme } = useWllSdk();\n\n if (!title) {\n return null;\n }\n\n return (\n <View style={styles.sectionHeader}>\n {title && (\n <Text\n style={[\n styles.sectionTitle,\n {\n fontWeight: '700',\n color: theme.text,\n },\n ]}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n style={[\n styles.sectionDescription,\n {\n color: theme.alphaDerivedText[80],\n },\n ]}\n >\n {description}\n </Text>\n )}\n </View>\n );\n};\n\nexport default SectionHeader;\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useCarouselStyles = (\n buttonSize = 42\n): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n container: {\n width: '100%',\n flex: 1,\n },\n sectionTitle: {\n fontSize: 31,\n marginBottom: 10,\n },\n sectionDescription: {\n marginBottom: 21,\n },\n title: {\n marginBottom: 10,\n },\n description: {\n marginBottom: 20,\n },\n carouselContainer: {\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n carouselContent: {\n width: '100%',\n overflow: 'hidden',\n },\n slideContainer: {\n width: '100%',\n },\n navButton: {\n position: 'absolute',\n top: '50%',\n transform: [{ translateY: -buttonSize / 2 }],\n width: buttonSize,\n height: buttonSize,\n borderRadius: buttonSize / 2,\n backgroundColor: theme.background,\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 1,\n },\n navButtonLeft: {\n left: -buttonSize / 2,\n },\n navButtonRight: {\n right: -buttonSize / 2,\n backgroundColor: theme.surface,\n },\n indicators: {\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n },\n indicator: {\n width: 8,\n height: 8,\n borderRadius: 8,\n marginHorizontal: 4,\n backgroundColor: theme.derivedBackground,\n },\n activeIndicator: {\n backgroundColor: theme.primary,\n },\n });\n};\n","import React, { useCallback, useRef } from 'react';\nimport {\n Animated,\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n StyleSheet,\n View,\n Pressable,\n useWindowDimensions,\n} from 'react-native';\nimport { BUTTON_SIZE } from '../../../constants';\nimport { useResponsive } from '../../../context/ResponsiveContext';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { TSection } from '../../../types/section';\nimport { Tile, TileType } from '../../../types/tile';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { Icon } from '../../atoms';\nimport { BannerTile } from '../../organisms';\nimport SectionHeader from '../SectionHeader';\nimport { useCarouselStyles } from './styles';\n\ntype CarouselProps = {\n section?: TSection;\n};\n\ntype CarouselState = {\n currentIndex: number;\n containerWidth: number;\n};\n\ntype CarouselAction =\n | { type: 'SET_CONTAINER_WIDTH'; payload: number }\n | { type: 'SET_CURRENT_INDEX'; payload: number }\n | { type: 'PREV_SLIDE' }\n | { type: 'NEXT_SLIDE'; maxIndex: number };\n\nconst initialState: CarouselState = {\n currentIndex: 0,\n containerWidth: 0,\n};\n\nconst carouselReducer = (\n state: CarouselState,\n action: CarouselAction\n): CarouselState => {\n switch (action.type) {\n case 'SET_CONTAINER_WIDTH':\n return { ...state, containerWidth: action.payload };\n case 'SET_CURRENT_INDEX':\n return { ...state, currentIndex: action.payload };\n case 'PREV_SLIDE':\n return { ...state, currentIndex: Math.max(0, state.currentIndex - 1) };\n case 'NEXT_SLIDE':\n return {\n ...state,\n currentIndex: Math.min(action.maxIndex, state.currentIndex + 1),\n };\n default:\n return state;\n }\n};\n\nconst Carousel = ({ section }: CarouselProps): JSX.Element | null => {\n if (!section) return null;\n const { width: WINDOW_WIDTH } = useWindowDimensions();\n const containerRef = useRef<View>(null);\n const styles = useCarouselStyles(BUTTON_SIZE);\n const animatedIndex = useRef(new Animated.Value(0)).current;\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n const scrollViewRef = useRef<ScrollView>(null);\n\n const [state, dispatch] = React.useReducer(carouselReducer, {\n ...initialState,\n containerWidth: WINDOW_WIDTH,\n });\n\n const { currentIndex, containerWidth } = state;\n\n const sortedTiles = sortByPriority(\n section.tiles.filter((tile: Tile) => tile.type === TileType.Banner)\n );\n\n const handleScroll = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffsetX = event.nativeEvent.contentOffset.x;\n const newIndex = contentOffsetX / containerWidth;\n animatedIndex.setValue(newIndex);\n },\n [containerWidth, animatedIndex]\n );\n\n const handleScrollEnd = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffsetX = event.nativeEvent.contentOffset.x;\n const newIndex = Math.round(contentOffsetX / containerWidth);\n dispatch({ type: 'SET_CURRENT_INDEX', payload: newIndex });\n },\n [containerWidth]\n );\n\n const handlePrev = () => {\n dispatch({ type: 'PREV_SLIDE' });\n scrollViewRef.current?.scrollTo({\n x: (currentIndex - 1) * containerWidth,\n animated: true,\n });\n };\n\n const handleNext = () => {\n dispatch({ type: 'NEXT_SLIDE', maxIndex: sortedTiles.length - 1 });\n scrollViewRef.current?.scrollTo({\n x: (currentIndex + 1) * containerWidth,\n animated: true,\n });\n };\n\n const displayControls = sortedTiles.length > 1;\n const showPrevButton = displayControls && currentIndex > 0;\n const showNextButton =\n displayControls && currentIndex < sortedTiles.length - 1;\n\n const dynamicStyles = StyleSheet.create({\n indicators: {\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n },\n });\n\n return (\n <>\n <SectionHeader title={section.title} description={section.description} />\n <View\n ref={containerRef}\n style={styles.container}\n onLayout={(event) => {\n const { width } = event.nativeEvent.layout;\n dispatch({ type: 'SET_CONTAINER_WIDTH', payload: width });\n }}\n >\n <View style={styles.carouselContainer}>\n {showPrevButton && (\n <Pressable\n style={[\n styles.navButton,\n styles.navButtonLeft,\n { backgroundColor: theme.background },\n ]}\n onPress={handlePrev}\n accessibilityLabel=\"Previous slide\"\n role=\"button\"\n >\n <Icon name=\"ArrowLeft\" size={20} color={theme.primary} />\n </Pressable>\n )}\n <ScrollView\n ref={scrollViewRef}\n horizontal\n pagingEnabled\n showsHorizontalScrollIndicator={false}\n onScroll={handleScroll}\n onMomentumScrollEnd={handleScrollEnd}\n scrollEventThrottle={16}\n style={[styles.carouselContent]}\n contentContainerStyle={{\n width: containerWidth * sortedTiles.length,\n }}\n decelerationRate=\"fast\"\n snapToInterval={containerWidth}\n snapToAlignment=\"start\"\n >\n {sortedTiles.map((tile: Tile, index: number) => (\n <View\n key={index}\n style={[\n styles.slideContainer,\n {\n width: containerWidth,\n },\n ]}\n >\n <BannerTile tile={tile} />\n </View>\n ))}\n </ScrollView>\n {showNextButton && (\n <Pressable\n style={[\n styles.navButton,\n styles.navButtonRight,\n { backgroundColor: theme.background },\n ]}\n onPress={handleNext}\n accessibilityLabel=\"Next slide\"\n role=\"button\"\n >\n <Icon name=\"ArrowRight\" size={20} color={theme.primary} />\n </Pressable>\n )}\n </View>\n {displayControls && (\n <View style={dynamicStyles.indicators}>\n {sortedTiles.map((_, index) => {\n const width = animatedIndex.interpolate({\n inputRange: [index - 1, index, index + 1],\n outputRange: [8, 30, 8],\n extrapolate: 'clamp',\n });\n return (\n <Animated.View\n key={index}\n style={[\n styles.indicator,\n { backgroundColor: theme.derivedBackground, width },\n index === currentIndex && {\n backgroundColor: theme.primary,\n },\n ]}\n />\n );\n })}\n </View>\n )}\n </View>\n </>\n );\n};\n\nexport default Carousel;\n","import React, { useCallback, useMemo } from 'react';\nimport { StyleSheet, View, ViewStyle } from 'react-native';\nimport { IS_WEB, SCREEN_WIDTH } from '../../../constants/device';\nimport { GRID_GAP } from '../../../constants/grid';\nimport { useResponsive } from '../../../context/ResponsiveContext';\nimport { SectionType, TSection } from '../../../types/section';\nimport { Tile, TileHeight, TileType } from '../../../types/tile';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { TileContainer } from '../../atoms';\nimport { SectionHeader } from '../../molecules';\n\ntype GridProps = {\n section: TSection;\n};\n\nconst Grid = ({ section }: GridProps) => {\n if (section.type !== SectionType.Grid) {\n return null;\n }\n\n const { isDesktop } = useResponsive();\n const columnsPerRow = isDesktop ? 4 : 2;\n\n const gridTiles = useMemo(() => {\n return sortByPriority(\n section.tiles.filter((tile) => tile.type !== TileType.Banner)\n );\n }, [section.tiles]);\n\n const getTileWidth = useCallback((columns: number) => {\n if (IS_WEB) {\n return {\n width: `calc(${100 / columns}% - ${((columns - 1) * GRID_GAP) / columns}px)`,\n marginBottom: GRID_GAP,\n height: 'auto',\n };\n } else {\n const tileWidth = (SCREEN_WIDTH - (columns - 1) * GRID_GAP) / columns;\n return {\n width: tileWidth,\n marginBottom: GRID_GAP,\n height: 'auto',\n };\n }\n }, []);\n\n const renderTileContainers = useCallback(() => {\n const tileContainers: JSX.Element[] = [];\n let currentTiles: Tile[] = [];\n\n const sortedTiles = sortByPriority(gridTiles);\n\n sortedTiles.forEach((tile, index) => {\n currentTiles.push(tile);\n const nextTile = sortedTiles[index + 1];\n\n const shouldStartNewContainer = (\n currentTiles: Tile[],\n currentTile: Tile,\n nextTile?: Tile\n ) => {\n if (currentTiles.length === 2) return true;\n if (currentTile.tileHeight === TileHeight.Full) return true;\n if (currentTile.tileHeight === TileHeight.Half) {\n if (!nextTile) return true;\n if (nextTile.tileHeight === TileHeight.Full) return true;\n if (currentTiles.length === 0) return false;\n if (\n currentTiles.length === 1 &&\n currentTiles[0].tileHeight === TileHeight.Half &&\n nextTile.tileHeight === TileHeight.Half\n ) {\n return false;\n }\n }\n return true;\n };\n\n if (shouldStartNewContainer(currentTiles, tile, nextTile)) {\n const isLastInRow = (tileContainers.length + 1) % columnsPerRow === 0;\n\n tileContainers.push(\n <View\n key={`container-${index}`}\n style={[\n // @ts-ignore Web uses CSS calc strings for responsive layouts, while ViewStyle expects numbers\n getTileWidth(columnsPerRow) as ViewStyle,\n !isLastInRow && { marginRight: GRID_GAP },\n ]}\n >\n <TileContainer tiles={currentTiles} />\n </View>\n );\n currentTiles = [];\n }\n });\n\n return tileContainers;\n }, [gridTiles, columnsPerRow, getTileWidth]);\n\n return (\n <View>\n <SectionHeader title={section.title} description={section.description} />\n <View style={styles.grid}>{renderTileContainers()}</View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n grid: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n },\n});\n\nexport default Grid;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Size, Variant } from '../../../types/theme';\nimport { Icon, ProgressBar } from '../../atoms';\n\nexport type ProgressIndicatorProps = {\n currentPoints: number;\n maxPoints: number;\n variant?: Variant;\n height?: Size;\n attained?: boolean;\n};\n\nexport const ProgressIndicator = ({\n currentPoints,\n maxPoints,\n variant = 'primary',\n height = 'sm',\n attained = false,\n}: ProgressIndicatorProps): JSX.Element => {\n const { theme } = useWllSdk();\n const percentage = attained ? 100 : (currentPoints / maxPoints) * 100;\n const isComplete = percentage >= 100 || attained;\n let progressVariant: Variant = variant;\n\n if (isComplete) {\n progressVariant = 'primary';\n } else if (percentage < 50) {\n progressVariant = 'accent';\n }\n\n return (\n <View style={styles.container}>\n <ProgressBar\n percentage={percentage}\n variant={progressVariant}\n height={height}\n />\n <View style={[styles.circleContainer]}>\n <View\n style={[\n styles.circle,\n {\n borderColor: theme.derivedSurface[20],\n backgroundColor: isComplete ? theme.primary : theme.surface,\n borderWidth: isComplete ? 0 : 4,\n },\n ]}\n >\n {isComplete && (\n <Icon name=\"Check\" size={12} color={theme.primaryText} />\n )}\n </View>\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n circleContainer: {\n position: 'absolute',\n right: 0,\n },\n circle: {\n width: 21,\n height: 21,\n borderRadius: 9999,\n backgroundColor: 'red',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport default ProgressIndicator;\n","import { StyleSheet } from 'react-native';\nimport { MAX_WIDTH } from '../../../constants';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the Section component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the Section component\n */\n\nexport const useSectionStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n return StyleSheet.create({\n section: {\n width: '100%',\n maxWidth: MAX_WIDTH,\n marginHorizontal: 'auto',\n marginBottom: useResponsiveValue(\n theme.sizes.xxxxxl,\n theme.sizes.xxxxl,\n isDesktop,\n isTablet\n ),\n },\n });\n};\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport { Text, View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { SectionType, TSection } from '../../../types/section';\nimport { commonStyles } from '../../../utils/styling';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { Skeleton } from '../../atoms';\nimport { Carousel, Grid } from '../../molecules';\nimport { useSectionStyles } from './styles';\n\ntype SectionContextType = {\n sectionData: TSection;\n};\n\ntype SectionProps = {\n section?: TSection;\n sectionId?: string;\n};\n\n/**\n * SectionContext provides the current section data to child components.\n */\n\nexport const SectionContext = createContext<SectionContextType | undefined>(\n undefined\n);\n\n/**\n * Custom hook to access the SectionContext.\n *\n * @returns {SectionContextType} The section context value\n * @throws {Error} If used outside of a SectionProvider\n */\n\nexport const useSectionContext = (): SectionContextType => {\n const context = useContext(SectionContext);\n if (!context) {\n throw new Error('useSectionContext must be used within a SectionProvider');\n }\n return context;\n};\n\n/**\n * Custom hook to fetch section data.\n *\n * @param {TSection} [section] - The section data if provided directly\n * @param {string} [sectionId] - The ID of the section to fetch\n * @returns {Object} Object containing section data, loading state, and any error\n */\n\nconst useSectionData = (\n section?: TSection,\n sectionId?: string\n): {\n sectionData: TSection | null;\n isLoading: boolean;\n error: string | null;\n} => {\n const sdk = useWllSdk();\n const [sectionData, setSectionData] = useState<TSection | null>(\n section || null\n );\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (section) {\n setSectionData(section);\n } else if (sectionId && sdk && sdk.getSectionByID) {\n const fetchSection = async () => {\n setIsLoading(true);\n try {\n const response = await sdk.getSectionByID(sectionId);\n if (response && response.status === 'success' && response.data) {\n setSectionData(response.data);\n } else {\n setError(\n (response && response.error) || 'Failed to fetch section data.'\n );\n }\n } catch (err) {\n setError(\n err instanceof Error ? err.message : 'Failed to fetch section data.'\n );\n } finally {\n setIsLoading(false);\n }\n };\n fetchSection();\n }\n }, [section, sectionId, sdk]);\n\n return { sectionData, isLoading, error };\n};\n\n/**\n * Component to display an empty state with a message.\n *\n * @param {Object} props - Component props\n * @param {string} props.message - Message to display in the empty state\n * @returns {JSX.Element} The empty state component\n */\n\nconst EmptyState = ({ message }: { message: string }): JSX.Element => (\n <View\n style={commonStyles.emptyContainer}\n accessibilityRole=\"text\"\n accessibilityLabel={`Empty state: ${message}`}\n >\n <Text>{message}</Text>\n </View>\n);\n\n/**\n * The Section component renders a section based on its type (e.g., Banner, Grid).\n *\n * @param {SectionProps} props - Component props\n * @param {TSection} [props.section] - The section data\n * @param {string} [props.sectionId] - The ID of the section to fetch\n * @returns {JSX.Element|null} The rendered section or null if invalid props\n */\n\nconst Section = ({ section, sectionId }: SectionProps): JSX.Element | null => {\n const styles = useSectionStyles();\n const { sectionData, isLoading, error } = useSectionData(section, sectionId);\n\n if (!section && !sectionId) {\n console.warn(\n 'Section component requires either section or sectionId prop.'\n );\n return null;\n }\n\n const renderSectionContent = (): JSX.Element | null => {\n if (isLoading) {\n return (\n <Skeleton aria-label=\"Loading section content\" numberOfSquares={4} />\n );\n }\n\n if (error || !sectionData) {\n return <EmptyState message={error || 'No section data available.'} />;\n }\n\n // Filter out inactive tiles before passing to child components\n const activeTiles =\n sectionData.tiles &&\n sortByPriority(sectionData.tiles.filter((tile) => tile && tile.active));\n\n if (!activeTiles || activeTiles.length === 0) {\n return <EmptyState message=\"No active tiles available.\" />;\n }\n\n const sectionWithActiveTiles = { ...sectionData, tiles: activeTiles };\n\n if (!sectionData.type) {\n console.warn('Section is missing a type');\n return <EmptyState message=\"Invalid section configuration.\" />;\n }\n\n switch (sectionData.type) {\n case SectionType.Banner:\n return <Carousel section={sectionWithActiveTiles} />;\n case SectionType.Grid:\n return <Grid section={sectionWithActiveTiles} />;\n default:\n console.warn(`Unknown section type: ${sectionData.type}`);\n return <EmptyState message=\"Unknown section type.\" />;\n }\n };\n\n return sectionData ? (\n <SectionContext.Provider value={{ sectionData }}>\n <View\n style={styles.section}\n accessible\n accessibilityLabel={`Section: ${sectionData.title || 'Untitled section'}`}\n accessibilityHint={sectionData.description || undefined}\n >\n {renderSectionContent()}\n </View>\n </SectionContext.Provider>\n ) : null;\n};\n\nexport default Section;\n","import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { TGroup } from '../../../types/group';\nimport { commonStyles } from '../../../utils/styling';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { Skeleton, Text } from '../../atoms';\nimport Section from '../Section';\n\ntype GroupProps = {\n id: string;\n};\n\ntype GroupContextType = {\n groupData: TGroup;\n};\n\ntype GroupEmptyStateProps = {\n message: string;\n};\n\n/**\n * Context for providing group data to child components\n */\nexport const GroupContext = createContext<GroupContextType | undefined>(\n undefined\n);\n\n/**\n * Custom hook to access the GroupContext\n *\n * @returns {GroupContextType} The group context data\n * @throws {Error} If used outside of a GroupProvider\n */\nexport const useGroupContext = (): GroupContextType => {\n const context = useContext(GroupContext);\n if (!context) {\n throw new Error('useGroupContext must be used within a GroupProvider');\n }\n return context;\n};\n\n/**\n * Custom hook to fetch and manage group data\n *\n * @param {string} id - The ID of the group to fetch\n * @returns {Object} Object containing group data, loading state, and any error\n */\n\nconst useGroupData = (id: string) => {\n const sdk = useWllSdk();\n const [groupData, setGroupData] = useState<TGroup | null>(null);\n const [error, setError] = useState<string | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n const fetchGroup = useCallback(async () => {\n if (!id || !sdk || !sdk.getGroupByID) {\n setError('Unable to fetch group data: invalid configuration');\n setIsLoading(false);\n return;\n }\n\n setIsLoading(true);\n setError(null);\n try {\n const response = await sdk.getGroupByID(id);\n if (response && response.status === 'success' && response.data) {\n setGroupData(response.data);\n } else {\n setError((response && response.error) || 'Failed to fetch group data.');\n }\n } catch (err) {\n setError('Failed to fetch group data. Please try again later.');\n console.error('Error fetching group:', err);\n } finally {\n setIsLoading(false);\n }\n }, [id, sdk]);\n\n useEffect(() => {\n fetchGroup();\n }, [fetchGroup]);\n\n return { groupData, isLoading, error };\n};\n\n/**\n * Component to display an empty state with a message\n *\n * @param {GroupEmptyStateProps} props - Component props\n * @param {string} props.message - Message to display\n * @returns {JSX.Element} The empty state component\n */\n\nexport const GroupEmptyState = ({\n message,\n}: GroupEmptyStateProps): JSX.Element => (\n <View\n style={commonStyles.emptyContainer}\n accessible\n accessibilityLabel={`Empty state: ${message}`}\n >\n <Text variant=\"body\">{message}</Text>\n </View>\n);\n\n/**\n * Component to render all sections in a group\n *\n * @returns {JSX.Element} The sections component\n */\n\nexport const GroupSections = (): JSX.Element => {\n const { groupData } = useGroupContext();\n\n if (!groupData || !groupData.sections || groupData.sections.length === 0) {\n return <GroupEmptyState message=\"This group doesn't have any sections\" />;\n }\n\n // Filter out inactive sections and null/undefined values before sorting\n const activeSections = groupData.sections.filter(\n (section) => section && section.active\n );\n\n if (activeSections.length === 0) {\n return (\n <GroupEmptyState message=\"This group doesn't have any active sections\" />\n );\n }\n\n const sortedSections = sortByPriority(activeSections);\n\n return (\n <View\n accessible\n accessibilityLabel={`Group: ${groupData.name || 'Unnamed group'}`}\n >\n {sortedSections.map((section) => (\n <Section key={section.id} section={section} />\n ))}\n </View>\n );\n};\n\n/**\n * A page-level component that represents a Group view in the application.\n *\n * This component serves as a container page that manages the fetching and display\n * of a group's data and its associated sections. It handles various states including\n * loading, errors, and empty states, providing a complete page experience for\n * viewing group content.\n *\n * @param {GroupProps} props - Component props\n * @param {string} props.id - The unique identifier of the group to fetch and display\n * @returns {JSX.Element|null} The rendered group or null if invalid ID\n */\n\nconst Group = ({ id }: GroupProps): JSX.Element | null => {\n if (!id) {\n console.warn('Group component requires id prop');\n return null;\n }\n\n const { groupData, isLoading, error } = useGroupData(id);\n\n if (isLoading) {\n return (\n <View\n style={commonStyles.emptyContainer}\n accessible\n accessibilityLabel=\"Loading group data\"\n >\n <Skeleton />\n </View>\n );\n }\n\n if (error || !groupData) {\n return <GroupEmptyState message={error || 'No group data available'} />;\n }\n\n return (\n <GroupContext.Provider value={{ groupData }}>\n <View data-testid=\"group-container\">\n <GroupSections />\n </View>\n </GroupContext.Provider>\n );\n};\n\nexport default Group;\n","/**\n * Cleans up a number by removing any whitespace and ensuring it's a valid number\n * @param value The number to clean up\n * @returns A cleaned up number as a number\n */\nconst cleanNumber = (value: number): number => {\n return Number(\n Number(value.toString().trim().replace(/\\s+/g, '')).toFixed(2)\n );\n};\n\n/**\n * Applies a multiplier to a base value. Handles string multipliers by converting them to numbers.\n * If the multiplier is invalid (NaN, null, undefined), defaults to 1.\n *\n * @param baseValue The base value to multiply\n * @param pointsMultiplier Optional multiplier value (defaults to 1)\n * @returns The calculated points value\n */\nexport const applyMultiplier = (\n baseValue: number,\n pointsMultiplier?: string | number | null\n): number => {\n if (typeof baseValue !== 'number' || isNaN(baseValue)) {\n return 0;\n }\n const multiplier = Number(pointsMultiplier ?? 1);\n const result = baseValue * (isNaN(multiplier) ? 1 : multiplier);\n return cleanNumber(result);\n};\n\n/**\n * Formats a points label by combining the label, points value, and optional prefix/suffix.\n * Only includes non-empty values in the final string.\n * Returns empty string if points is 0.\n *\n * @param label The main label text (e.g., \"Reward points:\"). Defaults to \"Reward points:\"\n * @param points The points value to display. Defaults to 0\n * @param prefix Optional prefix to display before the points value\n * @param suffix Optional suffix to display after the points value\n * @returns A formatted string containing only the non-empty parts joined together, or empty string if points is 0\n */\nexport const getPointsLabel = (\n label: string | undefined = 'Reward points:',\n points: number = 0,\n prefix?: string | null,\n suffix?: string | null\n) => {\n if (typeof points !== 'number' || isNaN(points) || points === 0) {\n return '';\n }\n return [label, prefix, points, suffix]\n .filter((item) => item !== null && item !== undefined && item !== '')\n .join(' ');\n};\n","import { ImageProps, ViewStyle } from 'react-native';\n\nexport type ImagePropsNoSource = Omit<ImageProps, 'source'>;\n\nexport type FlexDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';\n\nexport type Justify =\n | 'start'\n | 'end'\n | 'center'\n | 'between'\n | 'around'\n | 'evenly';\n\nexport type Align = 'start' | 'end' | 'center' | 'stretch' | 'baseline';\n\nexport type LayoutProps = {\n children: React.ReactNode;\n justify?: Justify;\n align?: Align;\n direction?: FlexDirection;\n style?: ViewStyle;\n};\n\nexport const justifyMap: Record<Justify, ViewStyle['justifyContent']> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n} as const;\n\nexport const alignMap: Record<Align, ViewStyle['alignItems']> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n stretch: 'stretch',\n baseline: 'baseline',\n} as const;\n","import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { Align, alignMap, Justify, justifyMap } from '../../../types/common';\n\ntype ColumnProps = {\n children: React.ReactNode;\n justify?: Justify;\n align?: Align;\n reverse?: boolean;\n flex?: number;\n style?: ViewProps['style'];\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A primitive Column component that extends Layout with vertical direction.\n * Provides a cleaner API for creating vertically aligned layouts.\n * @param reverse - When true, reverses the direction of the column (column-reverse)\n * @param justify - The justify content of the column\n * @param align - The align items of the column\n * @param flex - Optional flex number to control the column's flex behavior\n * @param style - Additional styles to apply to the column\n */\nexport const Column = ({\n children,\n justify = 'start',\n align = 'start',\n reverse = false,\n flex,\n style,\n ...rest\n}: ColumnProps): JSX.Element => {\n const styles = StyleSheet.create({\n container: {\n justifyContent: justifyMap[justify],\n alignItems: alignMap[align],\n flexDirection: reverse ? 'column-reverse' : 'column',\n ...(flex !== undefined && { flex }),\n },\n });\n return (\n <View style={[styles.container, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { View, ViewProps, ViewStyle } from 'react-native';\n\n/**\n * Props for the FullFlex component.\n *\n * @param children - The child components to render inside the flex container.\n * @param style - Optional custom styles to apply to the container.\n */\ntype FullFlexProps = {\n children: React.ReactNode;\n style?: ViewStyle;\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A FullFlex component that provides a flexible container with `flex: 1`.\n *\n * This component is commonly used to create a full-flex container that expands\n * to fill available space in a layout.\n */\nexport const FullFlex = ({\n children,\n style,\n ...rest\n}: FullFlexProps): JSX.Element => {\n return (\n <View style={[{ flex: 1 }, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport {\n Align,\n alignMap,\n FlexDirection,\n Justify,\n justifyMap,\n} from '../../../types/common';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\ntype LayoutProps = {\n children: React.ReactNode;\n direction?: FlexDirection;\n justify?: Justify;\n align?: Align;\n style?: ViewProps['style'];\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A primitive Layout component that provides flexible layout options.\n * @param direction - The direction of the layout (column or row)\n * @param justify - The justify content of the layout\n * @param align - The align items of the layout\n * @param style - Additional styles to apply to the layout\n * @param children - The child components to render inside the layout\n * @returns The rendered Layout component with special paddings\n */\nexport const Layout = ({\n children,\n direction = 'column',\n justify = 'start',\n align = 'start',\n style = {},\n ...rest\n}: LayoutProps): JSX.Element => {\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n const dynamicStyles = StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n paddingBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n justifyContent: justifyMap[justify],\n alignItems: alignMap[align],\n flexDirection: direction,\n },\n });\n return (\n <View style={[dynamicStyles.container, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { Align, alignMap, Justify, justifyMap } from '../../../types/common';\n\ntype RowProps = {\n children: React.ReactNode;\n justify?: Justify;\n align?: Align;\n reverse?: boolean;\n flex?: number;\n style?: ViewProps['style'];\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A primitive Row component that extends Layout with horizontal direction.\n * Provides a cleaner API for creating horizontally aligned layouts.\n * @param reverse - When true, reverses the direction of the row (row-reverse)\n * @param justify - The justify content of the row\n * @param align - The align items of the row\n * @param flex - Optional flex number to control the row's flex behavior\n * @param style - Additional styles to apply to the row\n */\nexport const Row = ({\n children,\n justify = 'start',\n align = 'center',\n reverse = false,\n flex,\n style,\n ...rest\n}: RowProps): JSX.Element => {\n const styles = StyleSheet.create({\n container: {\n justifyContent: justifyMap[justify],\n alignItems: alignMap[align],\n flexDirection: reverse ? 'row-reverse' : 'row',\n ...(flex !== undefined && { flex }),\n },\n });\n return (\n <View style={[styles.container, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { View, ViewProps, ViewStyle } from 'react-native';\n\n/**\n * Props for the Spacer component.\n *\n * @param style - Optional custom styles to apply to the spacer.\n */\ntype SpacerProps = {\n style?: ViewStyle;\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A simple Spacer component that creates flexible space in layouts.\n *\n * The Spacer is commonly used in flexbox layouts to create adjustable empty space\n * between child elements, avoiding the need for explicit margins or padding.\n */\nexport const Spacer = ({ style, ...rest }: SpacerProps): JSX.Element => {\n return <View style={[{ flex: 1 }, style]} {...rest} />;\n};\n","import { ImageStyle, StyleSheet, TextStyle, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the PointsTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the PointsTile component\n */\n\nexport const usePointsTileStyles = (\n isFullSize?: boolean\n): {\n container: ViewStyle;\n contentContainer: ViewStyle;\n suffix: TextStyle;\n pointsWithSuffix: ViewStyle;\n imageContainer: ViewStyle;\n image: ImageStyle;\n} => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n container: {\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n width: '100%',\n flexDirection: isFullSize ? 'row' : 'row-reverse',\n alignItems: isFullSize ? 'flex-start' : 'center',\n justifyContent: 'space-between',\n },\n contentContainer: {\n width: isFullSize ? '100%' : 'auto',\n },\n suffix: {\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n color: theme.primary,\n },\n pointsWithSuffix: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageContainer: {\n width: isFullSize ? '100%' : 57,\n height: isFullSize ? '50%' : 57,\n marginBottom: isFullSize\n ? useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n )\n : 0,\n backgroundColor: isFullSize\n ? theme.alphaDerivedPrimary[20]\n : theme.surface,\n justifyContent: 'center',\n alignItems: 'center',\n overflow: 'hidden',\n } as ViewStyle,\n image: {\n width: '100%',\n height: '100%',\n position: 'absolute',\n resizeMode: 'contain',\n } as ImageStyle,\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { PointsTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { applyMultiplier } from '../../../utils/pointsHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { Row } from '../../atoms/Primatives';\nimport { usePointsTileStyles } from './styles';\n\n/**\n * Renders formatted points value for a Points Tile.\n *\n * @returns JSX.Element or null if points are undefined or zero\n */\n\nexport const PointsTileFormattedPoints = (): JSX.Element | null => {\n const styles = usePointsTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const {\n pointsMultiplier = 1,\n pointsPrefix = '',\n pointsSuffix = 'pts',\n points = 0,\n } = tileContext.configuration as PointsTileConfig;\n\n if (points === undefined || points === 0) return null;\n\n const calculatedPoints = applyMultiplier(points, pointsMultiplier);\n const fullPointsText =\n `${pointsPrefix}${calculatedPoints} ${pointsSuffix}`.trim();\n\n return (\n <View\n testID=\"points-tile-points\"\n accessibilityRole=\"text\"\n accessibilityLabel={`Points value: ${fullPointsText}`}\n >\n <Row align=\"center\" justify=\"start\">\n {pointsPrefix ? (\n <Text variant=\"caption\" testID=\"points-tile-prefix\">\n {pointsPrefix}\n </Text>\n ) : null}\n <Text variant=\"caption\" testID=\"points-tile-value\">\n {calculatedPoints}\n </Text>\n {pointsSuffix ? (\n <Text\n variant=\"caption\"\n style={styles.suffix}\n testID=\"points-tile-suffix\"\n >\n {pointsSuffix}\n </Text>\n ) : null}\n </Row>\n </View>\n );\n};\n","import React from 'react';\nimport { Image, View } from 'react-native';\n\nimport { PointsTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { usePointsTileStyles } from './styles';\n\ntype PointsTileMediaProps = {\n isFullSize: boolean;\n};\n\n/**\n * Renders the media of a Points Tile.\n *\n * @returns JSX.Element or null if media is not present\n */\n\nexport const PointsTileMedia = ({\n isFullSize,\n}: PointsTileMediaProps): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl, title = 'Points' } =\n tileContext.configuration as PointsTileConfig;\n const styles = usePointsTileStyles(isFullSize);\n\n if (!artworkUrl) return null;\n\n return (\n <View\n testID=\"points-tile-media\"\n style={styles.imageContainer}\n accessibilityRole=\"image\"\n accessibilityLabel={`Points tile image for ${title}`}\n >\n <Image\n source={{ uri: artworkUrl }}\n style={styles.image}\n resizeMode={isFullSize ? 'cover' : 'contain'}\n />\n </View>\n );\n};\n","import React from 'react';\nimport { PointsTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the title of a Points Tile.\n *\n * @returns JSX.Element or null if no title is present\n */\n\nexport const PointsTileTitle = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { title } = tileContext.configuration as PointsTileConfig;\n\n if (!title) return null;\n\n return (\n <Text\n variant=\"eyebrow\"\n testID=\"points-tile-title\"\n accessibilityRole=\"header\"\n accessibilityLabel={title}\n >\n {title}\n </Text>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { PointsTileConfig, Tile } from '../../../types/tile';\nimport { BaseTile, Column } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { PointsTileFormattedPoints } from './points-tile-formatted-points';\nimport { PointsTileMedia } from './points-tile-media';\nimport { PointsTileTitle } from './points-tile-title';\nimport { usePointsTileStyles } from './styles';\n\ntype PointsTileProps = {\n tile: Tile;\n};\n\n/**\n * The PointsTile component renders a tile with media, title, and formatted points.\n *\n * @param props - Component props\n * @returns JSX.Element or null if tile is inactive or missing required props\n */\n\nconst PointsTileRoot = ({ tile }: PointsTileProps): JSX.Element | null => {\n if (!tile || !tile.active || !tile.configuration) return null;\n\n const config = tile.configuration as PointsTileConfig;\n if (!config) return null;\n\n const { isFullSize } = useTileSize(tile);\n const styles = usePointsTileStyles(isFullSize);\n\n return (\n <BaseTile tile={tile}>\n {isFullSize && <PointsTile.Media isFullSize />}\n <View style={styles.container}>\n {!isFullSize && <PointsTile.Media isFullSize={false} />}\n <Column style={styles.contentContainer}>\n <PointsTile.Title />\n <PointsTile.Points />\n </Column>\n </View>\n </BaseTile>\n );\n};\n\n/**\n * The PointsTile component with subcomponents attached.\n */\n\nexport const PointsTile = Object.assign(PointsTileRoot, {\n Title: PointsTileTitle,\n Points: PointsTileFormattedPoints,\n Media: PointsTileMedia,\n});\n\nexport default withTileFetching(PointsTile);\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the RewardCategory component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the RewardCategory component\n */\n\nexport const useRewardCategoryTileStyles = (): ReturnType<\n typeof StyleSheet.create\n> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n header: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 10,\n height: 35,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.primary,\n },\n headerText: {\n fontSize: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n paddingHorizontal: useResponsiveValue(\n theme.sizes.xxxxl,\n 20,\n isDesktop,\n isTablet\n ),\n color: theme.primaryText,\n },\n background: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { RewardCategoryTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardCategoryTileStyles } from './styles';\n\n/**\n * Renders the header for a Reward Category Tile.\n *\n * @returns JSX.Element or null if showName is false or name is not present\n */\n\nexport const RewardCategoryHeader = (): JSX.Element | null => {\n const styles = useRewardCategoryTileStyles();\n const { theme } = useWllSdk();\n\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { showName = true, name = '' } =\n tileContext.configuration as RewardCategoryTileConfig;\n\n if (!showName || !name) return null;\n\n return (\n <View\n style={[styles.header, { backgroundColor: theme.primary }]}\n testID=\"reward-category-header\"\n accessibilityRole=\"header\"\n accessibilityLabel={`Reward category: ${name}`}\n >\n <Text\n style={[styles.headerText, { color: theme.primaryText }]}\n ellipsizeMode=\"tail\"\n numberOfLines={1}\n >\n {name}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { RewardCategoryTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardCategoryTileStyles } from './styles';\n\n/**\n * Renders the background media for a Reward Category Tile.\n *\n * @returns JSX.Element or null if no artwork URL is present\n */\n\nexport const RewardCategoryMedia = (): JSX.Element | null => {\n const styles = useRewardCategoryTileStyles();\n\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl, name = 'Reward' } =\n tileContext.configuration as RewardCategoryTileConfig;\n\n if (!artworkUrl) return null;\n\n return (\n <ProgressiveImage\n testID=\"reward-category-media\"\n source={{ uri: artworkUrl }}\n style={styles.background}\n alt={`Reward category image for ${name}`}\n accessibilityRole=\"image\"\n />\n );\n};\n","import React from 'react';\nimport { Tile } from '../../../types/tile';\nimport { BaseTile } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { RewardCategoryHeader } from './reward-category-header';\nimport { RewardCategoryMedia } from './reward-category-media';\n\ntype RewardCategoryTileProps = {\n tile: Tile;\n};\n\n/**\n * The RewardCategoryTile component renders a tile with a header and media.\n *\n * @param {RewardCategoryTileProps} props - The component props\n * @param {Tile} props.tile - The tile data to render\n * @returns {JSX.Element|null} Rendered component or null if tile is inactive or missing configuration\n */\n\nconst RewardCategoryTileRoot = ({\n tile,\n}: RewardCategoryTileProps): JSX.Element | null => {\n if (!tile || !tile.active || !tile.configuration) return null;\n\n return (\n <BaseTile tile={tile}>\n <RewardCategoryTile.Header />\n <RewardCategoryTile.Media />\n </BaseTile>\n );\n};\n\n/**\n * The RewardCategoryTile component with subcomponents attached.\n */\nexport const RewardCategoryTile = Object.assign(RewardCategoryTileRoot, {\n Header: RewardCategoryHeader,\n Media: RewardCategoryMedia,\n});\n\nexport default withTileFetching(RewardCategoryTile);\n","import React from 'react';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Icon } from '../../atoms';\n\n/**\n * Renders a chevron icon for a Reward Tile.\n *\n * @returns JSX.Element\n */\n\nexport const RewardTileChevron = (): JSX.Element => {\n const { theme } = useWllSdk();\n\n return (\n <Icon\n name=\"ChevronRight\"\n color={theme?.derivedSurfaceText?.[20] || '#000000'}\n accessibilityRole=\"image\"\n accessibilityLabel=\"View reward details\"\n />\n );\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the RewardTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the RewardTile component\n */\n\nexport const useRewardTileStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n imageContainer: {\n width: '100%',\n marginBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n image: {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n },\n content: {\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n flex: 1,\n },\n footer: {\n marginTop: 8,\n },\n pointsContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n suffix: {\n color: theme.primary,\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n },\n header: {\n width: '100%',\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n },\n });\n};\n","import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardTileStyles } from './styles';\n\ntype RewardTileMediaProps = {\n isArtworkOnly: boolean;\n};\n\n// We are using percentage values for flexBasis, which is valid in\n// React Native but TypeScript expects a number.\n\ntype ResponsiveViewStyle = StyleProp<ViewStyle> & {\n flexBasis?: string | number;\n};\n\n/**\n * Renders the media for a Reward Tile.\n *\n * @param props {RewardTileMediaProps} - Component props\n * @param props.isArtworkOnly {boolean} - Whether the media should be rendered as an artwork only component\n * @returns JSX.Element or null if no artwork URL is present or artwork should not be shown\n */\n\nexport const RewardTileMedia = ({\n isArtworkOnly,\n}: RewardTileMediaProps): JSX.Element | null => {\n const styles = useRewardTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const {\n artworkUrl,\n showArtwork = true,\n name = 'Reward',\n } = tileContext.configuration as RewardTileConfig;\n\n if (!artworkUrl || !showArtwork) return null;\n\n const containerStyle: ResponsiveViewStyle = {\n flexBasis: isArtworkOnly ? '100%' : '50%',\n };\n\n return (\n <View\n style={[styles.imageContainer, containerStyle]}\n testID=\"reward-tile-media\"\n accessibilityRole=\"image\"\n accessibilityLabel={`Reward image for ${name}`}\n >\n <ProgressiveImage\n source={{ uri: artworkUrl }}\n style={styles.image}\n alt={`Reward image for ${name}`}\n />\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { applyMultiplier, getPointsLabel } from '../../../utils/pointsHelpers';\nimport { Row, Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardTileStyles } from './styles';\n\n/**\n * Renders the points value of a Reward Tile.\n *\n * @returns JSX.Element or null if price should not be shown or is zero/undefined\n */\n\nexport const RewardTilePoints = (): JSX.Element | null => {\n const styles = useRewardTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const {\n showPrice = true,\n price = 0,\n pointsMultiplier = 1,\n pointsPrefix = '',\n pointsSuffix = 'pts',\n } = tileContext.configuration as RewardTileConfig;\n\n if (!showPrice || price === undefined || price === 0) return null;\n\n const calculatedPoints = applyMultiplier(price, pointsMultiplier);\n\n const accessibilityLabel = getPointsLabel(\n 'Reward points:',\n calculatedPoints,\n pointsPrefix,\n pointsSuffix\n );\n\n return (\n <View\n testID=\"reward-tile-points\"\n accessibilityRole=\"text\"\n accessibilityLabel={accessibilityLabel}\n >\n <Row align=\"center\" justify=\"start\" style={{ marginTop: 8 }}>\n {pointsPrefix ? <Text variant=\"caption\">{pointsPrefix}</Text> : null}\n <Text variant=\"caption\" testID=\"reward-tile-points-value\">\n {calculatedPoints}\n </Text>\n {pointsSuffix ? (\n <Text variant=\"caption\" style={styles.suffix}>\n {pointsSuffix}\n </Text>\n ) : null}\n </Row>\n </View>\n );\n};\n","import React from 'react';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the summary of a Reward Tile.\n *\n * @returns JSX.Element or null if no summary is present\n */\n\nexport const RewardTileSummary = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { summary } = tileContext.configuration as RewardTileConfig;\n\n if (!summary) return null;\n\n return (\n <Text\n variant=\"body\"\n accessibilityRole=\"text\"\n accessibilityLabel={summary}\n testID=\"reward-tile-summary\"\n >\n {summary}\n </Text>\n );\n};\n","import React from 'react';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the title of a Reward Tile.\n *\n * @returns JSX.Element or null if no name is present\n */\n\nexport const RewardTileTitle = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { name } = tileContext.configuration as RewardTileConfig;\n\n if (!name) return null;\n\n return (\n <Text\n variant=\"title\"\n ellipsizeMode=\"tail\"\n numberOfLines={1}\n accessibilityRole=\"header\"\n accessibilityLabel={`Reward title: ${name}`}\n testID=\"reward-tile-title\"\n >\n {name}\n </Text>\n );\n};\n","import React from 'react';\nimport { RewardTileConfig, Tile, TileHeight } from '../../../types/tile';\nimport { BaseTile, Layout, Row } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\n\nimport { RewardTileChevron } from './reward-tile-chevron';\nimport { RewardTileMedia } from './reward-tile-media';\nimport { RewardTilePoints } from './reward-tile-points';\nimport { RewardTileSummary } from './reward-tile-summary';\nimport { RewardTileTitle } from './reward-tile-title';\nimport { useRewardTileStyles } from './styles';\n\ntype RewardTileProps = {\n tile: Tile;\n};\n\n/**\n * Helper function to determine if the tile should display artwork only.\n *\n * @param configuration - The configuration object of the tile.\n * @returns `true` if the tile should display artwork only.\n */\n\nconst isArtworkOnly = (configuration?: RewardTileConfig): boolean => {\n if (!configuration) return false;\n return !configuration.showDetails;\n};\n\n/**\n * The RewardTile component renders a tile with media, title, summary, points, and a chevron.\n *\n * @param {RewardTileProps} props - Component props\n * @param {Tile} props.tile - The tile data to render\n * @returns JSX.Element or null if tile is inactive or not a full-height tile\n */\n\nconst RewardTileRoot = ({ tile }: RewardTileProps): JSX.Element | null => {\n const styles = useRewardTileStyles();\n\n if (\n !tile ||\n tile.tileHeight !== TileHeight.Full ||\n !tile.active ||\n !tile.configuration\n )\n return null;\n\n const configuration = tile.configuration as RewardTileConfig;\n\n return (\n <BaseTile tile={tile}>\n <RewardTile.Media isArtworkOnly={isArtworkOnly(configuration)} />\n <Layout>\n <Row justify=\"between\" align=\"center\" style={styles.header}>\n <RewardTile.Title />\n <RewardTile.Chevron />\n </Row>\n <RewardTile.Summary />\n <RewardTile.Points />\n </Layout>\n </BaseTile>\n );\n};\n\n/**\n * The RewardTile component with subcomponents attached.\n */\n\nexport const RewardTile = Object.assign(RewardTileRoot, {\n Media: RewardTileMedia,\n Title: RewardTileTitle,\n Summary: RewardTileSummary,\n Points: RewardTilePoints,\n Chevron: RewardTileChevron,\n});\n\nexport default withTileFetching(RewardTile);\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useTierTileStyles = () => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n return StyleSheet.create({\n header: {\n flexBasis: '50%',\n width: '100%',\n overflow: 'hidden',\n marginBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n title: {\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n },\n smallImageContainer: {\n width: 48,\n height: 48,\n position: 'relative',\n },\n smallImage: {\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n image: {\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n },\n name: {\n marginBottom: 0,\n numberOfLines: 1,\n ellipsizeMode: 'tail',\n },\n });\n};\n","import * as React from 'react';\nimport { Image, View } from 'react-native';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { TierTileConfig, Tile } from '../../../types/tile';\nimport {\n BaseTile,\n FullFlex,\n Layout,\n ProgressiveImage,\n Text,\n} from '../../atoms';\nimport { useTierTileStyles } from './styles';\n\ntype TierTileProps = {\n tile: Tile;\n};\n\ntype TierTileComponent = React.FC<TierTileProps> & {\n Full: typeof TierTileFull;\n Half: typeof TierTileHalf;\n Empty: typeof TierTileEmpty;\n};\n\nconst TierTileInner: React.FC<TierTileProps> = ({ tile }) => {\n if (!tile) return null;\n\n const { configuration } = tile as { configuration: TierTileConfig };\n const { tier } = configuration;\n const { isHalfSize } = useTileSize(tile);\n\n if (!tier || Array.isArray(tier)) {\n return <TierTile.Empty tile={tile} />;\n }\n\n return isHalfSize ? (\n <TierTile.Half tile={tile} />\n ) : (\n <TierTile.Full tile={tile} />\n );\n};\n\nconst TierTileFull: React.FC<TierTileProps> = ({ tile }) => {\n const styles = useTierTileStyles();\n\n const { configuration } = tile as { configuration: TierTileConfig };\n const { tier, title } = configuration;\n const { artworkUrl, name, description } = tier ?? {};\n\n return (\n <BaseTile tile={tile}>\n {artworkUrl && (\n <View style={styles.header}>\n <ProgressiveImage\n source={{ uri: artworkUrl }}\n style={styles.image}\n resizeMode=\"center\"\n />\n </View>\n )}\n <Layout align=\"stretch\" justify={artworkUrl ? 'start' : 'center'}>\n <View>\n {title && (\n <Text variant=\"eyebrow\" style={styles.title}>\n {title}\n </Text>\n )}\n {name && (\n <Text variant=\"title\" style={styles.title}>\n {name}\n </Text>\n )}\n {description && <Text variant=\"body\">{description}</Text>}\n </View>\n </Layout>\n </BaseTile>\n );\n};\n\nconst TierTileHalf: React.FC<TierTileProps> = ({ tile }) => {\n const styles = useTierTileStyles();\n\n const { configuration } = tile as { configuration: TierTileConfig };\n const { tier, title } = configuration as TierTileConfig;\n const { artworkUrl, name } = tier || {};\n\n return (\n <BaseTile tile={tile}>\n <Layout\n align=\"center\"\n justify=\"between\"\n direction=\"row\"\n style={{ paddingTop: 16 }}\n >\n <View style={{ flex: 1, flexShrink: 1 }}>\n {title && (\n <Text variant=\"eyebrow\" style={styles.title}>\n {title}\n </Text>\n )}\n {name && (\n <Text variant=\"title\" style={styles.name} numberOfLines={2}>\n {name}\n </Text>\n )}\n </View>\n {artworkUrl && (\n <View style={styles.smallImageContainer}>\n <Image\n source={{ uri: artworkUrl }}\n style={styles.smallImage}\n resizeMode=\"contain\"\n />\n </View>\n )}\n </Layout>\n </BaseTile>\n );\n};\n\n// Empty state tile\nconst TierTileEmpty: React.FC<TierTileProps> = ({ tile }) => {\n const styles = useTierTileStyles();\n const { configuration } = tile as { configuration: TierTileConfig };\n const { title, emptyDescription, emptyArtworkUrl } = configuration;\n const { isHalfSize } = useTileSize(tile);\n\n if (isHalfSize) {\n return (\n <BaseTile tile={tile}>\n <Layout\n align=\"center\"\n justify=\"between\"\n direction=\"row\"\n style={{ paddingTop: 16 }}\n >\n <FullFlex>\n {title && (\n <Text variant=\"title\" style={styles.title}>\n {title}\n </Text>\n )}\n {emptyDescription && <Text variant=\"body\">{emptyDescription}</Text>}\n </FullFlex>\n {emptyArtworkUrl && (\n <View style={styles.smallImageContainer}>\n <Image\n source={{ uri: emptyArtworkUrl }}\n style={styles.smallImage}\n resizeMode=\"contain\"\n />\n </View>\n )}\n </Layout>\n </BaseTile>\n );\n }\n\n return (\n <BaseTile tile={tile}>\n {emptyArtworkUrl && (\n <View style={styles.header}>\n <ProgressiveImage\n source={{ uri: emptyArtworkUrl }}\n style={styles.image}\n resizeMode=\"center\"\n />\n </View>\n )}\n <Layout align=\"stretch\" justify=\"center\">\n <Layout>\n {title && (\n <Text variant=\"title\" style={styles.title}>\n {title}\n </Text>\n )}\n {emptyDescription && <Text variant=\"body\">{emptyDescription}</Text>}\n </Layout>\n </Layout>\n </BaseTile>\n );\n};\n\nexport const TierTile = TierTileInner as TierTileComponent;\n\nTierTile.Full = TierTileFull;\nTierTile.Half = TierTileHalf;\nTierTile.Empty = TierTileEmpty;\n\nexport default TierTile;\n","/* istanbul ignore file */\nimport React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { GRID_GAP } from '../../../constants/grid';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { Tile, TileType } from '../../../types/tile';\nimport {\n BadgeTile,\n BannerTile,\n ContentTile,\n PointsTile,\n RewardCategoryTile,\n RewardTile,\n TierTileUpdated,\n} from '../../organisms';\n\ntype TileContainerProps = {\n tiles: Tile[];\n};\n\nconst TILE_COMPONENTS: Record<TileType, React.ComponentType<{ tile: Tile }>> = {\n [TileType.Content]: ContentTile,\n [TileType.Badge]: BadgeTile,\n [TileType.Tier]: TierTileUpdated,\n [TileType.Points]: PointsTile,\n [TileType.Reward]: RewardTile,\n [TileType.RewardCategory]: RewardCategoryTile,\n [TileType.Banner]: BannerTile,\n};\n\n/**\n * TileContainer component to render a list of tiles with proper layout and spacing.\n */\nconst TileContainer = ({ tiles }: TileContainerProps): JSX.Element => {\n return (\n <View style={styles.container} testID=\"tile-container\">\n {tiles.map((tile, index) => {\n const TileComponent = TILE_COMPONENTS[tile.type!];\n const { isHalfSize } = useTileSize(tile);\n\n return (\n <View\n key={tile.id}\n style={[\n styles.tileContainer,\n isHalfSize && styles.halfTileContainer,\n index > 0 && { marginTop: GRID_GAP },\n ]}\n >\n {TileComponent ? <TileComponent tile={tile} /> : null}\n </View>\n );\n })}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'column',\n flex: 1,\n aspectRatio: 1,\n },\n tileContainer: {\n flex: 1,\n aspectRatio: 1,\n },\n halfTileContainer: {\n flex: 0.5,\n aspectRatio: 1,\n },\n});\n\nexport default TileContainer;\n","export type Badge = {\n id: string;\n name: string;\n description: string;\n artworkUrl: string;\n createdAt: string;\n updatedAt: string;\n};\n\nexport class Reward {\n id?: string;\n createdAt?: string;\n updatedAt?: string;\n name?: string;\n pictureUrl?: string;\n description?: string;\n price?: number;\n value?: number;\n priority?: number;\n availability?: Availability;\n purchasable?: boolean;\n tier?: string;\n summary?: string;\n redemptionMessage?: string;\n visibilityCriteria?: string;\n}\n\nexport type RewardCategory = {\n name: string;\n priority: number;\n type: string;\n id: string;\n createdAt: string;\n updatedAt: string;\n description: string | null;\n metadata: any | null;\n pictureUrl: string;\n};\n\nexport type Availability = {\n start: string;\n end: string;\n};\n\ntype Effectivity = {\n start: string;\n end: string;\n};\n\nexport type TierType = {\n id: string;\n name: string;\n description?: string | null;\n artworkUrl?: string | null;\n priority: number;\n pointsRequirement?: number;\n calculation?: string;\n accumulationPeriod?: string;\n effectivity?: Effectivity;\n createdAt?: string;\n updatedAt?: string;\n earnedPoints?: number;\n attained?: boolean;\n};\n"],"names":["_extends","useMergeRefs","React","emptyFunction","canUseDOM","supportsPointerEvent","isEmulatingMouseEvents","listeners","SCROLL","useLayoutEffect","useEffect","useStable","emptyObject","useRef","useDebugValue","_typeof","defineProperty","unitlessNumbers","prefixes","prefixKey","normalizeColor","processColor","isWebColor","uppercasePattern","msPattern","cache","toHyphenLower","hyphenateStyleName","capitalizeString_1","prefixProperty_1","_capitalizeString","require$$0","_capitalizeString2","_interopRequireDefault","prefixValue_1","prefixValue","addNewValuesOnly_1","isObject_1","createPrefixer_1","_default","require$$1","require$$2","require$$3","backgroundClip_1","_unsupportedIterableToArray","_arrayLikeToArray","hyphenateProperty","RE","isPrefixedValue","crossFade_1","_cssInJsUtils","cursor_1","values","filter_1","imageSet_1","_isPrefixedValue","_isPrefixedValue2","logical_1","position_1","sizing_1","properties","transition_1","backgroundClip","crossFade","cursor","filter","imageSet","logical","position","sizing","transition","createPrefixer","_excluded","_objectSpread","createReactDOMStyle","hash","transformLocalizeStyle","styleq_1","parse","walk","stringify","styleq","localizeStyle","propsToAriaRole","isDisabled","propsToAccessibilityComponent","StyleSheet","AccessibilityUtil","createContext","useContext","createDOMProps","getBoundingClientRect","UIManager","__DEV__","ResponderSystem.attachListeners","ResponderSystem.removeNode","ResponderSystem.addNode","ResponderSystem.getResponderNode","forwardPropsList","forwardedProps.defaultProps","forwardedProps.accessibilityProps","forwardedProps.clickProps","forwardedProps.focusProps","forwardedProps.keyboardProps","forwardedProps.mouseProps","forwardedProps.touchProps","forwardedProps.styleProps","pickProps","View","TextAncestorContext","styles","createElement","useMemo","useState","memo","forwardRef","Text","parseNavigationLink","link","result","startsWith","type","target","slice","useNavigation","config","handleNavigation","useCallback","ctaTarget","__awaiter","_a","windowTarget","_b","navigationHandlers","Promise","resolve","baseUrl","useCreateRequestOptions","options","fetcher","headers","Headers","set","apiKey","concat","userToken","__assign","useMakeRequest","createRequestOptions","url","fetch","response","sent","console","log","json","status","data","error","message","error_1","Error","createResourceGetter","resource","includeHydrate","makeRequest","id","params","URLSearchParams","append","locale","queryString","toString","useGetGroupByID","useGetSectionByID","useGetTileByID","sizes","borderRadiusSm","borderRadiusLg","borderRadiusButton","borderRadiusRounded","xxxs","xxs","xs","sm","md","lg","xl","xxl","xxxl","xxxxl","xxxxxl","commonStyles","create","emptyContainer","flex","justifyContent","alignItems","defaultTheme","background","text","primary","accent","surface","surfaceText","pageButtonBackground","pageButtonText","errorPrimary","positive","negative","COLOR_CONSTANTS","MINIMUM_CONTRAST_RATIO","DEFAULT_LIGHTNESS_ADJUSTMENT","DESATURATION_LIGHTEN_AMOUNT","DEFAULT_COLOR","modern","warm","dark","forest","sunset","isValidColor","color","Color","validateTheme","theme","requiredColors","every","createSafeColor","getDerivedColor","backgroundColor","isDark","lighten","string","darken","getReadableTextColor","bgColor","white","black","contrastWithWhite","contrast","hex","percentages","generateDerivedColors","derivationFunction","baseColor","reduce","acc","percentage","forEach","derivedColor","getDerivedColorPercentages","lightness","getAlphaDerivedColors","alpha","shouldDesaturate","count","desaturateColor","grayscale","getStateColor","invariant","DIMENSION_MODES","DESKTOP","TABLET","MOBILE","TABLET_SCREEN_WIDTH","SMALL_SCREEN_WIDTH","isWeb","Platform","OS","getDimensionMode","window","width","screenWidth","useResponsive","deviceWindow","Dimensions","get","dimensionMode","setDimensionMode","subscription","addEventListener","mode","remove","isDesktop","isTablet","isMobile","ResponsiveContext","undefined","ResponsiveProvider","children","getDerivedState","state","setState","value","Provider","context","createTheme","baseTheme","mergedTheme","derivedBackground","primaryText","accentText","positiveText","negativeText","derivedSurface","derivedSurfaceText","alphaDerivedPrimary","alphaDerivedText","WllSdkContext","WllSdkProvider","providedTheme","navigationConfig","validateConfig","_c","themeToUse","warn","setThemeState","setTheme","newTheme","prevTheme","getGroupByID","getSectionByID","getTileByID","contextValue","useWllSdk","test","createVariantSystem","baseStyle","variantStyles","variant","clamp","min","max","Math","lerp","start","end","t","getWindowWidth","innerWidth","getResponsiveValue","desktopValue","mobileValue","tabletValue","round","useResponsiveValue","setValue","handleResize","removeEventListener","useButtonDynamicStyles","button","paddingHorizontal","paddingVertical","alignSelf","textAlign","textTransform","fontSize","fontWeight","useButtonStyles","useTextStyles","Button","title","onPress","disabled","accessibilityLabel","accessibilityHint","testID","buttonStyle","textStyle","Pressable","style","pressed","borderRadius","opacity","accessible","role","accessibilityState","Icon","name","size","_d","strokeWidth","props","__rest","LucideIcon","LucideIcons","LoadingIndicator","container","padding","ActivityIndicator","height","overflow","arrayLikeToArray","unsupportedIterableToArray","TextInputState","dismissKeyboard","warning","ScrollViewBase","ScrollView","TaskQueue","requestIdleCallback","InteractionManager","nullthrowsModule","nullthrows","FillRateHelper","Batchinator","ViewabilityHelper","defaultKeyExtractor","keyExtractor","deepDiffer","VirtualizedList","FlatList","TurboModuleRegistry.get","ReactNativeFeatureFlags","NativeAnimatedAPI","_uniqueId","AnimatedNode","AnimatedWithChildren","AnimatedInterpolation","AnimatedValue","AnimatedTransform","AnimatedStyle","useReducer","AnimatedProps","Image","ImageLoader","VirtualizedSectionList","SectionList","Animation","_bezier","Easing","AnimatedAddition","AnimatedSubtraction","AnimatedDivision","AnimatedMultiplication","AnimatedModulo","AnimatedDiffClamp","AnimatedValueXY","parallel","spring","AnimatedTracking","SpringAnimation","timing","TimingAnimation","decay","DecayAnimation","sequence","delay","stagger","loop","useStyles","progress","useContainerStyles","useProgressStyles","borderRadiusSmRounded","ProgressBar","animationDuration","containerStyles","progressStyles","animatedWidth","Animated","Value","current","containerStyle","toValue","duration","useNativeDriver","progressWidth","interpolate","inputRange","outputRange","IS_WEB","SCREEN_WIDTH","ProgressiveImage","source","isDesaturated","alt","imageAnimated","onImageLoad","requestAnimationFrame","desaturatedColor","desaturationStyle","tintColor","imageOverlay","onLoad","left","right","bottom","top","getVariantStyle","marginBottom","variantStyle","RNText","MAX_WIDTH","BUTTON_SIZE","CTALinkTarget","TierTileType","ProgressType","TileType","TileHeight","BannerTileConfig","PointsTileConfig","ContentTileConfig","RewardTileConfig","rewardId","defaultLocale","showPrice","createdAt","updatedAt","pictureUrl","price","priority","availability","purchasable","tier","category","description","metadata","discounts","summary","redemptionMessage","visibilityCriteria","codeType","code","purchaseExpiration","hideCode","notificationConfig","artworkUrl","pointsMultiplier","pointsPrefix","pointsSuffix","BadgeTileType","BadgeTileConfig","Specific","badgeId","details","RewardCategoryTileConfig","showName","rewardCategoryId","TierTileConfig","progressType","Name","emptyDescription","emptyArtworkUrl","pointsToTierPrefix","pointsToTierSuffix","useHandleTilePress","tile","ctaLink","ctaLinkTarget","Reward","configuration","sameWindow","RewardCategory","BannerContext","useBannerContext","BaseBanner","ctaText","handlePress","hasCTA","Boolean","maxWidth","flexDirection","useTileSize","isFullSize","tileHeight","Full","isHalfSize","Half","BaseTileBody","tileContext","useTileContext","responsive","body","sizeInfo","getNumberOfLines","accessibilityRole","numberOfLines","isContextValid","shouldHideContentForHalfTile","baseStyles","content","display","media","objectFit","useBaseTileStyles","header","marginTop","aspectRatio","flexBasis","BaseTileContent","BaseTileHeader","dynamicStyles","combinedStyle","BaseTileMedia","uri","BaseTileTitle","sdk","Fragment","TileContext","BaseTileContainer","layout","BaseTileRoot","BaseTile","Container","Object","assign","Media","Content","Header","Title","Body","Indicator","getCurrentLayout","indicator","indicatorText","GRID_GAP","SkeletonTile","animatedValue","pulseAnimation","stop","Skeleton","numberOfSquares","skeleton","Array","from","length","map","_","index","key","flexWrap","gap","square","withTileFetching","WrappedComponent","WithTileFetchingComponent","_this","tileId","tileData","setTileData","isLoading","setIsLoading","setError","fetchTile","err_1","useBadgeTileStyles","indicatorContainer","countText","image","titleText","dateEarnedContainer","BadgeTileDateEarned","awardedDatePrefix","badgeNotEarnedMessage","Latest","textColor","displayText","Date","toLocaleDateString","dateEarnedText","ellipsizeMode","accessibilityElementsHidden","importantForAccessibility","BadgeTileDescription","BadgeTileMedia","emptyBadgeArtworkUrl","displayUrl","resizeMode","BadgeTileStatus","isLocked","statusLabel","BadgeTileTitle","emptyBadgeMessage","BadgeTileRoot","active","BadgeTile","Status","Layout","justify","align","Description","Spacer","DateEarned","BannerTileCTA","bannerContext","hint","newWindow","useBannerTileStyles","slideContent","mediaContainer","marginRight","maxHeight","minHeight","BannerTileDescription","BannerTileMedia","isArtworkOnly","BannerTileTitle","BannerTileRoot","BannerTile","FullFlex","CTA","ContentTileBody","ContentTileContainer","useContentTileStyles","ContentTileContent","ContentTileHeader","ContentTileMedia","ContentTileRoot","ContentTile","sortByPriority","tiles","__spreadArray","sort","a","b","indexOf","SectionType","useSectionHeaderStyles","sectionHeader","sectionTitle","sectionDescription","SectionHeader","useCarouselStyles","buttonSize","carouselContainer","carouselContent","slideContainer","navButton","transform","translateY","zIndex","navButtonLeft","navButtonRight","indicators","marginHorizontal","activeIndicator","initialState","currentIndex","containerWidth","carouselReducer","action","payload","maxIndex","Carousel","section","WINDOW_WIDTH","useWindowDimensions","containerRef","animatedIndex","scrollViewRef","dispatch","sortedTiles","Banner","handleScroll","event","contentOffsetX","nativeEvent","contentOffset","x","newIndex","handleScrollEnd","handlePrev","scrollTo","animated","handleNext","displayControls","showPrevButton","showNextButton","ref","onLayout","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onScroll","onMomentumScrollEnd","scrollEventThrottle","contentContainerStyle","decelerationRate","snapToInterval","snapToAlignment","extrapolate","Grid","columnsPerRow","gridTiles","getTileWidth","columns","tileWidth","renderTileContainers","tileContainers","currentTiles","push","nextTile","shouldStartNewContainer","currentTile","isLastInRow","TileContainer","grid","ProgressIndicator","currentPoints","maxPoints","attained","isComplete","progressVariant","circleContainer","circle","borderColor","borderWidth","useSectionStyles","SectionContext","useSectionData","sectionId","sectionData","setSectionData","fetchSection","EmptyState","Section","renderSectionContent","activeTiles","sectionWithActiveTiles","GroupContext","useGroupContext","useGroupData","groupData","setGroupData","fetchGroup","GroupEmptyState","GroupSections","sections","activeSections","sortedSections","Group","cleanNumber","Number","trim","replace","toFixed","applyMultiplier","baseValue","isNaN","multiplier","getPointsLabel","label","points","prefix","suffix","item","join","justifyMap","center","between","around","evenly","alignMap","stretch","baseline","Column","reverse","rest","direction","_e","_f","paddingBottom","Row","usePointsTileStyles","contentContainer","pointsWithSuffix","imageContainer","PointsTileFormattedPoints","calculatedPoints","fullPointsText","PointsTileMedia","PointsTileTitle","PointsTileRoot","PointsTile","Points","useRewardCategoryTileStyles","headerText","RewardCategoryHeader","RewardCategoryMedia","RewardCategoryTileRoot","RewardCategoryTile","RewardTileChevron","useRewardTileStyles","footer","pointsContainer","RewardTileMedia","showArtwork","RewardTilePoints","RewardTileSummary","RewardTileTitle","showDetails","RewardTileRoot","RewardTile","Chevron","Summary","useTierTileStyles","smallImageContainer","smallImage","TierTileInner","isArray","TierTile","Empty","TierTileFull","TierTileHalf","paddingTop","flexShrink","TierTileEmpty","TILE_COMPONENTS","Badge","Tier","TierTileUpdated","TileComponent","tileContainer","halfTileContainer"],"mappings":"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AC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;AACtC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AAC5C,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AAChE,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;AAChE,QAAQ,IAAI,CAAC,2CAA2C,GAAG,IAAI,CAAC,2CAA2C,CAAC;AAC5G,OAAO;AACP,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACnD,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,KAAK,CAAC;AACN,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,4CAA4C,GAAG;AACjD,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,oCAAoC,GAAG;AACzC,IAAIC,SAAO,CAAC,KAAK,EAAE,yDAAyD,CAAC,CAAC;AAC9E,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,oCAAoC,GAAG,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,kCAAkC,CAAC,CAAC,EAAE;AACxC,IAAI,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;AACrD,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,GAAG;AACX,IAAO,IAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;AACjC,MAAM,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC;AAChE,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;AAC1C,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC;AAC5D,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;AAClD,MAAM,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC;AAC5D,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;AAChD,MAAqB,WAAW,CAAC,YAAY,CAAC;AAC9C,MAA4B,WAAW,CAAC,mBAAmB,CAAC;AAC5D,MAAiB,WAAW,CAAC,QAAQ,CAAC;AACtC,UAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC;AAChD,MAAM,KAAK,GAAG,6BAA6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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;iBACA,MAAM,QAAQ,SAASzQ,gBAAK,CAAC,aAAa,CAAC;AAC3C;AACA;AACA;AACA,EAAE,WAAW,CAAC,MAAM,EAAE;AACtB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACxC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,aAAa,CAAC,MAAM,EAAE;AACxB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC1C,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,YAAY,CAAC,MAAM,EAAE;AACvB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACzC,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,cAAc,CAAC,MAAM,EAAE;AACzB,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;AACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC3C,KAAK;AACL,GAAG;AA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A;AACA;AACA;AACA;AACA,EAAE,IAAI,EAAEF,cAAY;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,SAAE4B,OAAK;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAEF,QAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA,UAAEH,QAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,GAAG;AACL;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,QAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS;AACX;AACA;AACA;AACA;AACA;AACA,SAAEQ,OAAK;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAED,UAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAER,UAAQ;AACV;AACA;AACA;AACA;AACA;AACA;AACA,WAAEU,SAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAEC,MAAI;AACN;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK;AACP;AACA;AACA;AACA;AACA;AACA,EAAE,uBAAuB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,iBAAiB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,SAAS;AACX,EAAE,WAAW;AACb;AACA;AACA;AACA,EAAE,KAAK,EAAE,aAAa;AACtB,CAAC;;ACjkBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAChC,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,EAAE,OAAO,QAAQ,IAAI;AACrB,IAAI,IAAI,eAAe,GAAG,QAAQ,IAAI,IAAI,GAAG,QAAQ,GAAG,YAAY;AACpE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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,111,112,114,123,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,249]}
|
|
1
|
+
{"version":3,"file":"native.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/tslib/tslib.es6.js","../lib/utils/navigationHelpers.ts","../lib/hooks/useNavigationHandler.ts","../lib/utils/apiHelpers.ts","../lib/utils/styling.ts","../lib/constants/theme.ts","../lib/utils/storybookThemes.ts","../lib/utils/themeHelpers.ts","../lib/constants/responsive.ts","../lib/hooks/useResponsive.ts","../lib/context/ResponsiveContext.tsx","../lib/context/WllSdkContext.tsx","../lib/utils/variant.ts","../lib/utils/responsiveHelper.ts","../lib/components/atoms/Button/styles.ts","../lib/components/atoms/Button/index.tsx","../lib/components/atoms/Icon/index.tsx","../lib/components/atoms/LoadingIndicator/index.tsx","../lib/components/atoms/ProgressBar/index.tsx","../lib/constants/device.ts","../lib/components/atoms/ProgressiveImage/index.tsx","../lib/components/atoms/Text/index.tsx","../lib/constants/index.ts","../lib/types/tile.ts","../lib/hooks/useHandleTilePress.ts","../lib/components/atoms/BaseBanner/index.tsx","../lib/hooks/useTileSize.ts","../lib/components/atoms/BaseTile/base-tile-body.tsx","../lib/utils/contextHelpers.ts","../lib/components/atoms/BaseTile/styles.ts","../lib/components/atoms/BaseTile/base-tile-content.tsx","../lib/components/atoms/BaseTile/base-tile-header.tsx","../lib/components/atoms/BaseTile/base-tile-media.tsx","../lib/components/atoms/BaseTile/base-tile-title.tsx","../lib/components/atoms/BaseTile/index.tsx","../lib/components/atoms/Indicator/index.tsx","../lib/constants/grid.ts","../lib/components/atoms/SkeletonTile/index.tsx","../lib/components/atoms/Skeleton/index.tsx","../lib/components/hoc/withTileFetching.tsx","../lib/components/organisms/BadgeTile/styles.tsx","../lib/components/organisms/BadgeTile/badge-tile-date-earned.tsx","../lib/components/organisms/BadgeTile/badge-tile-description.tsx","../lib/components/organisms/BadgeTile/badge-tile-media.tsx","../lib/components/organisms/BadgeTile/badge-tile-status.tsx","../lib/components/organisms/BadgeTile/badge-tile-title.tsx","../lib/components/organisms/BadgeTile/index.tsx","../lib/components/organisms/BannerTile/banner-tile-cta.tsx","../lib/components/organisms/BannerTile/styles.ts","../lib/components/organisms/BannerTile/banner-tile-description.tsx","../lib/components/organisms/BannerTile/banner-tile-media.tsx","../lib/components/organisms/BannerTile/banner-tile-title.tsx","../lib/components/organisms/BannerTile/index.tsx","../lib/components/organisms/ContentTile/content-tile-body.tsx","../lib/components/organisms/ContentTile/content-tile-container.tsx","../lib/components/organisms/ContentTile/styles.ts","../lib/components/organisms/ContentTile/content-tile-content.tsx","../lib/components/organisms/ContentTile/content-tile-header.tsx","../lib/components/organisms/ContentTile/content-tile-media.tsx","../lib/components/organisms/ContentTile/index.tsx","../lib/utils/transforms.ts","../lib/types/section.ts","../lib/components/molecules/SectionHeader/styles.ts","../lib/components/molecules/SectionHeader/index.tsx","../lib/components/molecules/Carousel/styles.ts","../lib/components/molecules/Carousel/index.tsx","../lib/components/molecules/Grid/index.tsx","../lib/components/molecules/ProgressIndicator/index.tsx","../lib/components/organisms/Section/styles.ts","../lib/components/organisms/Section/index.tsx","../lib/components/organisms/Group/index.tsx","../lib/utils/pointsHelpers.ts","../lib/types/common.ts","../lib/components/atoms/Primatives/Column.tsx","../lib/components/atoms/Primatives/FullFlex.tsx","../lib/components/atoms/Primatives/Layout.tsx","../lib/components/atoms/Primatives/Row.tsx","../lib/components/atoms/Primatives/Spacer.tsx","../lib/components/organisms/PointsTile/styles.ts","../lib/components/organisms/PointsTile/points-tile-formatted-points.tsx","../lib/components/organisms/PointsTile/points-tile-media.tsx","../lib/components/organisms/PointsTile/points-tile-title.tsx","../lib/components/organisms/PointsTile/index.tsx","../lib/components/organisms/RewardCategoryTile/styles.ts","../lib/components/organisms/RewardCategoryTile/reward-category-header.tsx","../lib/components/organisms/RewardCategoryTile/reward-category-media.tsx","../lib/components/organisms/RewardCategoryTile/index.tsx","../lib/components/organisms/RewardTile/reward-tile-chevron.tsx","../lib/components/organisms/RewardTile/styles.ts","../lib/components/organisms/RewardTile/reward-tile-media.tsx","../lib/components/organisms/RewardTile/reward-tile-points.tsx","../lib/components/organisms/RewardTile/reward-tile-summary.tsx","../lib/components/organisms/RewardTile/reward-tile-title.tsx","../lib/components/organisms/RewardTile/index.tsx","../lib/components/organisms/TierTileUpdated/styles.ts","../lib/components/organisms/TierTileUpdated/index.tsx","../lib/components/atoms/TileContainer/index.tsx","../lib/types/wll.ts"],"sourcesContent":["/**\n * @license React\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';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.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:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.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';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\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 printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\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","/******************************************************************************\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, SuppressedError, Symbol */\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 __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\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: false } : 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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","import { NavigationType } from '../types/navigation';\n\nexport const parseNavigationLink = (\n link: string\n): { type: NavigationType; target: string } => {\n let result: { type: NavigationType; target: string };\n if (\n link.startsWith('http://') ||\n link.startsWith('https://') ||\n link.startsWith('mailto:')\n ) {\n result = { type: 'external', target: link };\n } else if (link.startsWith('#')) {\n result = { type: 'modal', target: link.slice(1) };\n } else {\n result = { type: 'internal', target: link };\n }\n return result;\n};\n","import { useCallback } from 'react';\nimport { NavigationConfig } from '../types/navigation';\nimport { CTALinkTarget } from '../types/tile';\nimport { parseNavigationLink } from '../utils/navigationHelpers';\n\nexport const useNavigation = (config: NavigationConfig) => {\n const handleNavigation = useCallback(\n async (link: string, ctaTarget: CTALinkTarget): Promise<void> => {\n const { type, target } = parseNavigationLink(link);\n const windowTarget = ctaTarget === 'SAME_FRAME' ? '_self' : '_blank';\n\n if (config.navigationHandlers?.[type]) {\n return Promise.resolve(config.navigationHandlers[type]({ target, windowTarget }));\n }\n return Promise.resolve();\n },\n [config]\n );\n\n return handleNavigation;\n};\n","import { useCallback } from 'react';\nimport { SDKConfig } from '../context/WllSdkContext';\n\nconst baseUrl = 'https://api.staging.core.wlloyalty.net/v1';\n\ntype APIResponse<T> = {\n status: 'success' | 'fail' | 'error';\n data: T | null;\n error?: string;\n};\n\nexport const useCreateRequestOptions = (config: SDKConfig) => {\n return useCallback(\n (options: RequestInit = {}) => {\n // Only create headers if we're not using a custom fetcher\n if (!config.fetcher) {\n const headers = new Headers(options.headers);\n headers.set('x-api-key', config.apiKey);\n headers.set('Authorization', `Bearer ${config.userToken}`);\n\n return {\n ...options,\n headers,\n };\n }\n },\n [config.apiKey, config.userToken, config.fetcher]\n );\n};\n\nexport const useMakeRequest = (config: SDKConfig) => {\n const createRequestOptions = useCreateRequestOptions(config);\n\n return useCallback(\n async <T>(url: string): Promise<APIResponse<T>> => {\n try {\n if (config.fetcher) {\n return await config.fetcher(url, createRequestOptions());\n }\n\n const response = await fetch(url, createRequestOptions());\n console.log('response', response);\n const json = await response.json();\n console.log('json', json);\n if (json.status === 'fail') {\n return {\n status: 'fail',\n data: null,\n error: json.message || 'API returned non-success status',\n };\n }\n\n return json;\n } catch (error) {\n return {\n status: 'error',\n data: null,\n error:\n error instanceof Error\n ? error.message\n : 'An unknown error occurred',\n };\n }\n },\n [createRequestOptions, config.fetcher]\n );\n};\n\nexport const createResourceGetter = (\n resource: string,\n includeHydrate = false\n) => {\n return (config: SDKConfig) => {\n const makeRequest = useMakeRequest(config);\n\n return useCallback(\n (id: string) => {\n const params = new URLSearchParams();\n\n if (includeHydrate) {\n params.append('hydrate', 'true');\n }\n\n // Always append locale=en\n params.append('locale', config.locale || 'en');\n\n const queryString = params.toString();\n return makeRequest(\n `${baseUrl}/tiles-management/${resource}/${id}${queryString ? `?${queryString}` : ''}`\n );\n },\n [makeRequest]\n );\n };\n};\n\nexport const useGetGroupByID = createResourceGetter('groups', true);\nexport const useGetSectionByID = createResourceGetter('sections');\nexport const useGetTileByID = createResourceGetter('tiles');\n","import { StyleSheet } from 'react-native';\nimport { BaseThemeObject } from '../types/theme';\n\nexport const sizes = {\n borderRadiusSm: 15,\n borderRadiusLg: 20,\n borderRadiusButton: 9,\n borderRadiusRounded: 9999,\n xxxs: 4,\n xxs: 8,\n xs: 10,\n sm: 12,\n md: 14,\n lg: 16,\n xl: 18,\n xxl: 24,\n xxxl: 32,\n xxxxl: 40,\n xxxxxl: 60,\n} as const;\n\nexport const commonStyles = StyleSheet.create({\n emptyContainer: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nexport const defaultTheme: BaseThemeObject = {\n background: '#F0F0F0',\n text: '#000000',\n primary: '#392ed7',\n accent: '#ff6a3d',\n surface: '#f8f7fc',\n surfaceText: '#000000',\n pageButtonBackground: '#392ed7',\n pageButtonText: '#ffffff',\n errorPrimary: '#000000',\n positive: '#008000',\n negative: '#ff0000',\n};\n","export const COLOR_CONSTANTS = {\n MINIMUM_CONTRAST_RATIO: 2,\n DEFAULT_LIGHTNESS_ADJUSTMENT: 0.2,\n DESATURATION_LIGHTEN_AMOUNT: 2,\n DEFAULT_COLOR: '#FFFFFF',\n} as const;\n","import { BaseThemeObject } from '../types/theme';\nimport { defaultTheme } from './styling';\n\n// Storybook Themes\nexport const storyBookThemes = {\n modern: {\n ...defaultTheme,\n primary: '#f72585',\n accent: '#ffc300',\n background: '#e5e5e5',\n surface: '#f4f3ee',\n surfaceText: '#f72585',\n },\n warm: {\n ...defaultTheme,\n primary: '#014F5C',\n accent: '#F38A51',\n background: '#BE9C80',\n surface: '#F1CFB3',\n surfaceText: '#014F5C',\n },\n dark: {\n ...defaultTheme,\n background: '#1e1e1e',\n text: '#ffffff',\n primary: '#ffbe0b',\n accent: '#d00000',\n surface: '#2f3037',\n surfaceText: '#ffffff',\n },\n forest: {\n ...defaultTheme,\n primary: '#354f52',\n accent: '#84a98c',\n background: '#f0f4f0',\n surface: '#cad2c5',\n surfaceText: '#2d3436',\n },\n sunset: {\n ...defaultTheme,\n primary: '#c32f27',\n accent: '#db7c26',\n background: '#f9edcc',\n surface: '#f0dfad',\n surfaceText: '#2d3436',\n },\n};\n\n// Define the theme type\nexport type ThemeName =\n | 'default'\n | 'dark'\n | 'modern'\n | 'warm'\n | 'forest'\n | 'sunset';\n\n// Create the themes object\nexport const themes: Record<ThemeName, BaseThemeObject> = {\n default: defaultTheme,\n dark: storyBookThemes.dark,\n modern: storyBookThemes.modern,\n warm: storyBookThemes.warm,\n forest: storyBookThemes.forest,\n sunset: storyBookThemes.sunset,\n};\n\n// Theme selector items\nexport const themeItems: Array<{ value: ThemeName; title: string }> = [\n { value: 'default', title: 'Default' },\n { value: 'dark', title: 'Dark' },\n { value: 'modern', title: 'Modern' },\n { value: 'warm', title: 'Warm' },\n { value: 'forest', title: 'Forest' },\n { value: 'sunset', title: 'Sunset' },\n];\n","import Color from 'color';\nimport { COLOR_CONSTANTS } from '../constants/theme';\nimport {\n BaseThemeObject,\n DerivedColors,\n DesaturationType,\n PercentageKey,\n} from '../types/theme';\nimport { themeItems, ThemeName, themes } from './storybookThemes';\n\nconst isValidColor = (color: string): boolean => {\n try {\n Color(color);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Validates a theme object to ensure all required colors are present and valid\n * @param theme - Partial theme object to validate\n * @returns Boolean indicating if theme is valid\n */\nexport const validateTheme = (theme: Partial<BaseThemeObject>): boolean => {\n const requiredColors = [\n 'accent',\n 'background',\n 'errorPrimary',\n 'negative',\n 'pageButtonBackground',\n 'pageButtonText',\n 'positive',\n 'primary',\n 'surface',\n 'surfaceText',\n 'text',\n ] as const;\n return requiredColors.every(\n (color) => theme[color] && isValidColor(theme[color]!)\n );\n};\n\n/**\n * Safely creates a Color instance with error handling\n * @param color - Color string to process\n * @returns Color instance or null if invalid\n */\nconst createSafeColor = (color: string): Color | null => {\n try {\n return Color(color);\n } catch (error) {\n console.error(`Invalid color value: ${color}`, error);\n return null;\n }\n};\n\n/**\n * Returns a derived color based on the background darkness\n * @param color - Base color to derive from\n * @returns Derived color string or default color if invalid\n */\nexport const getDerivedColor = (color: string): string => {\n const backgroundColor = createSafeColor(color);\n if (!backgroundColor) return COLOR_CONSTANTS.DEFAULT_COLOR;\n\n return backgroundColor.isDark()\n ? backgroundColor\n .lighten(COLOR_CONSTANTS.DEFAULT_LIGHTNESS_ADJUSTMENT)\n .string()\n : backgroundColor\n .darken(COLOR_CONSTANTS.DEFAULT_LIGHTNESS_ADJUSTMENT)\n .string();\n};\n\n/**\n * Determines the most readable text color (black or white) for a given background\n * @param backgroundColor - Background color to check against\n * @returns Hex color string for text\n */\nexport const getReadableTextColor = (backgroundColor: string): string => {\n const bgColor = createSafeColor(backgroundColor);\n if (!bgColor) return COLOR_CONSTANTS.DEFAULT_COLOR;\n\n const white = Color('#fff');\n const black = Color('#000');\n\n const contrastWithWhite = bgColor.contrast(white);\n return contrastWithWhite >= COLOR_CONSTANTS.MINIMUM_CONTRAST_RATIO\n ? white.hex()\n : black.hex();\n};\n\nconst percentages: PercentageKey[] = [\n 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95,\n];\n\n/**\n * Generates a set of derived colors based on a base color and derivation function\n * @param color - Base color to derive from\n * @param derivationFunction - Function to generate variations\n * @returns Object containing derived colors at different percentages\n */\nconst generateDerivedColors = (\n color: string,\n derivationFunction: (baseColor: Color, percentage: PercentageKey) => Color\n): DerivedColors => {\n const baseColor = createSafeColor(color);\n if (!baseColor) {\n return percentages.reduce((acc, percentage) => {\n acc[percentage] = COLOR_CONSTANTS.DEFAULT_COLOR;\n return acc;\n }, {} as DerivedColors);\n }\n\n const result = {} as DerivedColors;\n percentages.forEach((percentage) => {\n try {\n const derivedColor = derivationFunction(baseColor, percentage);\n result[percentage] = derivedColor.toString();\n } catch (error) {\n console.error(`Error generating derived color for ${percentage}%`, error);\n result[percentage] = COLOR_CONSTANTS.DEFAULT_COLOR;\n }\n });\n return result;\n};\n\n/**\n * Generates a set of colors with varying lightness based on the base color\n * @param color - Base color to derive from\n * @returns Object containing derived colors at different lightness levels\n */\nexport const getDerivedColorPercentages = (color: string): DerivedColors => {\n const baseColor = createSafeColor(color);\n if (!baseColor)\n return generateDerivedColors(\n COLOR_CONSTANTS.DEFAULT_COLOR,\n (color) => color\n );\n\n const isDark = baseColor.isDark();\n return generateDerivedColors(color, (baseColor, percentage) =>\n isDark\n ? baseColor.lightness(percentage)\n : baseColor.lightness(100 - percentage)\n );\n};\n\n/**\n * Generates a set of colors with varying alpha values\n * @param color - Base color to derive from\n * @returns Object containing derived colors at different alpha levels\n */\nexport const getAlphaDerivedColors = (color: string): DerivedColors => {\n return generateDerivedColors(color, (baseColor, percentage) =>\n baseColor.alpha(percentage / 100)\n );\n};\n\n/**\n * Determines if a color should be desaturated based on type and count\n * @param type - Type of desaturation to apply\n * @param count - Count value affecting desaturation\n * @returns Boolean indicating if color should be desaturated\n */\nexport const shouldDesaturate = (\n type: DesaturationType,\n count: number\n): boolean => {\n switch (type) {\n case 'SPECIFIC':\n return count === 0;\n default:\n return false;\n }\n};\n\n/**\n * Desaturates a color and lightens it\n * @param color - Color to desaturate\n * @returns Desaturated color string or default color if invalid\n */\nexport const desaturateColor = (color: string): string => {\n const baseColor = createSafeColor(color);\n if (!baseColor) return COLOR_CONSTANTS.DEFAULT_COLOR;\n\n return baseColor\n .grayscale()\n .lighten(COLOR_CONSTANTS.DESATURATION_LIGHTEN_AMOUNT)\n .toString();\n};\n\n/**\n * Gets the appropriate state color based on type and count\n * @param baseColor - Base color to process\n * @param type - Type of state\n * @param count - Count affecting the state\n * @returns Processed color string\n */\nexport const getStateColor = (\n baseColor: string,\n type: DesaturationType,\n count: number\n): string => {\n return shouldDesaturate(type, count) ? desaturateColor(baseColor) : baseColor;\n};\n\n// Export theme-related items\nexport { themeItems, ThemeName, themes };\n","export const DIMENSION_MODES = {\n DESKTOP: 'desktop' as const,\n TABLET: 'tablet' as const,\n MOBILE: 'mobile' as const,\n};\n\nexport const TABLET_SCREEN_WIDTH = 728;\nexport const SMALL_SCREEN_WIDTH = 530;\n","import { useEffect, useState } from 'react';\nimport { Dimensions, Platform } from 'react-native';\nimport {\n DIMENSION_MODES,\n SMALL_SCREEN_WIDTH,\n TABLET_SCREEN_WIDTH,\n} from '../constants/responsive';\nimport { DimensionMode, WindowDimensions } from '../types/responsive';\n\nconst isWeb = Platform.OS === 'web';\n\nexport function getDimensionMode(window: WindowDimensions): DimensionMode {\n if (!window || !window.width) {\n return DIMENSION_MODES.MOBILE;\n }\n\n const { width: screenWidth } = window;\n\n if (screenWidth >= TABLET_SCREEN_WIDTH) {\n return DIMENSION_MODES.DESKTOP;\n }\n if (screenWidth >= SMALL_SCREEN_WIDTH) {\n return DIMENSION_MODES.TABLET;\n }\n return DIMENSION_MODES.MOBILE;\n}\n\nexport function useResponsive() {\n const deviceWindow = Dimensions.get('window');\n const [dimensionMode, setDimensionMode] = useState<DimensionMode>(\n getDimensionMode(deviceWindow)\n );\n\n useEffect(() => {\n if (!isWeb) return;\n\n const subscription = Dimensions.addEventListener('change', ({ window }) => {\n if (window) {\n const mode = getDimensionMode(window);\n setDimensionMode(mode);\n }\n });\n\n return () => {\n if (subscription) {\n subscription.remove();\n }\n };\n }, []);\n\n return {\n dimensionMode,\n isDesktop: dimensionMode === DIMENSION_MODES.DESKTOP,\n isTablet: dimensionMode === DIMENSION_MODES.TABLET,\n isMobile: dimensionMode === DIMENSION_MODES.MOBILE,\n };\n}\n","import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { Dimensions } from 'react-native';\nimport { DIMENSION_MODES } from '../constants/responsive';\nimport { getDimensionMode } from '../hooks/useResponsive';\nimport { ResponsiveContextType } from '../types/responsive';\n\nconst ResponsiveContext = createContext<ResponsiveContextType | undefined>(\n undefined\n);\n\nexport function ResponsiveProvider({ children }: PropsWithChildren) {\n const getDerivedState = useCallback((window: any) => {\n const dimensionMode = getDimensionMode(window);\n return {\n dimensionMode,\n isDesktop: dimensionMode === DIMENSION_MODES.DESKTOP,\n isTablet: dimensionMode === DIMENSION_MODES.TABLET,\n isMobile: dimensionMode === DIMENSION_MODES.MOBILE,\n };\n }, []);\n\n const [state, setState] = useState(() => {\n const window = Dimensions.get('window');\n return getDerivedState(window);\n });\n\n const value = useMemo(() => state, [state]);\n\n useEffect(() => {\n const subscription = Dimensions.addEventListener('change', ({ window }) => {\n if (window) {\n setState(getDerivedState(window));\n }\n });\n\n return () => {\n if (subscription) {\n subscription.remove();\n }\n };\n }, [getDerivedState]);\n\n return (\n <ResponsiveContext.Provider value={value}>\n {children}\n </ResponsiveContext.Provider>\n );\n}\n\nexport function useResponsive(): ResponsiveContextType {\n const context = useContext(ResponsiveContext);\n if (context === undefined) {\n throw new Error('useResponsive must be used within a ResponsiveProvider');\n }\n return context;\n}\n","import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { useNavigation } from '../hooks/useNavigationHandler';\nimport { TGroup } from '../types/group';\nimport { WithChildren } from '../types/helpers';\nimport { NavigationConfig } from '../types/navigation';\nimport { TSection } from '../types/section';\nimport { BaseThemeObject, ThemeContextType, ThemeObject } from '../types/theme';\nimport { CTALinkTarget, Tile } from '../types/tile';\nimport {\n useGetGroupByID,\n useGetSectionByID,\n useGetTileByID,\n} from '../utils/apiHelpers';\nimport { defaultTheme, sizes } from '../utils/styling';\nimport {\n getAlphaDerivedColors,\n getDerivedColor,\n getDerivedColorPercentages,\n getReadableTextColor,\n validateTheme,\n} from '../utils/themeHelpers';\nimport { ResponsiveProvider } from './ResponsiveContext';\n\ntype Fetcher = <T>(\n endpoint: string,\n options?: RequestInit\n) => Promise<APIResponse<T>>;\n\nexport type SDKConfig = {\n apiKey: string;\n userToken?: string;\n fetcher?: Fetcher;\n locale?: string;\n};\n\nexport type APIResponse<T> = {\n status: 'success' | 'error';\n data: T | null;\n error?: string;\n};\n\ntype WllSdkContextType = ThemeContextType & {\n getGroupByID: (id: string) => Promise<APIResponse<TGroup>>;\n getSectionByID: (id: string) => Promise<APIResponse<TSection>>;\n getTileByID: (id: string) => Promise<APIResponse<Tile>>;\n handleNavigation: (link: string, target: CTALinkTarget) => Promise<void>;\n} & Readonly<{\n readonly config: SDKConfig;\n }>;\n\ntype WllSdkProviderProps = WithChildren & {\n theme?: Partial<BaseThemeObject>;\n config: SDKConfig;\n navigationConfig?: NavigationConfig;\n};\n\nconst createTheme = (baseTheme: Partial<BaseThemeObject> = {}): ThemeObject => {\n const mergedTheme = {\n ...defaultTheme,\n ...baseTheme,\n } as BaseThemeObject;\n\n return {\n ...mergedTheme,\n sizes,\n derivedBackground: getDerivedColor(mergedTheme.background),\n primaryText: getReadableTextColor(mergedTheme.primary),\n accentText: getReadableTextColor(mergedTheme.accent),\n positiveText: getReadableTextColor(mergedTheme.positive),\n negativeText: getReadableTextColor(mergedTheme.negative),\n derivedSurface: getDerivedColorPercentages(mergedTheme.surface),\n derivedSurfaceText: getDerivedColorPercentages(mergedTheme.surfaceText),\n alphaDerivedPrimary: getAlphaDerivedColors(mergedTheme.primary),\n alphaDerivedText: getAlphaDerivedColors(mergedTheme.text),\n };\n};\n\nconst WllSdkContext = createContext<WllSdkContextType | undefined>(undefined);\n\nexport const WllSdkProvider = ({\n children,\n theme: providedTheme,\n config,\n navigationConfig = {},\n}: WllSdkProviderProps): JSX.Element => {\n validateConfig(config);\n\n const [theme, setThemeState] = useState(() => {\n const themeToUse = providedTheme || {};\n if (!validateTheme(themeToUse)) {\n console.warn(\n 'Invalid theme provided. Some required colors are missing or invalid.'\n );\n }\n return createTheme(themeToUse);\n });\n\n useEffect(() => {\n const themeToUse = providedTheme || {};\n if (!validateTheme(themeToUse)) {\n console.warn(\n 'Invalid theme provided. Some required colors are missing or invalid.'\n );\n }\n setThemeState(createTheme(themeToUse));\n }, [providedTheme]);\n\n const setTheme = useCallback((newTheme: Partial<BaseThemeObject>) => {\n if (!validateTheme(newTheme)) {\n console.warn(\n 'Invalid theme provided. Some required colors are missing or invalid.'\n );\n }\n setThemeState((prevTheme) => createTheme({ ...prevTheme, ...newTheme }));\n }, []);\n\n const getGroupByID = useGetGroupByID(config) as (\n id: string\n ) => Promise<APIResponse<TGroup>>;\n const getSectionByID = useGetSectionByID(config) as (\n id: string\n ) => Promise<APIResponse<TSection>>;\n const getTileByID = useGetTileByID(config) as (\n id: string\n ) => Promise<APIResponse<Tile>>;\n\n const handleNavigation = useNavigation(navigationConfig);\n\n const contextValue = useMemo(\n () => ({\n theme,\n setTheme,\n getGroupByID,\n getSectionByID,\n getTileByID,\n handleNavigation,\n config,\n }),\n [\n theme,\n setTheme,\n getGroupByID,\n getSectionByID,\n getTileByID,\n handleNavigation,\n config,\n ]\n );\n return (\n <WllSdkContext.Provider value={contextValue}>\n <ResponsiveProvider>{children}</ResponsiveProvider>\n </WllSdkContext.Provider>\n );\n};\n\nexport const useWllSdk = (): WllSdkContextType => {\n const context = useContext(WllSdkContext);\n if (context === undefined) {\n throw new Error('useWllSdk must be used within a WllSdkProvider');\n }\n return context;\n};\n\n/**\n * Validates the SDK configuration object\n * @param config - The configuration object to validate\n * @throws {Error} If apiKey is missing\n * @throws {Error} If locale is provided but not in ISO 639-1 format (e.g. 'en')\n */\nconst validateConfig = (config: SDKConfig): void => {\n if (!config.apiKey) {\n throw new Error('API key is required');\n }\n\n if (config.locale && !/^[a-z]{2}$/.test(config.locale)) {\n throw new Error(\n 'Invalid locale format. Expected ISO 639-1 language code (e.g. \"en\")'\n );\n }\n};\n","import { TextStyle, ViewStyle } from \"react-native\";\nimport { ThemeObject } from \"../types/theme\";\n\ntype StyleVariants<V extends string> = Record<V, ViewStyle | TextStyle>;\n\nexport function createVariantSystem<V extends string>(\n baseStyle: ViewStyle | TextStyle,\n variantStyles: (theme: ThemeObject) => StyleVariants<V>\n) {\n return (theme: ThemeObject, variant: V) => {\n const styles = variantStyles(theme);\n return [baseStyle, styles[variant]];\n };\n}\n","import { useEffect, useState } from 'react';\nimport { Dimensions, Platform } from 'react-native';\nimport {\n SMALL_SCREEN_WIDTH,\n TABLET_SCREEN_WIDTH,\n} from '../constants/responsive';\n\nconst clamp = (value: number, min: number, max: number) =>\n Math.min(Math.max(value, min), max);\n\nconst lerp = (start: number, end: number, t: number) =>\n start + (end - start) * t;\n\nconst getWindowWidth = () => {\n if (Platform.OS === 'web') {\n return window.innerWidth;\n }\n return Dimensions.get('window').width;\n};\n\nexport const getResponsiveValue = (\n desktopValue: number,\n mobileValue: number,\n isDesktop: boolean,\n isTablet: boolean\n) => {\n const width = getWindowWidth();\n const tabletValue = (desktopValue + mobileValue) / 2;\n\n // Desktop to Tablet scaling\n if (width >= TABLET_SCREEN_WIDTH) {\n const t = clamp((width - TABLET_SCREEN_WIDTH) / 300, 0, 1); // 300px scaling range\n return Math.round(lerp(tabletValue, desktopValue, t));\n }\n\n // Tablet to Mobile scaling\n if (width > SMALL_SCREEN_WIDTH) {\n const t = clamp(\n (width - SMALL_SCREEN_WIDTH) / (TABLET_SCREEN_WIDTH - SMALL_SCREEN_WIDTH),\n 0,\n 1\n );\n return Math.round(lerp(mobileValue, tabletValue, t));\n }\n\n return mobileValue;\n};\n\nexport const useResponsiveValue = (\n desktopValue: number,\n mobileValue: number,\n isDesktop: boolean,\n isTablet: boolean\n) => {\n const [value, setValue] = useState(() =>\n getResponsiveValue(desktopValue, mobileValue, isDesktop, isTablet)\n );\n\n useEffect(() => {\n if (Platform.OS !== 'web') return;\n\n const handleResize = () => {\n setValue(\n getResponsiveValue(desktopValue, mobileValue, isDesktop, isTablet)\n );\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, [desktopValue, mobileValue, isDesktop, isTablet]);\n\n return value;\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useButtonDynamicStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingHorizontal: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n paddingVertical: theme.sizes.sm,\n alignSelf: 'flex-start',\n },\n text: {\n textAlign: 'center',\n textTransform: 'uppercase',\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n fontWeight: '700',\n },\n });\n};\n","import * as React from 'react';\nimport { Pressable, Text } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Variant } from '../../../types/theme';\nimport { createVariantSystem } from '../../../utils/variant';\nimport { useButtonDynamicStyles } from './styles';\n\ntype ButtonProps = {\n title: string;\n onPress: () => void;\n variant: Variant;\n disabled?: boolean;\n accessibilityLabel?: string;\n accessibilityHint?: string;\n testID?: string;\n};\n\nconst useButtonStyles = createVariantSystem({}, (theme) => ({\n primary: {\n backgroundColor: theme.primary,\n },\n accent: {\n backgroundColor: theme.accent,\n },\n positive: {\n backgroundColor: theme.positive,\n },\n negative: {\n backgroundColor: theme.negative,\n },\n}));\n\nconst useTextStyles = createVariantSystem({}, (theme) => ({\n primary: {\n color: theme.primaryText,\n },\n accent: {\n color: theme.accentText,\n },\n positive: {\n color: theme.positiveText,\n },\n negative: {\n color: theme.negativeText,\n },\n}));\n\nconst Button = ({\n title,\n onPress,\n variant,\n disabled = false,\n accessibilityLabel,\n accessibilityHint,\n testID,\n}: ButtonProps): JSX.Element => {\n const { theme } = useWllSdk();\n const buttonStyle = useButtonStyles(theme, variant);\n const textStyle = useTextStyles(theme, variant);\n const styles = useButtonDynamicStyles();\n\n return (\n <Pressable\n style={({ pressed }) => [\n styles.button,\n buttonStyle,\n { borderRadius: theme.sizes.borderRadiusButton },\n disabled && { opacity: 0.5 },\n pressed && { opacity: 0.7 },\n ]}\n onPress={onPress}\n disabled={disabled}\n accessible={true}\n role=\"button\"\n accessibilityLabel={accessibilityLabel || title}\n accessibilityHint={accessibilityHint}\n accessibilityState={{ disabled }}\n testID={testID}\n >\n <Text style={[styles.text, textStyle]}>{title}</Text>\n </Pressable>\n );\n};\n\nexport default Button;\n","/* istanbul ignore file */\nimport * as LucideIcons from 'lucide-react';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\n\ntype IconName = keyof typeof LucideIcons;\n\ntype IconProps = {\n name: IconName;\n color?: string;\n size?: number;\n strokeWidth?: number;\n} & Omit<ViewProps, 'style'>;\n\nconst Icon = ({\n name,\n color = 'black',\n size = 24,\n strokeWidth = 2,\n ...props\n}: IconProps): JSX.Element | null => {\n const LucideIcon = LucideIcons[name] as React.ElementType;\n\n if (!LucideIcon) {\n console.warn(`Icon \"${name}\" not found in Lucide icons`);\n return null;\n }\n\n return (\n <View {...props}>\n <LucideIcon color={color} size={size} strokeWidth={strokeWidth} />\n </View>\n );\n};\n\nexport default Icon;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { ActivityIndicator, StyleSheet, View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\n\nconst LoadingIndicator = (): JSX.Element => {\n const { theme } = useWllSdk();\n\n return (\n <View\n style={[\n styles.container,\n {\n borderRadius: theme.sizes.borderRadiusSm,\n padding: theme.sizes.md,\n },\n ]}\n >\n <ActivityIndicator size=\"small\" color={theme.primary} />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n});\n\nexport default LoadingIndicator;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { Animated, StyleSheet, View, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Size, ThemeObject, Variant } from '../../../types/theme';\nimport { createVariantSystem } from '../../../utils/variant';\n\nexport type ProgressBarProps = {\n percentage: number;\n variant?: Variant;\n height?: Size;\n animationDuration?: number;\n};\n\nconst useStyles = (theme: ThemeObject) => {\n return StyleSheet.create({\n container: {\n width: '100%',\n borderRadius: theme.sizes.borderRadiusRounded,\n overflow: 'hidden',\n },\n progress: {\n borderRadius: theme.sizes.borderRadiusRounded,\n height: '100%',\n },\n });\n};\n\nconst useContainerStyles = (theme: ThemeObject) => ({\n sm: { height: theme.sizes.xxs },\n md: { height: theme.sizes.xs },\n lg: { height: theme.sizes.sm },\n});\n\nconst useProgressStyles = createVariantSystem(\n // @ts-ignore\n (theme: ThemeObject) => ({ borderRadius: theme.sizes.borderRadiusSmRounded }),\n (theme: ThemeObject) => ({\n primary: { backgroundColor: theme.primary },\n accent: { backgroundColor: theme.accent },\n positive: { backgroundColor: theme.positive },\n negative: { backgroundColor: theme.negative },\n })\n);\n\nconst ProgressBar = ({\n percentage,\n variant = 'primary',\n height = 'sm',\n animationDuration = 300,\n}: ProgressBarProps): JSX.Element => {\n const { theme } = useWllSdk();\n const styles = useStyles(theme);\n const containerStyles = useContainerStyles(theme);\n const progressStyles = useProgressStyles(theme, variant);\n\n const animatedWidth = React.useRef(new Animated.Value(0)).current;\n\n const containerStyle = [\n styles.container,\n containerStyles[height],\n { backgroundColor: theme.derivedSurface[20] },\n ];\n\n React.useEffect(() => {\n Animated.timing(animatedWidth, {\n toValue: Math.min(Math.max(percentage, 0), 100),\n duration: animationDuration,\n useNativeDriver: false,\n }).start();\n }, [percentage, animationDuration]);\n\n const progressWidth: ViewStyle = {\n width: animatedWidth.interpolate({\n inputRange: [0, 100],\n outputRange: ['0%', '100%'],\n }),\n };\n\n return (\n <View style={containerStyle}>\n <Animated.View style={[styles.progress, progressStyles, progressWidth]} />\n </View>\n );\n};\n\nexport default ProgressBar;\n","import { Dimensions, Platform } from \"react-native\";\n\nexport const IS_WEB = Platform.OS === \"web\";\nexport const IS_IOS = Platform.OS === \"ios\";\nexport const IS_ANDROID = Platform.OS === \"android\";\nexport const IS_MOBILE = IS_IOS || IS_ANDROID;\nexport const IS_DESKTOP = !IS_MOBILE;\n\nconst { width, height } = Dimensions.get(\"window\");\n\nexport const SCREEN_WIDTH = width;\nexport const SCREEN_HEIGHT = height;\n","/* istanbul ignore file */\nimport React, { useRef } from 'react';\nimport {\n Animated,\n ImageSourcePropType,\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n} from 'react-native';\nimport { IS_WEB } from '../../../constants/device';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { desaturateColor } from '../../../utils/themeHelpers';\n\ntype ProgressiveImageProps = {\n source: ImageSourcePropType;\n style?: StyleProp<ViewStyle>;\n isDesaturated?: boolean;\n alt?: string;\n [key: string]: any;\n};\n\nconst ProgressiveImage = ({\n source,\n style,\n isDesaturated = false,\n alt,\n ...props\n}: ProgressiveImageProps): JSX.Element => {\n const imageAnimated = useRef(new Animated.Value(0)).current;\n const { theme } = useWllSdk();\n\n const onImageLoad = (): void => {\n requestAnimationFrame(() => {\n Animated.timing(imageAnimated, {\n toValue: 1,\n useNativeDriver: true,\n duration: 300,\n }).start();\n });\n };\n\n const baseColor = theme.alphaDerivedPrimary[20];\n const desaturatedColor = desaturateColor(baseColor);\n const backgroundColor = isDesaturated ? desaturatedColor : baseColor;\n\n // Platform-specific logic for desaturation\n const desaturationStyle = IS_WEB\n ? {\n filter: isDesaturated ? 'grayscale(100%)' : undefined,\n }\n : {\n tintColor: isDesaturated ? desaturatedColor : undefined,\n };\n\n return (\n <View style={[styles.container, style, { backgroundColor }]}>\n {/* Placeholder that fades out as the main image loads */}\n <Animated.View\n style={[\n styles.imageOverlay,\n {\n backgroundColor,\n opacity: imageAnimated.interpolate({\n inputRange: [0, 1],\n outputRange: [1, 0],\n }),\n },\n ]}\n />\n\n <Animated.Image\n {...props}\n source={source}\n style={[\n styles.imageOverlay,\n {\n opacity: imageAnimated,\n ...desaturationStyle,\n },\n ]}\n onLoad={onImageLoad}\n accessibilityLabel={alt}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n imageOverlay: {\n position: 'absolute',\n left: 0,\n right: 0,\n bottom: 0,\n top: 0,\n },\n container: {\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'red',\n width: '100%',\n height: '100%',\n },\n});\n\nexport default ProgressiveImage;\n","import * as React from 'react';\nimport {\n Text as RNText,\n TextProps as RNTextProps,\n TextStyle,\n} from 'react-native';\nimport { useResponsive } from '../../../context/ResponsiveContext';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\ntype TextVariant =\n | 'eyebrow'\n | 'title'\n | 'description'\n | 'body'\n | 'caption'\n | 'label'\n | 'tier-requirement'\n | 'tier-earned';\n\ntype TextProps = RNTextProps & {\n variant?: TextVariant;\n style?: TextStyle;\n isSurface?: boolean;\n};\n\nexport const Text = ({\n variant = 'body',\n style,\n isSurface = false,\n ...props\n}: TextProps): JSX.Element => {\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n\n const getVariantStyle = (variant: TextVariant): TextStyle => {\n const baseStyle = {\n color: theme.surfaceText,\n };\n\n switch (variant) {\n case 'eyebrow':\n return {\n ...baseStyle,\n fontSize: useResponsiveValue(\n theme.sizes.md,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n };\n case 'title':\n return {\n ...baseStyle,\n fontSize: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n fontWeight: 'bold',\n };\n case 'body':\n return {\n color: theme.derivedSurfaceText[20],\n fontSize: useResponsiveValue(\n theme.sizes.md,\n theme.sizes.xs,\n isDesktop,\n isTablet\n ),\n };\n case 'caption':\n return {\n ...baseStyle,\n fontWeight: 'bold',\n fontSize: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.xl,\n isDesktop,\n isTablet\n ),\n color: theme.primary,\n };\n case 'description':\n case 'label':\n default:\n return {\n ...baseStyle,\n fontSize: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xs,\n isDesktop,\n isTablet\n ),\n };\n }\n };\n\n const variantStyle = getVariantStyle(variant);\n\n return <RNText style={[variantStyle, style]} {...props} />;\n};\n\nexport default Text;\n","export const MAX_WIDTH = 1080;\nexport const SLIDE_WIDTH = MAX_WIDTH;\nexport const BUTTON_SIZE = 42;\n","import { Availability, RewardCategory, TierType } from './wll';\n\nexport enum CTALinkTarget {\n sameWindow = 'SAME_FRAME',\n newWindow = 'NEW_WINDOW',\n}\n\nexport enum TierTileType {\n currentTier = 'CURRENT',\n specificTier = 'SPECIFIC',\n}\n\nexport enum ProgressType {\n Name = 'NAME',\n Points = 'POINTS',\n}\n\nexport enum TileType {\n Banner = 'BANNER',\n Points = 'POINTS',\n Content = 'CONTENT',\n Reward = 'REWARD',\n Badge = 'BADGE',\n RewardCategory = 'REWARD_CATEGORY',\n Tier = 'TIER',\n}\n\nexport enum TileHeight {\n Half = 'HALF',\n Full = 'FULL',\n}\n\nexport type ProgessType = 'NAME' | 'POINTS';\n\nexport class BannerTileConfig {\n artworkUrl?: string | null;\n title?: string | null;\n description?: string | null;\n ctaText?: string | null;\n ctaLink?: string | null;\n ctaLinkTarget?: CTALinkTarget;\n}\n\nexport class PointsTileConfig {\n title?: string | null;\n pointsMultiplier?: number;\n pointsPrefix?: string | null;\n pointsSuffix?: string | null;\n artworkUrl?: string | null;\n points?: number;\n}\n\nexport class ContentTileConfig {\n title?: string | null;\n body?: string | null;\n artworkUrl?: string | null;\n ctaLinkTarget?: CTALinkTarget;\n ctaLink?: string | null;\n}\n\nexport class RewardTileConfig {\n rewardId: string = '';\n defaultLocale: string = 'en';\n showPrice: boolean = false;\n showArtwork?: boolean;\n showDetails?: boolean;\n id: string = '';\n createdAt: string = '';\n updatedAt: string = '';\n name: string = '';\n pictureUrl: string = '';\n value: number = 0;\n price: number = 0;\n priority: number = 0;\n availability: Availability = {\n start: '',\n end: '',\n };\n purchasable: boolean = false;\n tier: string | null = null;\n category: RewardCategory = {\n name: '',\n priority: 0,\n type: '',\n id: '',\n createdAt: '',\n updatedAt: '',\n description: null,\n metadata: null,\n pictureUrl: '',\n };\n discounts: any[] = [];\n summary: string | null = null;\n redemptionMessage: string | null = null;\n visibilityCriteria: string | null = null;\n type: 'VOUCHER' = 'VOUCHER';\n codeType: 'HUMAN' | 'OTP' = 'HUMAN';\n code: string | null = null;\n purchaseExpiration: string | null = null;\n hideCode: boolean = false;\n notificationConfig: any | null = null;\n artworkUrl: string | undefined = undefined;\n pointsMultiplier: number = 1;\n pointsPrefix: string | null = null;\n pointsSuffix: string | null = null;\n}\n\nexport enum BadgeTileType {\n Specific = 'SPECIFIC',\n Latest = 'LATEST_EARNED',\n}\n\nexport class BadgeTileConfig {\n type: BadgeTileType = BadgeTileType.Specific;\n badgeId: string = '';\n internalName?: string;\n defaultLocale: string = 'en';\n priority: number = 0;\n internalDescription?: string | null;\n status?: string;\n id: string = '';\n createdAt: string = '';\n updatedAt: string = '';\n details?: BadgeDetail[] = [];\n count: number = 0;\n name: string = '';\n locale: string = 'en';\n description: string = '';\n artworkUrl: string = '';\n emptyBadgeMessage?: string;\n emptyBadgeArtworkUrl?: string;\n awardedDatePrefix?: string;\n badgeNotEarnedMessage?: string;\n}\n\nexport type BadgeDetail = {\n name: string;\n locale: string;\n description: string;\n artworkUrl: string;\n id: string;\n createdAt: string;\n updatedAt: string;\n emptyBadgeMessage?: string;\n emptyBadgeArtworkUrl?: string;\n awardedDatePrefix?: string;\n badgeNotEarnedMessage?: string;\n};\n\nexport class RewardCategoryTileConfig {\n showName: boolean = true;\n rewardCategoryId: string = '';\n artworkUrl: string = '';\n name: string = '';\n}\n\nexport class TierTileConfig {\n progressType: ProgressType = ProgressType.Name;\n pointsMultiplier?: number;\n pointsPrefix?: string;\n pointsSuffix?: string;\n tier?: TierType;\n tierId?: string;\n targetTier?: TierType | undefined;\n type?: TierTileType;\n targetTierAttainingPeriod?: Date | null;\n title: string = '';\n emptyDescription?: string = '';\n emptyArtworkUrl?: string = '';\n pointsToTierPrefix?: string = '';\n pointsToTierSuffix?: string = '';\n locale: string = 'en';\n}\n\nexport type Tile = {\n id: string | null;\n type?: TileType;\n active: boolean;\n createdAt: string | null;\n updatedAt: string | null;\n tileHeight: TileHeight;\n configuration: TileConfig;\n priority: number;\n};\n\nconst getConfigForTileType = (tileType: TileType) => {\n switch (tileType) {\n case TileType.Banner:\n return BannerTileConfig;\n case TileType.Points:\n return PointsTileConfig;\n case TileType.Content:\n return ContentTileConfig;\n case TileType.Reward:\n return RewardTileConfig;\n case TileType.Badge:\n return BadgeTileConfig;\n case TileType.RewardCategory:\n return RewardCategoryTileConfig;\n case TileType.Tier:\n return TierTileConfig;\n default:\n throw new Error(`Tile type ${tileType} is not supported`);\n }\n};\n\nexport type TileConfig = InstanceType<ReturnType<typeof getConfigForTileType>>;\n\nexport type TileSizeInfo = {\n isFullSize: boolean;\n isHalfSize: boolean;\n};\n","import { useCallback } from 'react';\nimport { useWllSdk } from '../context/WllSdkContext';\nimport {\n CTALinkTarget,\n RewardCategoryTileConfig,\n RewardTileConfig,\n Tile,\n TileType,\n} from '../types/tile';\n\nexport const useHandleTilePress = (\n tile: Tile,\n ctaLink?: string | null,\n ctaLinkTarget?: string\n) => {\n const { handleNavigation } = useWllSdk();\n\n return useCallback(() => {\n if (tile?.type === TileType.Reward) {\n const config = tile.configuration as RewardTileConfig;\n if (config?.rewardId) {\n const url = `/reward?id=${config.rewardId}`;\n return handleNavigation(url, CTALinkTarget.sameWindow);\n }\n }\n\n if (tile?.type === TileType.RewardCategory) {\n const config = tile.configuration as RewardCategoryTileConfig;\n const url = `/category?id=${config.rewardCategoryId}`;\n if (config?.rewardCategoryId) {\n return handleNavigation(url, CTALinkTarget.sameWindow);\n }\n }\n\n if (ctaLink) {\n const target =\n (ctaLinkTarget as CTALinkTarget) || CTALinkTarget.sameWindow;\n return handleNavigation(ctaLink, target);\n }\n }, [tile, ctaLink, ctaLinkTarget, handleNavigation]);\n};\n","import React, { createContext, useContext } from 'react';\nimport { Pressable, StyleProp, StyleSheet, ViewStyle } from 'react-native';\nimport { MAX_WIDTH } from '../../../constants';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useHandleTilePress } from '../../../hooks/useHandleTilePress';\nimport { BannerTileConfig, Tile } from '../../../types/tile';\n\nconst BannerContext = createContext<Tile | null>(null);\n\nexport const useBannerContext = () => {\n const context = useContext(BannerContext);\n if (!context) {\n throw new Error('Banner components must be used within a BaseBanner');\n }\n return context;\n};\n\ntype BaseBannerProps = {\n tile: Tile;\n children: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n onPress?: () => void;\n testID?: string;\n disabled?: boolean;\n accessibilityLabel?: string;\n};\n\nconst BaseBanner: React.FC<BaseBannerProps> = ({\n tile,\n children,\n style,\n testID,\n accessibilityLabel,\n}): JSX.Element => {\n const { theme } = useWllSdk();\n const { ctaLink, ctaLinkTarget, title, ctaText } =\n tile.configuration as BannerTileConfig;\n\n const handlePress = useHandleTilePress(tile, ctaLink, ctaLinkTarget);\n const hasCTA = Boolean(ctaText);\n\n return (\n <BannerContext.Provider value={tile}>\n <Pressable\n testID={testID || 'banner-tile'}\n style={({ pressed }) => [\n styles.container,\n style,\n {\n backgroundColor: theme.surface,\n borderRadius: theme.sizes.borderRadiusLg,\n opacity: pressed ? 0.7 : 1,\n },\n ]}\n onPress={hasCTA ? undefined : handlePress}\n disabled={!ctaLink || hasCTA}\n accessible={true}\n role={hasCTA ? 'article' : 'button'}\n accessibilityLabel={\n accessibilityLabel ||\n `${title}${!hasCTA && ctaLink ? ' - Click to open' : ''}`\n }\n >\n {children}\n </Pressable>\n </BannerContext.Provider>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n maxWidth: MAX_WIDTH,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n overflow: 'hidden',\n },\n});\n\nexport default BaseBanner;\n","import { useMemo } from 'react';\nimport { Tile, TileHeight } from '../types/tile';\n\nexport const useTileSize = (tile: Tile) => {\n return useMemo(\n () => ({\n isFullSize: tile.tileHeight === TileHeight.Full,\n isHalfSize: tile.tileHeight === TileHeight.Half,\n }),\n [tile.tileHeight]\n );\n};\n","import React from 'react';\nimport { TextProps, TextStyle } from 'react-native';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { ContentTileConfig } from '../../../types/tile';\nimport Text from '../Text';\nimport { useTileContext } from './index';\n\ntype BaseTileBodyProps = Omit<TextProps, 'style'> & {\n variant?:\n | 'eyebrow'\n | 'title'\n | 'description'\n | 'body'\n | 'caption'\n | 'label'\n | 'tier-requirement'\n | 'tier-earned';\n isSurface?: boolean;\n style?: TextStyle;\n};\n\n/**\n * Renders the body text of a BaseTile component.\n *\n * @param {BaseTileBodyProps} props - Component props including text styling options\n * @returns {JSX.Element|null} The rendered body text or null if conditions for display are not met\n */\nexport const BaseTileBody = (props: BaseTileBodyProps): JSX.Element | null => {\n const tileContext = useTileContext();\n const responsive = useResponsive();\n\n if (!tileContext || !tileContext.configuration || !responsive) return null;\n\n const { isDesktop, isTablet } = responsive;\n const { body, artworkUrl } = tileContext.configuration as ContentTileConfig;\n\n const sizeInfo = useTileSize(tileContext);\n if (!sizeInfo) return null;\n\n const { isHalfSize } = sizeInfo;\n\n // Don't show body for half tiles with image\n if ((isHalfSize && artworkUrl) || !body) return null;\n\n const getNumberOfLines = (): number | undefined => {\n if (!isHalfSize && !artworkUrl) return undefined;\n return isDesktop ? 3 : isTablet ? 4 : 3;\n };\n\n return (\n <Text\n variant=\"body\"\n {...props}\n accessibilityRole=\"text\"\n accessibilityLabel={body}\n numberOfLines={getNumberOfLines()}\n testID=\"tile-body\"\n >\n {body}\n </Text>\n );\n};\n","import { TileSizeInfo } from '../types/tile';\n\n/**\n * Utility function that checks if a component context and its configuration exist.\n * Works for both tile contexts and banner contexts.\n *\n * @param context - The component context to validate (tileContext or bannerContext)\n * @returns `true` if both the context and its configuration exist, otherwise `false`\n */\nexport function isContextValid(context: any): boolean {\n return (\n context !== null &&\n context !== undefined &&\n context.configuration !== null &&\n context.configuration !== undefined\n );\n}\n\n/**\n * Checks if a tile's content should be hidden based on its size and artwork configuration.\n *\n * @param {TileSizeInfo | null} sizeInfo - The size information for the tile\n * @param {string | null | undefined} artworkUrl - The URL of the tile's artwork\n * @returns {boolean} True if the content should be hidden, false otherwise\n */\n\nexport const shouldHideContentForHalfTile = (\n sizeInfo: TileSizeInfo | null,\n artworkUrl?: string | null\n): boolean => {\n if (!sizeInfo) return false;\n return sizeInfo.isHalfSize && !!artworkUrl;\n};\n","import { StyleSheet } from 'react-native';\nimport { useTileContext } from '.';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { ContentTileConfig } from '../../../types/tile';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const baseStyles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n overflow: 'hidden',\n position: 'relative',\n },\n content: {\n display: 'flex',\n },\n media: {\n width: '100%',\n objectFit: 'cover',\n },\n});\n\n/**\n * Custom hook that returns the styles for the BaseTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the BaseTile component\n */\nexport const useBaseTileStyles = () => {\n const tileContext = useTileContext();\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n\n if (!tileContext || !tileContext.configuration) {\n return StyleSheet.create({\n container: baseStyles.container,\n content: baseStyles.content,\n header: {\n marginBottom: 0,\n marginTop: 0,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n media: baseStyles.media,\n });\n }\n\n const sizeInfo = useTileSize(tileContext);\n const isHalfSize = sizeInfo?.isHalfSize || false;\n const { artworkUrl, title, body } =\n tileContext.configuration as ContentTileConfig;\n\n return StyleSheet.create({\n container: {\n ...baseStyles.container,\n backgroundColor: theme.surface,\n aspectRatio: isHalfSize ? 2 : 1,\n borderRadius: useResponsiveValue(\n theme.sizes.borderRadiusLg,\n theme.sizes.borderRadiusSm,\n isDesktop,\n isTablet\n ),\n justifyContent: 'center',\n alignItems: 'center',\n },\n content: {\n ...baseStyles.content,\n justifyContent: 'center',\n height: !artworkUrl ? '100%' : undefined,\n },\n header: {\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n marginTop:\n !isHalfSize && artworkUrl\n ? useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n )\n : undefined,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n textAlign: isHalfSize ? 'center' : undefined,\n },\n media: {\n ...baseStyles.media,\n flexBasis: !isHalfSize && title && body ? '50%' : '100%',\n height: isHalfSize ? '100%' : undefined,\n },\n });\n};\n","import React, { ReactNode } from 'react';\nimport { View } from 'react-native';\n\nimport { useTileContext } from '.';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { WithChildren } from '../../../types/helpers';\nimport { ContentTileConfig } from '../../../types/tile';\nimport {\n isContextValid,\n shouldHideContentForHalfTile,\n} from '../../../utils/contextHelpers';\nimport { baseStyles } from './styles';\n\ntype BaseTileContentProps = WithChildren;\n\n/**\n * Renders the content section of a BaseTile component.\n *\n * @param {BaseTileContentProps} props - Component props\n * @param {ReactNode} props.children - Child elements to render within the content area\n * @returns {JSX.Element|null} The rendered content or null if conditions for display are not met\n */\n\nexport const BaseTileContent = ({\n children,\n}: BaseTileContentProps): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl } = tileContext.configuration as ContentTileConfig;\n\n const sizeInfo = useTileSize(tileContext);\n\n if (!sizeInfo) return null;\n\n if (shouldHideContentForHalfTile(sizeInfo, artworkUrl)) return null;\n\n return (\n <View\n testID=\"tile-content\"\n style={[\n baseStyles.content,\n {\n justifyContent: 'center',\n height: !artworkUrl ? '100%' : undefined,\n },\n ]}\n accessibilityRole=\"none\"\n >\n {children}\n </View>\n );\n};\n","import React, { ReactNode } from 'react';\nimport { View, ViewStyle } from 'react-native';\nimport { useTileContext } from '.';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { WithChildren } from '../../../types/helpers';\nimport { ContentTileConfig } from '../../../types/tile';\nimport {\n isContextValid,\n shouldHideContentForHalfTile,\n} from '../../../utils/contextHelpers';\nimport { useBaseTileStyles } from './styles';\n\ntype BaseTileHeaderProps = WithChildren;\n\n/**\n * Renders the header section of a BaseTile component.\n *\n * @param {BaseTileHeaderProps} props - Component props\n * @param {ReactNode} props.children - Child elements to render within the header\n * @returns {JSX.Element|null} The rendered header or null if conditions for display are not met\n */\nexport const BaseTileHeader = ({\n children,\n}: BaseTileHeaderProps): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl } = tileContext.configuration as ContentTileConfig;\n\n const sizeInfo = useTileSize(tileContext);\n if (!sizeInfo) return null;\n\n if (shouldHideContentForHalfTile(sizeInfo, artworkUrl)) return null;\n\n const dynamicStyles = useBaseTileStyles();\n\n const combinedStyle: ViewStyle = {\n ...dynamicStyles.header,\n marginTop: sizeInfo.isHalfSize ? 0 : dynamicStyles.header.marginTop,\n ...(sizeInfo.isHalfSize ? { alignItems: 'center' } : {}),\n };\n\n return (\n <View style={combinedStyle} testID=\"tile-header\" accessibilityRole=\"header\">\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { ImagePropsNoSource } from '../../../types/common';\nimport { ContentTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport ProgressiveImage from '../ProgressiveImage';\nimport { useTileContext } from './index';\nimport { baseStyles, useBaseTileStyles } from './styles';\n\n/**\n * Renders the media (image) for a BaseTile component.\n *\n * @param {ImagePropsNoSource} props - The image props excluding source\n * @returns {JSX.Element|null} The rendered image or null if no artwork URL is present\n */\nexport const BaseTileMedia = (\n props: ImagePropsNoSource\n): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl, title = '' } =\n tileContext.configuration as ContentTileConfig;\n const styles = useBaseTileStyles();\n\n if (!artworkUrl) return null;\n\n return (\n <ProgressiveImage\n {...props}\n source={{ uri: artworkUrl }}\n testID=\"tile-media\"\n style={[props.style, baseStyles.media, styles.media]}\n alt={`Content image${title ? ` for ${title}` : ''}`}\n accessibilityRole=\"image\"\n />\n );\n};\n","import React from 'react';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { SafeConfig } from '../../../types/helpers';\nimport { ContentTileConfig } from '../../../types/tile';\nimport Icon from '../Icon';\nimport Text from '../Text';\nimport { useTileContext } from './index';\n\ntype SafeTileConfig = SafeConfig<ContentTileConfig, 'title' | 'artworkUrl'>;\n\n/**\n * Renders the title of a BaseTile component.\n *\n * @returns {JSX.Element|null} The rendered title or null if conditions for display are not met\n */\n\nexport const BaseTileTitle = (): JSX.Element | null => {\n const tileContext = useTileContext();\n const sdk = useWllSdk();\n\n if (!tileContext || !tileContext.configuration || !sdk) return null;\n\n const config = tileContext.configuration as SafeTileConfig;\n\n const { title, ctaLink = '', artworkUrl } = config;\n\n const sizeInfo = useTileSize(tileContext);\n if (!sizeInfo) return null;\n\n const { isHalfSize } = sizeInfo;\n\n // Don't show title for half tiles with image\n if ((isHalfSize && artworkUrl) || !title) return null;\n\n return (\n <>\n <Text\n variant=\"title\"\n accessibilityRole=\"header\"\n accessibilityLabel={title}\n numberOfLines={1}\n testID=\"tile-title\"\n >\n {title}\n </Text>\n {ctaLink && (\n <Icon\n name=\"ChevronRight\"\n color={sdk.theme?.derivedSurfaceText?.[20]}\n accessibilityLabel=\"View details\"\n />\n )}\n </>\n );\n};\n","import React, { createContext, useContext } from 'react';\nimport { FlexStyle, Pressable, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useHandleTilePress } from '../../../hooks/useHandleTilePress';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { ContentTileConfig, Tile } from '../../../types/tile';\n\nimport { BaseTileBody } from './base-tile-body';\nimport { BaseTileContent } from './base-tile-content';\nimport { BaseTileHeader } from './base-tile-header';\nimport { BaseTileMedia } from './base-tile-media';\nimport { BaseTileTitle } from './base-tile-title';\n\nimport { WithChildren } from '../../../types/helpers';\nimport { baseStyles, useBaseTileStyles } from './styles';\n\n/**\n * Context to provide the current tile to child components.\n */\nconst TileContext = createContext<Tile | null>(null);\n\n/**\n * Custom hook to access the TileContext.\n *\n * @returns {Tile} The current tile from context\n * @throws {Error} If used outside of a BaseTile\n */\nexport const useTileContext = (): Tile => {\n const context = useContext(TileContext);\n if (!context) {\n throw new Error('Tile components must be used within a BaseTile');\n }\n return context;\n};\n\ntype BaseTileProps = WithChildren & {\n tile: Tile;\n style?: ViewStyle;\n};\n\ntype BaseTileRootProps = WithChildren & {\n style?: ViewStyle;\n};\n\ntype LayoutProps = FlexStyle & {\n justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between';\n};\n\n/**\n * BaseTileContainer component to handle layout and pressable behavior.\n *\n * @param {BaseTileRootProps} props - Component props\n * @returns {JSX.Element} The rendered BaseTileContainer\n */\nconst BaseTileContainer = ({\n children,\n style,\n}: BaseTileRootProps): JSX.Element => {\n const tile = useTileContext();\n const sdk = useWllSdk();\n const sizeInfo = useTileSize(tile);\n\n const isHalfSize = sizeInfo?.isHalfSize || false;\n\n const {\n ctaLink = '',\n ctaLinkTarget,\n title = 'Tile',\n } = tile.configuration as ContentTileConfig;\n\n const theme = sdk?.theme || { surface: '#ffffff' };\n\n const handlePress = useHandleTilePress(tile, ctaLink, ctaLinkTarget);\n\n const layout: LayoutProps = {\n flexDirection: 'column',\n justifyContent: isHalfSize ? 'center' : 'flex-start',\n alignItems: 'stretch',\n };\n\n const dynamicStyles = useBaseTileStyles();\n\n return (\n <Pressable\n style={({ pressed }) => [\n baseStyles.container,\n dynamicStyles.container,\n {\n backgroundColor: theme.surface,\n opacity: pressed ? 0.7 : 1,\n },\n layout,\n style,\n ]}\n onPress={handlePress}\n disabled={\n tile.type !== 'REWARD' && tile.type !== 'REWARD_CATEGORY' && !ctaLink\n }\n accessible\n accessibilityRole=\"button\"\n accessibilityLabel={`${title}${ctaLink ? ' - Click to open' : ''}`}\n accessibilityState={{ disabled: !ctaLink }}\n >\n {children}\n </Pressable>\n );\n};\n\n/**\n * BaseTileRoot component to provide context and render children.\n *\n * @param {BaseTileProps} props - Component props\n * @returns {JSX.Element|null} The rendered BaseTileRoot or null if no tile is provided\n */\nconst BaseTileRoot = ({\n tile,\n children,\n style,\n}: BaseTileProps): JSX.Element | null => {\n if (!tile) {\n console.warn('BaseTile: No tile provided');\n return null;\n }\n\n return (\n <TileContext.Provider value={tile}>\n <BaseTile.Container style={style}>{children}</BaseTile.Container>\n </TileContext.Provider>\n );\n};\n\n/**\n * BaseTile component with subcomponents attached.\n */\nexport const BaseTile = Object.assign(BaseTileRoot, {\n Container: BaseTileContainer,\n Media: BaseTileMedia,\n Content: BaseTileContent,\n Header: BaseTileHeader,\n Title: BaseTileTitle,\n Body: BaseTileBody,\n});\n\nexport default BaseTile;\n","/* istanbul ignore file */\nimport React from 'react';\nimport { StyleSheet, Text, View } from 'react-native';\nimport { useResponsive } from '../../../hooks/useResponsive';\n\nconst Indicator = (): JSX.Element => {\n const { isDesktop, isTablet } = useResponsive();\n\n const getCurrentLayout = () => {\n if (isDesktop) return 'Desktop Layout';\n if (isTablet) return 'Tablet Layout';\n return 'Mobile Layout';\n };\n\n return (\n <View style={styles.indicator}>\n <Text style={styles.indicatorText}>{getCurrentLayout()}</Text>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n indicator: {\n position: 'absolute',\n top: 10,\n right: 10,\n backgroundColor: 'red',\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 4,\n },\n indicatorText: {\n color: 'white',\n fontSize: 12,\n fontWeight: 'bold',\n },\n});\n\nexport default Indicator;\n","export const GRID_GAP = 16;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { Animated, StyleSheet, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\n\ntype SkeletonTileProps = {\n style?: ViewStyle;\n};\n\nconst SkeletonTile = ({ style }: SkeletonTileProps): JSX.Element => {\n const { theme } = useWllSdk();\n const animatedValue = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const pulseAnimation = Animated.loop(\n Animated.sequence([\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 1000,\n useNativeDriver: true,\n }),\n Animated.timing(animatedValue, {\n toValue: 0,\n duration: 1000,\n useNativeDriver: true,\n }),\n ])\n );\n\n pulseAnimation.start();\n\n return () => pulseAnimation.stop();\n }, [animatedValue]);\n\n const opacity = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0.3, 0.7],\n });\n\n return (\n <Animated.View\n style={[\n styles.container,\n {\n opacity,\n backgroundColor: theme.alphaDerivedText[20],\n borderRadius: theme.sizes.borderRadiusLg,\n },\n style,\n ]}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n aspectRatio: 1,\n overflow: 'hidden',\n width: 1000 / 4,\n },\n});\n\nexport default SkeletonTile;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { Animated, StyleSheet, View, ViewStyle } from 'react-native';\nimport { MAX_WIDTH } from '../../../constants';\nimport { GRID_GAP } from '../../../constants/grid';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport SkeletonTile from '../SkeletonTile';\n\ntype SkeletonProps = {\n width?: number | `${number}%`;\n height?: number | `${number}%`;\n borderRadius?: number;\n style?: ViewStyle;\n numberOfSquares?: number;\n};\n\nconst Skeleton = ({\n style,\n numberOfSquares = 4,\n}: SkeletonProps): JSX.Element => {\n const { theme } = useWllSdk();\n const animatedValue = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const pulseAnimation = Animated.loop(\n Animated.sequence([\n Animated.timing(animatedValue, {\n toValue: 1,\n duration: 1000,\n useNativeDriver: true,\n }),\n Animated.timing(animatedValue, {\n toValue: 0,\n duration: 1000,\n useNativeDriver: true,\n }),\n ])\n );\n\n pulseAnimation.start();\n\n return () => pulseAnimation.stop();\n }, [animatedValue]);\n\n const opacity = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0.3, 0.7],\n });\n\n return (\n <View testID=\"loading-skeleton\">\n <Animated.View\n style={[\n styles.skeleton,\n styles.title,\n {\n opacity,\n backgroundColor: theme.alphaDerivedText[20],\n borderRadius: 6,\n },\n ]}\n />\n <Animated.View\n style={[\n styles.skeleton,\n styles.body,\n {\n opacity,\n backgroundColor: theme.alphaDerivedText[20],\n borderRadius: 6,\n },\n ]}\n />\n <Animated.View style={[styles.container, style]}>\n {Array.from({ length: numberOfSquares }).map((_, index) => (\n <SkeletonTile key={index} />\n ))}\n </Animated.View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: GRID_GAP,\n justifyContent: 'space-between',\n width: '100%',\n maxWidth: MAX_WIDTH,\n },\n title: {\n height: 40,\n marginBottom: 10,\n width: 300,\n },\n body: {\n height: 25,\n width: '85%',\n marginBottom: 24,\n },\n skeleton: {\n overflow: 'hidden',\n },\n square: {\n width: 1000 / 4,\n aspectRatio: 1,\n },\n});\n\nexport default Skeleton;\n","/* istanbul ignore file */\nimport React, { useEffect, useState } from 'react';\nimport { Text, View } from 'react-native';\nimport { useWllSdk } from '../../context/WllSdkContext';\nimport { Tile } from '../../types/tile';\nimport { commonStyles } from '../../utils/styling';\nimport SkeletonTile from '../atoms/SkeletonTile';\n\nexport type WithTileFetchingProps = {\n tile?: Tile;\n tileId?: string;\n};\n\nexport function withTileFetching<P extends { tile: Tile }>(\n WrappedComponent: React.ComponentType<P>\n) {\n return function WithTileFetchingComponent(\n props: Omit<P, 'tile'> & WithTileFetchingProps\n ) {\n const { tile, tileId } = props;\n const { getTileByID } = useWllSdk();\n const [tileData, setTileData] = useState<Tile | null>(tile || null);\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (tile) {\n setTileData(tile);\n } else if (tileId) {\n const fetchTile = async () => {\n setIsLoading(true);\n try {\n const response = await getTileByID(tileId);\n if (response.status === 'success' && response.data) {\n setTileData(response.data);\n } else {\n setError(response.error || 'Failed to fetch tile');\n }\n } catch (err) {\n setError(\n err instanceof Error ? err.message : 'Failed to fetch tile'\n );\n } finally {\n setIsLoading(false);\n }\n };\n fetchTile();\n }\n }, [tile, tileId, getTileByID]);\n\n if (isLoading) {\n return <SkeletonTile style={{ width: '100%' }} />;\n }\n\n if (error || !tileData) {\n return (\n <View style={commonStyles.emptyContainer}>\n <Text>No tile data available</Text>\n </View>\n );\n }\n\n return <WrappedComponent {...(props as P)} tile={tileData} />;\n };\n}\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the BadgeTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the BadgeTile component\n */\n\nexport const useBadgeTileStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n return StyleSheet.create({\n container: {\n flex: 1,\n },\n indicatorContainer: {\n position: 'absolute',\n bottom: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n right: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n backgroundColor: 'rgba(0,0,0,0.6)',\n borderRadius: 40,\n width: 40,\n alignItems: 'center',\n justifyContent: 'center',\n height: 40,\n },\n countText: {\n color: '#FFF',\n fontSize: 14,\n fontWeight: 'bold',\n },\n header: {\n flexBasis: '50%',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n marginBottom: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n image: {\n width: '100%',\n height: '100%',\n },\n titleText: {\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n },\n dateEarnedContainer: {\n alignItems: 'flex-start',\n paddingHorizontal: 8,\n paddingVertical: 4,\n borderRadius: 20,\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport {\n getReadableTextColor,\n getStateColor,\n} from '../../../utils/themeHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useBadgeTileStyles } from './styles';\n\n/**\n * Renders the date earned for a Badge Tile.\n *\n * @returns JSX.Element or null if badge is not earned or badgeNotEarnedMessage exists\n */\n\nexport const BadgeTileDateEarned = (): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n const { theme } = useWllSdk();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, awardedDatePrefix, createdAt, badgeNotEarnedMessage, type } =\n tileContext.configuration as BadgeTileConfig;\n\n // Don't show for Latest type with count=0\n if (type === BadgeTileType.Latest && count === 0) {\n return null;\n }\n\n // For Specific type, only show if count > 0 or badgeNotEarnedMessage exists\n if (\n type === BadgeTileType.Specific &&\n count === 0 &&\n !badgeNotEarnedMessage\n ) {\n return null;\n }\n\n const backgroundColor = getStateColor(\n theme.alphaDerivedPrimary[20],\n type,\n count\n );\n const containerStyle = [styles.dateEarnedContainer, { backgroundColor }];\n const textColor = getReadableTextColor(backgroundColor);\n\n const displayText =\n count === 0\n ? badgeNotEarnedMessage\n : `${awardedDatePrefix} ${new Date(createdAt).toLocaleDateString()}`;\n\n const accessibilityLabel =\n count === 0\n ? 'Badge not yet earned'\n : `Badge earned on ${new Date(createdAt).toLocaleDateString()}`;\n\n return (\n <View\n style={containerStyle}\n accessible\n accessibilityLabel={accessibilityLabel}\n testID=\"badge-tile-date-earned\"\n >\n <Text\n variant=\"label\"\n style={[styles.dateEarnedText, { color: textColor }]}\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {displayText}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the description for a Badge Tile.\n *\n * @returns JSX.Element or null if description is not present\n */\n\nexport const BadgeTileDescription = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, description, type } =\n tileContext.configuration as BadgeTileConfig;\n\n if (!description) return null;\n\n // For Latest type, hide description when count = 0\n // For Specific type, always show description\n if (count === 0 && type === BadgeTileType.Latest) return null;\n\n return (\n <View\n accessible\n accessibilityLabel={`Badge description: ${description}`}\n testID=\"badge-tile-description\"\n >\n <Text\n variant=\"body\"\n numberOfLines={2}\n ellipsizeMode=\"tail\"\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {description}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { shouldDesaturate } from '../../../utils/themeHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useBadgeTileStyles } from './styles';\n\nexport type BadgeTileMediaProps = {\n children?: React.ReactNode;\n alt?: string;\n} & Omit<React.ComponentProps<typeof ProgressiveImage>, 'source' | 'alt'>;\n/**\n * Renders the media for a Badge Tile.\n *\n * @returns JSX.Element or null if media is not present\n */\n\nexport const BadgeTileMedia = ({\n children,\n alt,\n ...props\n}: BadgeTileMediaProps): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, artworkUrl, emptyBadgeArtworkUrl, type, name } =\n tileContext.configuration as BadgeTileConfig;\n\n const displayUrl =\n type === BadgeTileType.Specific\n ? artworkUrl\n : count === 0\n ? emptyBadgeArtworkUrl\n : artworkUrl;\n\n if (!displayUrl) return null;\n\n return (\n <View style={styles.header} testID=\"badge-tile-media\">\n <ProgressiveImage\n {...props}\n source={{ uri: displayUrl }}\n style={styles.image}\n resizeMode=\"contain\"\n isDesaturated={shouldDesaturate(type, count)}\n alt={\n alt ??\n `Badge ${name}${type === BadgeTileType.Latest && count === 0 ? ' (not earned)' : ''}`\n }\n />\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport Icon from '../../atoms/Icon';\nimport { useBadgeTileStyles } from './styles';\n\n/**\n * Renders the status for a Badge Tile.\n *\n * @returns JSX.Element or null if badge is not earned or badgeNotEarnedMessage exists\n */\n\nexport const BadgeTileStatus = (): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, type } = tileContext.configuration as BadgeTileConfig;\n\n if (type !== BadgeTileType.Specific || count === 1) {\n return null;\n }\n\n const isLocked = count === 0;\n const statusLabel = isLocked ? 'Badge locked' : `Earned ${count} times`;\n\n return (\n <View\n style={styles.indicatorContainer}\n accessible\n accessibilityLabel={statusLabel}\n testID=\"badge-tile-status\"\n >\n {isLocked ? (\n <Icon\n name=\"LockKeyhole\"\n testID=\"badge-tile-status-locked\"\n color=\"#FFF\"\n size={20}\n accessibilityElementsHidden={true}\n />\n ) : (\n <Text\n style={styles.countText}\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {count}x\n </Text>\n )}\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { BadgeTileConfig, BadgeTileType } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useBadgeTileStyles } from './styles';\n\n/**\n * Renders the title for a Badge Tile.\n *\n * @returns JSX.Element or null if name is not present\n */\n\nexport const BadgeTileTitle = (): JSX.Element | null => {\n const styles = useBadgeTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { count, name, emptyBadgeMessage, type } =\n tileContext.configuration as BadgeTileConfig;\n\n const displayText =\n type === BadgeTileType.Specific\n ? name\n : count === 0\n ? emptyBadgeMessage\n : name;\n\n if (!displayText) return null;\n\n return (\n <View\n accessible\n accessibilityLabel={`Badge title: ${displayText}`}\n testID=\"badge-tile-title\"\n >\n <Text\n variant=\"title\"\n style={styles.titleText}\n numberOfLines={count === 0 ? 2 : 1}\n ellipsizeMode=\"tail\"\n accessibilityElementsHidden={true}\n importantForAccessibility=\"no-hide-descendants\"\n >\n {displayText}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { Tile, TileHeight } from '../../../types/tile';\nimport { BaseTile, Layout, Spacer } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { BadgeTileDateEarned } from './badge-tile-date-earned';\nimport { BadgeTileDescription } from './badge-tile-description';\nimport { BadgeTileMedia } from './badge-tile-media';\nimport { BadgeTileStatus } from './badge-tile-status';\nimport { BadgeTileTitle } from './badge-tile-title';\n\ntype BadgeTileProps = {\n tile: Tile;\n};\n\n/**\n * The main BadgeTile component.\n * @returns JSX.Element or null if tile is not active or tileHeight is not full.\n * This component renders a badge tile with optional media, status, title, description, and date earned.\n */\n\nconst BadgeTileRoot = ({ tile }: BadgeTileProps): JSX.Element | null => {\n if (!tile || tile.tileHeight !== TileHeight.Full || !tile.active) return null;\n\n return (\n <BaseTile tile={tile}>\n <BadgeTile.Media>\n <BadgeTile.Status />\n </BadgeTile.Media>\n\n <Layout justify=\"between\" align=\"start\">\n <BadgeTile.Title />\n <BadgeTile.Description />\n <Spacer />\n <BadgeTile.DateEarned />\n </Layout>\n </BaseTile>\n );\n};\n\n/**\n * The BadgeTile component with subcomponents attached.\n */\n\nexport const BadgeTile = Object.assign(BadgeTileRoot, {\n Media: BadgeTileMedia,\n Title: BadgeTileTitle,\n Description: BadgeTileDescription,\n DateEarned: BadgeTileDateEarned,\n Status: BadgeTileStatus,\n});\n\nexport default withTileFetching(BadgeTile);\n","import React from 'react';\nimport { useHandleTilePress } from '../../../hooks/useHandleTilePress';\nimport { BannerTileConfig, CTALinkTarget } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Button } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\n\n/**\n * Renders the call to action of a Banner Tile.\n *\n * @returns JSX.Element or null if no text or required props are present\n */\n\nexport const BannerTileCTA = (): JSX.Element | null => {\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const {\n ctaText = '',\n ctaLink = '',\n ctaLinkTarget,\n } = bannerContext.configuration as BannerTileConfig;\n\n if (!ctaText || !ctaLink) return null;\n\n const handlePress = useHandleTilePress(bannerContext, ctaLink, ctaLinkTarget);\n\n const hint = ctaLink\n ? ctaLinkTarget === CTALinkTarget.newWindow\n ? `Opens ${ctaLink} in a new window`\n : `Takes you to ${ctaLink}`\n : '';\n\n return (\n <Button\n testID=\"banner-tile-cta\"\n title={ctaText}\n variant=\"accent\"\n onPress={handlePress}\n accessibilityHint={hint}\n />\n );\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the BannerTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the BannerTile component\n */\n\nexport const useBannerTileStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n slideContent: {\n flex: 1,\n },\n mediaContainer: {\n aspectRatio: 1,\n position: 'relative',\n overflow: 'hidden',\n marginRight: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n maxHeight: useResponsiveValue(253, 120, isDesktop, isTablet),\n minHeight: 120,\n },\n media: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n title: {\n fontSize: useResponsiveValue(\n theme.sizes.xxxl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n fontWeight: '700',\n },\n description: {\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.xs,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.xxxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n color: theme.derivedSurfaceText[20],\n },\n });\n};\n","import React from 'react';\nimport { BannerTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\nimport { useBannerTileStyles } from './styles';\n\n/**\n * Renders the description text of a Banner Tile.\n *\n * @returns JSX.Element or null if no description is present\n */\n\nexport const BannerTileDescription = (): JSX.Element | null => {\n const styles = useBannerTileStyles();\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const { description } = bannerContext.configuration as BannerTileConfig;\n\n if (!description) return null;\n\n return (\n <Text\n style={styles.description}\n accessibilityRole=\"text\"\n accessibilityLabel={description}\n testID=\"banner-tile-description\"\n >\n {description}\n </Text>\n );\n};\n","import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport { BannerTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\nimport { useBannerTileStyles } from './styles';\n\ntype BannerTileMediaProps = {\n isArtworkOnly: boolean;\n};\n\n// Extends ViewStyle to support percentage strings for width values, which React Native accepts at runtime but TypeScript doesn't type correctly\ntype ResponsiveViewStyle = StyleProp<ViewStyle> & {\n width?: string | number;\n};\n\n/**\n * Renders the media of a Banner Tile.\n *\n * @returns JSX.Element or null if no media is present\n */\n\nexport const BannerTileMedia = ({\n isArtworkOnly,\n}: BannerTileMediaProps): JSX.Element | null => {\n const styles = useBannerTileStyles();\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const { artworkUrl, title } = bannerContext.configuration as BannerTileConfig;\n\n if (!artworkUrl) return null;\n\n const containerStyle: ResponsiveViewStyle = {\n width: isArtworkOnly ? '100%' : '30%',\n };\n\n return (\n <View\n style={[styles.mediaContainer, containerStyle]}\n accessibilityRole=\"image\"\n accessibilityLabel={`Banner image${title ? ` for ${title}` : ''}`}\n testID=\"banner-tile-media\"\n >\n <ProgressiveImage\n source={{ uri: artworkUrl }}\n style={styles.media}\n alt={`Banner image${title ? ` for ${title}` : ''}`}\n />\n </View>\n );\n};\n","import React from 'react';\nimport { BannerTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useBannerContext } from '../../atoms/BaseBanner';\nimport { useBannerTileStyles } from './styles';\n\n/**\n * Renders the title of a Banner Tile.\n *\n * @returns JSX.Element or null if no title is present\n */\n\nexport const BannerTileTitle = (): JSX.Element | null => {\n const styles = useBannerTileStyles();\n const bannerContext = useBannerContext();\n\n if (!isContextValid(bannerContext)) return null;\n\n const { title } = bannerContext.configuration as BannerTileConfig;\n\n if (!title) return null;\n\n return (\n <Text\n variant=\"title\"\n testID=\"banner-tile-title\"\n style={styles.title}\n accessibilityRole=\"header\"\n accessibilityLabel={title}\n >\n {title}\n </Text>\n );\n};\n","import React from 'react';\nimport BaseBanner from '../../../components/atoms/BaseBanner';\nimport { BannerTileConfig, Tile } from '../../../types/tile';\nimport { FullFlex } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { BannerTileCTA } from './banner-tile-cta';\nimport { BannerTileDescription } from './banner-tile-description';\nimport { BannerTileMedia } from './banner-tile-media';\nimport { BannerTileTitle } from './banner-tile-title';\n\ntype BannerTileProps = {\n tile: Tile;\n};\n\n/**\n * Helper function to determine if the tile is artwork-only.\n *\n * @param configuration - The configuration object of the tile.\n * @returns `true` if the tile has no title, description, or CTA text.\n */\n\nconst isArtworkOnly = (configuration?: BannerTileConfig): boolean => {\n if (!configuration) return true;\n\n return (\n !configuration.title && !configuration.description && !configuration.ctaText\n );\n};\n\n/**\n * The main BannerTile component.\n *\n * This component renders a banner tile with optional media, title, description, and CTA.\n *\n * @param {BannerTileProps} props - Component props\n * @returns {JSX.Element | null} Rendered component or null if tile is inactive\n */\n\nconst BannerTileRoot = ({ tile }: BannerTileProps): JSX.Element | null => {\n if (!tile || !tile.active || !tile.configuration) return null;\n\n const configuration = tile.configuration as BannerTileConfig;\n\n return (\n <BaseBanner tile={tile}>\n <BannerTile.Media isArtworkOnly={isArtworkOnly(configuration)} />\n <FullFlex>\n <BannerTile.Title />\n <BannerTile.Description />\n <BannerTile.CTA />\n </FullFlex>\n </BaseBanner>\n );\n};\n\n/**\n * The BannerTile component with subcomponents attached.\n */\n\nexport const BannerTile = Object.assign(BannerTileRoot, {\n Media: BannerTileMedia,\n Title: BannerTileTitle,\n Description: BannerTileDescription,\n CTA: BannerTileCTA,\n});\n\nexport default withTileFetching(BannerTile);\n","import React from 'react';\nimport { BaseTile } from '../../atoms';\n\nexport const ContentTileBody = (): JSX.Element => <BaseTile.Body />;\n","import React from 'react';\nimport { WithChildren } from '../../../types/helpers';\nimport { BaseTile } from '../../atoms';\n\nexport const ContentTileContainer = ({\n children,\n}: WithChildren): JSX.Element => (\n <BaseTile.Container>{children}</BaseTile.Container>\n);\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the ContentTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the ContentTile component\n */\nexport const useContentTileStyles = (): ReturnType<\n typeof StyleSheet.create\n> => {\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n\n return StyleSheet.create({\n content: {\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n flex: 1,\n justifyContent: 'center',\n },\n media: {\n width: '100%',\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { WithChildren } from '../../../types/helpers';\nimport { BaseTile } from '../../atoms';\nimport { useContentTileStyles } from './styles';\n\nexport const ContentTileContent = ({ children }: WithChildren): JSX.Element => {\n const styles = useContentTileStyles();\n return (\n <BaseTile.Content>\n <View style={styles.content}>{children}</View>\n </BaseTile.Content>\n );\n};\n","import React from 'react';\nimport { ContentTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { BaseTile } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\nexport const ContentTileHeader = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { title } = tileContext.configuration as ContentTileConfig;\n\n if (!title) return null;\n\n return (\n <BaseTile.Header>\n <BaseTile.Title />\n </BaseTile.Header>\n );\n};\n","import React from 'react';\nimport { ImageStyle } from 'react-native';\nimport { BaseTile } from '../../atoms';\nimport { useContentTileStyles } from './styles';\n\nexport const ContentTileMedia = (): JSX.Element => {\n const styles = useContentTileStyles();\n return <BaseTile.Media style={styles.media as ImageStyle} />;\n};\n","import React from 'react';\nimport { Tile } from '../../../types/tile';\nimport BaseTile from '../../atoms/BaseTile';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { ContentTileBody } from './content-tile-body';\nimport { ContentTileContainer } from './content-tile-container';\nimport { ContentTileContent } from './content-tile-content';\nimport { ContentTileHeader } from './content-tile-header';\nimport { ContentTileMedia } from './content-tile-media';\n\ntype ContentTileProps = {\n tile: Tile;\n};\n\n/**\n * The ContentTile component renders a tile with a container, media, content, header, and body.\n *\n * @param tile - The tile data to render.\n */\nconst ContentTileRoot = ({ tile }: ContentTileProps): JSX.Element | null => {\n if (!tile || !tile.active) return null;\n\n return (\n <BaseTile tile={tile}>\n <ContentTile.Container>\n <ContentTile.Media />\n <ContentTile.Content>\n <ContentTile.Header />\n <ContentTile.Body />\n </ContentTile.Content>\n </ContentTile.Container>\n </BaseTile>\n );\n};\n\n/**\n * The ContentTile component with subcomponents attached.\n */\nexport const ContentTile = Object.assign(ContentTileRoot, {\n Container: ContentTileContainer,\n Media: ContentTileMedia,\n Content: ContentTileContent,\n Header: ContentTileHeader,\n Body: ContentTileBody,\n});\n\nexport default withTileFetching(ContentTile);\n","import { Tile } from '../types/tile';\n\n/**\n * Sorts tiles by priority (higher priority first) and maintains original order for equal priorities\n * @param tiles Array of tiles to sort\n * @returns Sorted array of tiles\n */\nexport const sortByPriority = <T extends Pick<Tile, 'priority'>>(\n tiles: T[]\n): T[] => {\n return [...tiles].sort((a, b) => {\n // Sort by priority (higher priority first)\n if (a.priority !== b.priority) {\n return b.priority - a.priority;\n }\n // If priorities are equal, maintain original order\n return tiles.indexOf(a) - tiles.indexOf(b);\n });\n};\n","import { Tile } from './tile';\n\nexport enum SectionType {\n Grid = 'GRID',\n Banner = 'BANNER',\n}\n\nexport type TSection = {\n id: string;\n name: string;\n type: SectionType;\n createdAt: string;\n updatedAt: string;\n title?: string;\n description?: string;\n tiles: Tile[];\n pointsMultiplier?: number;\n pointsPrefix?: string | null;\n pointsSuffix?: string | null;\n priority: number;\n active: boolean;\n details?: [];\n defaultLocale: string;\n locale: string;\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useSectionHeaderStyles = (): ReturnType<\n typeof StyleSheet.create\n> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n sectionHeader: {\n marginBottom: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n sectionTitle: {\n fontSize: useResponsiveValue(\n theme.sizes.xxxl,\n theme.sizes.xl,\n isDesktop,\n isTablet\n ),\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n fontWeight: '700',\n color: theme.text,\n },\n sectionDescription: {\n fontSize: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n color: theme.alphaDerivedText[80],\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport Text from '../../atoms/Text';\nimport { useSectionHeaderStyles } from './styles';\n\ntype SectionHeaderProps = {\n title?: string;\n description?: string;\n};\n\nconst SectionHeader = ({\n title,\n description,\n}: SectionHeaderProps): JSX.Element | null => {\n const styles = useSectionHeaderStyles();\n const { theme } = useWllSdk();\n\n if (!title) {\n return null;\n }\n\n return (\n <View style={styles.sectionHeader}>\n {title && (\n <Text\n style={[\n styles.sectionTitle,\n {\n fontWeight: '700',\n color: theme.text,\n },\n ]}\n >\n {title}\n </Text>\n )}\n {description && (\n <Text\n style={[\n styles.sectionDescription,\n {\n color: theme.alphaDerivedText[80],\n },\n ]}\n >\n {description}\n </Text>\n )}\n </View>\n );\n};\n\nexport default SectionHeader;\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useCarouselStyles = (\n buttonSize = 42\n): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n container: {\n width: '100%',\n flex: 1,\n },\n sectionTitle: {\n fontSize: 31,\n marginBottom: 10,\n },\n sectionDescription: {\n marginBottom: 21,\n },\n title: {\n marginBottom: 10,\n },\n description: {\n marginBottom: 20,\n },\n carouselContainer: {\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n carouselContent: {\n width: '100%',\n overflow: 'hidden',\n },\n slideContainer: {\n width: '100%',\n },\n navButton: {\n position: 'absolute',\n top: '50%',\n transform: [{ translateY: -buttonSize / 2 }],\n width: buttonSize,\n height: buttonSize,\n borderRadius: buttonSize / 2,\n backgroundColor: theme.background,\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 1,\n },\n navButtonLeft: {\n left: -buttonSize / 2,\n },\n navButtonRight: {\n right: -buttonSize / 2,\n backgroundColor: theme.surface,\n },\n indicators: {\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n },\n indicator: {\n width: 8,\n height: 8,\n borderRadius: 8,\n marginHorizontal: 4,\n backgroundColor: theme.derivedBackground,\n },\n activeIndicator: {\n backgroundColor: theme.primary,\n },\n });\n};\n","import React, { useCallback, useRef } from 'react';\nimport {\n Animated,\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n StyleSheet,\n View,\n Pressable,\n useWindowDimensions,\n} from 'react-native';\nimport { BUTTON_SIZE } from '../../../constants';\nimport { useResponsive } from '../../../context/ResponsiveContext';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { TSection } from '../../../types/section';\nimport { Tile, TileType } from '../../../types/tile';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { Icon } from '../../atoms';\nimport { BannerTile } from '../../organisms';\nimport SectionHeader from '../SectionHeader';\nimport { useCarouselStyles } from './styles';\n\ntype CarouselProps = {\n section?: TSection;\n};\n\ntype CarouselState = {\n currentIndex: number;\n containerWidth: number;\n};\n\ntype CarouselAction =\n | { type: 'SET_CONTAINER_WIDTH'; payload: number }\n | { type: 'SET_CURRENT_INDEX'; payload: number }\n | { type: 'PREV_SLIDE' }\n | { type: 'NEXT_SLIDE'; maxIndex: number };\n\nconst initialState: CarouselState = {\n currentIndex: 0,\n containerWidth: 0,\n};\n\nconst carouselReducer = (\n state: CarouselState,\n action: CarouselAction\n): CarouselState => {\n switch (action.type) {\n case 'SET_CONTAINER_WIDTH':\n return { ...state, containerWidth: action.payload };\n case 'SET_CURRENT_INDEX':\n return { ...state, currentIndex: action.payload };\n case 'PREV_SLIDE':\n return { ...state, currentIndex: Math.max(0, state.currentIndex - 1) };\n case 'NEXT_SLIDE':\n return {\n ...state,\n currentIndex: Math.min(action.maxIndex, state.currentIndex + 1),\n };\n default:\n return state;\n }\n};\n\nconst Carousel = ({ section }: CarouselProps): JSX.Element | null => {\n if (!section) return null;\n const { width: WINDOW_WIDTH } = useWindowDimensions();\n const containerRef = useRef<View>(null);\n const styles = useCarouselStyles(BUTTON_SIZE);\n const animatedIndex = useRef(new Animated.Value(0)).current;\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n const scrollViewRef = useRef<ScrollView>(null);\n\n const [state, dispatch] = React.useReducer(carouselReducer, {\n ...initialState,\n containerWidth: WINDOW_WIDTH,\n });\n\n const { currentIndex, containerWidth } = state;\n\n const sortedTiles = sortByPriority(\n section.tiles.filter((tile: Tile) => tile.type === TileType.Banner)\n );\n\n const handleScroll = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffsetX = event.nativeEvent.contentOffset.x;\n const newIndex = contentOffsetX / containerWidth;\n animatedIndex.setValue(newIndex);\n },\n [containerWidth, animatedIndex]\n );\n\n const handleScrollEnd = useCallback(\n (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffsetX = event.nativeEvent.contentOffset.x;\n const newIndex = Math.round(contentOffsetX / containerWidth);\n dispatch({ type: 'SET_CURRENT_INDEX', payload: newIndex });\n },\n [containerWidth]\n );\n\n const handlePrev = () => {\n dispatch({ type: 'PREV_SLIDE' });\n scrollViewRef.current?.scrollTo({\n x: (currentIndex - 1) * containerWidth,\n animated: true,\n });\n };\n\n const handleNext = () => {\n dispatch({ type: 'NEXT_SLIDE', maxIndex: sortedTiles.length - 1 });\n scrollViewRef.current?.scrollTo({\n x: (currentIndex + 1) * containerWidth,\n animated: true,\n });\n };\n\n const displayControls = sortedTiles.length > 1;\n const showPrevButton = displayControls && currentIndex > 0;\n const showNextButton =\n displayControls && currentIndex < sortedTiles.length - 1;\n\n const dynamicStyles = StyleSheet.create({\n indicators: {\n flexDirection: 'row',\n justifyContent: 'center',\n marginTop: useResponsiveValue(\n theme.sizes.xxl,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n },\n });\n\n return (\n <>\n <SectionHeader title={section.title} description={section.description} />\n <View\n ref={containerRef}\n style={styles.container}\n onLayout={(event) => {\n const { width } = event.nativeEvent.layout;\n dispatch({ type: 'SET_CONTAINER_WIDTH', payload: width });\n }}\n >\n <View style={styles.carouselContainer}>\n {showPrevButton && (\n <Pressable\n style={[\n styles.navButton,\n styles.navButtonLeft,\n { backgroundColor: theme.background },\n ]}\n onPress={handlePrev}\n accessibilityLabel=\"Previous slide\"\n role=\"button\"\n >\n <Icon name=\"ArrowLeft\" size={20} color={theme.primary} />\n </Pressable>\n )}\n <ScrollView\n ref={scrollViewRef}\n horizontal\n pagingEnabled\n showsHorizontalScrollIndicator={false}\n onScroll={handleScroll}\n onMomentumScrollEnd={handleScrollEnd}\n scrollEventThrottle={16}\n style={[styles.carouselContent]}\n contentContainerStyle={{\n width: containerWidth * sortedTiles.length,\n }}\n decelerationRate=\"fast\"\n snapToInterval={containerWidth}\n snapToAlignment=\"start\"\n >\n {sortedTiles.map((tile: Tile, index: number) => (\n <View\n key={index}\n style={[\n styles.slideContainer,\n {\n width: containerWidth,\n },\n ]}\n >\n <BannerTile tile={tile} />\n </View>\n ))}\n </ScrollView>\n {showNextButton && (\n <Pressable\n style={[\n styles.navButton,\n styles.navButtonRight,\n { backgroundColor: theme.background },\n ]}\n onPress={handleNext}\n accessibilityLabel=\"Next slide\"\n role=\"button\"\n >\n <Icon name=\"ArrowRight\" size={20} color={theme.primary} />\n </Pressable>\n )}\n </View>\n {displayControls && (\n <View style={dynamicStyles.indicators}>\n {sortedTiles.map((_, index) => {\n const width = animatedIndex.interpolate({\n inputRange: [index - 1, index, index + 1],\n outputRange: [8, 30, 8],\n extrapolate: 'clamp',\n });\n return (\n <Animated.View\n key={index}\n style={[\n styles.indicator,\n { backgroundColor: theme.derivedBackground, width },\n index === currentIndex && {\n backgroundColor: theme.primary,\n },\n ]}\n />\n );\n })}\n </View>\n )}\n </View>\n </>\n );\n};\n\nexport default Carousel;\n","import React, { useCallback, useMemo } from 'react';\nimport { StyleSheet, View, ViewStyle } from 'react-native';\nimport { IS_WEB, SCREEN_WIDTH } from '../../../constants/device';\nimport { GRID_GAP } from '../../../constants/grid';\nimport { useResponsive } from '../../../context/ResponsiveContext';\nimport { SectionType, TSection } from '../../../types/section';\nimport { Tile, TileHeight, TileType } from '../../../types/tile';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { TileContainer } from '../../atoms';\nimport { SectionHeader } from '../../molecules';\n\ntype GridProps = {\n section: TSection;\n};\n\nconst Grid = ({ section }: GridProps) => {\n if (section.type !== SectionType.Grid) {\n return null;\n }\n\n const { isDesktop } = useResponsive();\n const columnsPerRow = isDesktop ? 4 : 2;\n\n const gridTiles = useMemo(() => {\n return sortByPriority(\n section.tiles.filter((tile) => tile.type !== TileType.Banner)\n );\n }, [section.tiles]);\n\n const getTileWidth = useCallback((columns: number) => {\n if (IS_WEB) {\n return {\n width: `calc(${100 / columns}% - ${((columns - 1) * GRID_GAP) / columns}px)`,\n marginBottom: GRID_GAP,\n height: 'auto',\n };\n } else {\n const tileWidth = (SCREEN_WIDTH - (columns - 1) * GRID_GAP) / columns;\n return {\n width: tileWidth,\n marginBottom: GRID_GAP,\n height: 'auto',\n };\n }\n }, []);\n\n const renderTileContainers = useCallback(() => {\n const tileContainers: JSX.Element[] = [];\n let currentTiles: Tile[] = [];\n\n const sortedTiles = sortByPriority(gridTiles);\n\n sortedTiles.forEach((tile, index) => {\n currentTiles.push(tile);\n const nextTile = sortedTiles[index + 1];\n\n const shouldStartNewContainer = (\n currentTiles: Tile[],\n currentTile: Tile,\n nextTile?: Tile\n ) => {\n if (currentTiles.length === 2) return true;\n if (currentTile.tileHeight === TileHeight.Full) return true;\n if (currentTile.tileHeight === TileHeight.Half) {\n if (!nextTile) return true;\n if (nextTile.tileHeight === TileHeight.Full) return true;\n if (currentTiles.length === 0) return false;\n if (\n currentTiles.length === 1 &&\n currentTiles[0].tileHeight === TileHeight.Half &&\n nextTile.tileHeight === TileHeight.Half\n ) {\n return false;\n }\n }\n return true;\n };\n\n if (shouldStartNewContainer(currentTiles, tile, nextTile)) {\n const isLastInRow = (tileContainers.length + 1) % columnsPerRow === 0;\n\n tileContainers.push(\n <View\n key={`container-${index}`}\n style={[\n // @ts-ignore Web uses CSS calc strings for responsive layouts, while ViewStyle expects numbers\n getTileWidth(columnsPerRow) as ViewStyle,\n !isLastInRow && { marginRight: GRID_GAP },\n ]}\n >\n <TileContainer tiles={currentTiles} />\n </View>\n );\n currentTiles = [];\n }\n });\n\n return tileContainers;\n }, [gridTiles, columnsPerRow, getTileWidth]);\n\n return (\n <View>\n <SectionHeader title={section.title} description={section.description} />\n <View style={styles.grid}>{renderTileContainers()}</View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n grid: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n width: '100%',\n },\n});\n\nexport default Grid;\n","/* istanbul ignore file */\nimport * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Size, Variant } from '../../../types/theme';\nimport { Icon, ProgressBar } from '../../atoms';\n\nexport type ProgressIndicatorProps = {\n currentPoints: number;\n maxPoints: number;\n variant?: Variant;\n height?: Size;\n attained?: boolean;\n};\n\nexport const ProgressIndicator = ({\n currentPoints,\n maxPoints,\n variant = 'primary',\n height = 'sm',\n attained = false,\n}: ProgressIndicatorProps): JSX.Element => {\n const { theme } = useWllSdk();\n const percentage = attained ? 100 : (currentPoints / maxPoints) * 100;\n const isComplete = percentage >= 100 || attained;\n let progressVariant: Variant = variant;\n\n if (isComplete) {\n progressVariant = 'primary';\n } else if (percentage < 50) {\n progressVariant = 'accent';\n }\n\n return (\n <View style={styles.container}>\n <ProgressBar\n percentage={percentage}\n variant={progressVariant}\n height={height}\n />\n <View style={[styles.circleContainer]}>\n <View\n style={[\n styles.circle,\n {\n borderColor: theme.derivedSurface[20],\n backgroundColor: isComplete ? theme.primary : theme.surface,\n borderWidth: isComplete ? 0 : 4,\n },\n ]}\n >\n {isComplete && (\n <Icon name=\"Check\" size={12} color={theme.primaryText} />\n )}\n </View>\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n circleContainer: {\n position: 'absolute',\n right: 0,\n },\n circle: {\n width: 21,\n height: 21,\n borderRadius: 9999,\n backgroundColor: 'red',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n\nexport default ProgressIndicator;\n","import { StyleSheet } from 'react-native';\nimport { MAX_WIDTH } from '../../../constants';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the Section component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the Section component\n */\n\nexport const useSectionStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n return StyleSheet.create({\n section: {\n width: '100%',\n maxWidth: MAX_WIDTH,\n marginHorizontal: 'auto',\n marginBottom: useResponsiveValue(\n theme.sizes.xxxxxl,\n theme.sizes.xxxxl,\n isDesktop,\n isTablet\n ),\n },\n });\n};\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport { Text, View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { SectionType, TSection } from '../../../types/section';\nimport { commonStyles } from '../../../utils/styling';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { Skeleton } from '../../atoms';\nimport { Carousel, Grid } from '../../molecules';\nimport { useSectionStyles } from './styles';\n\ntype SectionContextType = {\n sectionData: TSection;\n};\n\ntype SectionProps = {\n section?: TSection;\n sectionId?: string;\n};\n\n/**\n * SectionContext provides the current section data to child components.\n */\n\nexport const SectionContext = createContext<SectionContextType | undefined>(\n undefined\n);\n\n/**\n * Custom hook to access the SectionContext.\n *\n * @returns {SectionContextType} The section context value\n * @throws {Error} If used outside of a SectionProvider\n */\n\nexport const useSectionContext = (): SectionContextType => {\n const context = useContext(SectionContext);\n if (!context) {\n throw new Error('useSectionContext must be used within a SectionProvider');\n }\n return context;\n};\n\n/**\n * Custom hook to fetch section data.\n *\n * @param {TSection} [section] - The section data if provided directly\n * @param {string} [sectionId] - The ID of the section to fetch\n * @returns {Object} Object containing section data, loading state, and any error\n */\n\nconst useSectionData = (\n section?: TSection,\n sectionId?: string\n): {\n sectionData: TSection | null;\n isLoading: boolean;\n error: string | null;\n} => {\n const sdk = useWllSdk();\n const [sectionData, setSectionData] = useState<TSection | null>(\n section || null\n );\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n if (section) {\n setSectionData(section);\n } else if (sectionId && sdk && sdk.getSectionByID) {\n const fetchSection = async () => {\n setIsLoading(true);\n try {\n const response = await sdk.getSectionByID(sectionId);\n if (response && response.status === 'success' && response.data) {\n setSectionData(response.data);\n } else {\n setError(\n (response && response.error) || 'Failed to fetch section data.'\n );\n }\n } catch (err) {\n setError(\n err instanceof Error ? err.message : 'Failed to fetch section data.'\n );\n } finally {\n setIsLoading(false);\n }\n };\n fetchSection();\n }\n }, [section, sectionId, sdk]);\n\n return { sectionData, isLoading, error };\n};\n\n/**\n * Component to display an empty state with a message.\n *\n * @param {Object} props - Component props\n * @param {string} props.message - Message to display in the empty state\n * @returns {JSX.Element} The empty state component\n */\n\nconst EmptyState = ({ message }: { message: string }): JSX.Element => (\n <View\n style={commonStyles.emptyContainer}\n accessibilityRole=\"text\"\n accessibilityLabel={`Empty state: ${message}`}\n >\n <Text>{message}</Text>\n </View>\n);\n\n/**\n * The Section component renders a section based on its type (e.g., Banner, Grid).\n *\n * @param {SectionProps} props - Component props\n * @param {TSection} [props.section] - The section data\n * @param {string} [props.sectionId] - The ID of the section to fetch\n * @returns {JSX.Element|null} The rendered section or null if invalid props\n */\n\nconst Section = ({ section, sectionId }: SectionProps): JSX.Element | null => {\n const styles = useSectionStyles();\n const { sectionData, isLoading, error } = useSectionData(section, sectionId);\n\n if (!section && !sectionId) {\n console.warn(\n 'Section component requires either section or sectionId prop.'\n );\n return null;\n }\n\n const renderSectionContent = (): JSX.Element | null => {\n if (isLoading) {\n return (\n <Skeleton aria-label=\"Loading section content\" numberOfSquares={4} />\n );\n }\n\n if (error || !sectionData) {\n return <EmptyState message={error || 'No section data available.'} />;\n }\n\n // Filter out inactive tiles before passing to child components\n const activeTiles =\n sectionData.tiles &&\n sortByPriority(sectionData.tiles.filter((tile) => tile && tile.active));\n\n if (!activeTiles || activeTiles.length === 0) {\n return <EmptyState message=\"No active tiles available.\" />;\n }\n\n const sectionWithActiveTiles = { ...sectionData, tiles: activeTiles };\n\n if (!sectionData.type) {\n console.warn('Section is missing a type');\n return <EmptyState message=\"Invalid section configuration.\" />;\n }\n\n switch (sectionData.type) {\n case SectionType.Banner:\n return <Carousel section={sectionWithActiveTiles} />;\n case SectionType.Grid:\n return <Grid section={sectionWithActiveTiles} />;\n default:\n console.warn(`Unknown section type: ${sectionData.type}`);\n return <EmptyState message=\"Unknown section type.\" />;\n }\n };\n\n return sectionData ? (\n <SectionContext.Provider value={{ sectionData }}>\n <View\n style={styles.section}\n accessible\n accessibilityLabel={`Section: ${sectionData.title || 'Untitled section'}`}\n accessibilityHint={sectionData.description || undefined}\n >\n {renderSectionContent()}\n </View>\n </SectionContext.Provider>\n ) : null;\n};\n\nexport default Section;\n","import React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { TGroup } from '../../../types/group';\nimport { commonStyles } from '../../../utils/styling';\nimport { sortByPriority } from '../../../utils/transforms';\nimport { Skeleton, Text } from '../../atoms';\nimport Section from '../Section';\n\ntype GroupProps = {\n id: string;\n};\n\ntype GroupContextType = {\n groupData: TGroup;\n};\n\ntype GroupEmptyStateProps = {\n message: string;\n};\n\n/**\n * Context for providing group data to child components\n */\nexport const GroupContext = createContext<GroupContextType | undefined>(\n undefined\n);\n\n/**\n * Custom hook to access the GroupContext\n *\n * @returns {GroupContextType} The group context data\n * @throws {Error} If used outside of a GroupProvider\n */\nexport const useGroupContext = (): GroupContextType => {\n const context = useContext(GroupContext);\n if (!context) {\n throw new Error('useGroupContext must be used within a GroupProvider');\n }\n return context;\n};\n\n/**\n * Custom hook to fetch and manage group data\n *\n * @param {string} id - The ID of the group to fetch\n * @returns {Object} Object containing group data, loading state, and any error\n */\n\nconst useGroupData = (id: string) => {\n const sdk = useWllSdk();\n const [groupData, setGroupData] = useState<TGroup | null>(null);\n const [error, setError] = useState<string | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n const fetchGroup = useCallback(async () => {\n if (!id || !sdk || !sdk.getGroupByID) {\n setError('Unable to fetch group data: invalid configuration');\n setIsLoading(false);\n return;\n }\n\n setIsLoading(true);\n setError(null);\n try {\n const response = await sdk.getGroupByID(id);\n if (response && response.status === 'success' && response.data) {\n setGroupData(response.data);\n } else {\n setError((response && response.error) || 'Failed to fetch group data.');\n }\n } catch (err) {\n setError('Failed to fetch group data. Please try again later.');\n console.error('Error fetching group:', err);\n } finally {\n setIsLoading(false);\n }\n }, [id, sdk]);\n\n useEffect(() => {\n fetchGroup();\n }, [fetchGroup]);\n\n return { groupData, isLoading, error };\n};\n\n/**\n * Component to display an empty state with a message\n *\n * @param {GroupEmptyStateProps} props - Component props\n * @param {string} props.message - Message to display\n * @returns {JSX.Element} The empty state component\n */\n\nexport const GroupEmptyState = ({\n message,\n}: GroupEmptyStateProps): JSX.Element => (\n <View\n style={commonStyles.emptyContainer}\n accessible\n accessibilityLabel={`Empty state: ${message}`}\n >\n <Text variant=\"body\">{message}</Text>\n </View>\n);\n\n/**\n * Component to render all sections in a group\n *\n * @returns {JSX.Element} The sections component\n */\n\nexport const GroupSections = (): JSX.Element => {\n const { groupData } = useGroupContext();\n\n if (!groupData || !groupData.sections || groupData.sections.length === 0) {\n return <GroupEmptyState message=\"This group doesn't have any sections\" />;\n }\n\n // Filter out inactive sections and null/undefined values before sorting\n const activeSections = groupData.sections.filter(\n (section) => section && section.active\n );\n\n if (activeSections.length === 0) {\n return (\n <GroupEmptyState message=\"This group doesn't have any active sections\" />\n );\n }\n\n const sortedSections = sortByPriority(activeSections);\n\n return (\n <View\n accessible\n accessibilityLabel={`Group: ${groupData.name || 'Unnamed group'}`}\n >\n {sortedSections.map((section) => (\n <Section key={section.id} section={section} />\n ))}\n </View>\n );\n};\n\n/**\n * A page-level component that represents a Group view in the application.\n *\n * This component serves as a container page that manages the fetching and display\n * of a group's data and its associated sections. It handles various states including\n * loading, errors, and empty states, providing a complete page experience for\n * viewing group content.\n *\n * @param {GroupProps} props - Component props\n * @param {string} props.id - The unique identifier of the group to fetch and display\n * @returns {JSX.Element|null} The rendered group or null if invalid ID\n */\n\nconst Group = ({ id }: GroupProps): JSX.Element | null => {\n if (!id) {\n console.warn('Group component requires id prop');\n return null;\n }\n\n const { groupData, isLoading, error } = useGroupData(id);\n\n if (isLoading) {\n return (\n <View\n style={commonStyles.emptyContainer}\n accessible\n accessibilityLabel=\"Loading group data\"\n >\n <Skeleton />\n </View>\n );\n }\n\n if (error || !groupData) {\n return <GroupEmptyState message={error || 'No group data available'} />;\n }\n\n return (\n <GroupContext.Provider value={{ groupData }}>\n <View data-testid=\"group-container\">\n <GroupSections />\n </View>\n </GroupContext.Provider>\n );\n};\n\nexport default Group;\n","/**\n * Cleans up a number by removing any whitespace and ensuring it's a valid number\n * @param value The number to clean up\n * @returns A cleaned up number as a number\n */\nconst cleanNumber = (value: number): number => {\n return Number(\n Number(value.toString().trim().replace(/\\s+/g, '')).toFixed(2)\n );\n};\n\n/**\n * Applies a multiplier to a base value. Handles string multipliers by converting them to numbers.\n * If the multiplier is invalid (NaN, null, undefined), defaults to 1.\n *\n * @param baseValue The base value to multiply\n * @param pointsMultiplier Optional multiplier value (defaults to 1)\n * @returns The calculated points value\n */\nexport const applyMultiplier = (\n baseValue: number,\n pointsMultiplier?: string | number | null\n): number => {\n if (typeof baseValue !== 'number' || isNaN(baseValue)) {\n return 0;\n }\n const multiplier = Number(pointsMultiplier ?? 1);\n const result = baseValue * (isNaN(multiplier) ? 1 : multiplier);\n return cleanNumber(result);\n};\n\n/**\n * Formats a points label by combining the label, points value, and optional prefix/suffix.\n * Only includes non-empty values in the final string.\n * Returns empty string if points is 0.\n *\n * @param label The main label text (e.g., \"Reward points:\"). Defaults to \"Reward points:\"\n * @param points The points value to display. Defaults to 0\n * @param prefix Optional prefix to display before the points value\n * @param suffix Optional suffix to display after the points value\n * @returns A formatted string containing only the non-empty parts joined together, or empty string if points is 0\n */\nexport const getPointsLabel = (\n label: string | undefined = 'Reward points:',\n points: number = 0,\n prefix?: string | null,\n suffix?: string | null\n) => {\n if (typeof points !== 'number' || isNaN(points) || points === 0) {\n return '';\n }\n return [label, prefix, points, suffix]\n .filter((item) => item !== null && item !== undefined && item !== '')\n .join(' ');\n};\n","import { ImageProps, ViewStyle } from 'react-native';\n\nexport type ImagePropsNoSource = Omit<ImageProps, 'source'>;\n\nexport type FlexDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';\n\nexport type Justify =\n | 'start'\n | 'end'\n | 'center'\n | 'between'\n | 'around'\n | 'evenly';\n\nexport type Align = 'start' | 'end' | 'center' | 'stretch' | 'baseline';\n\nexport type LayoutProps = {\n children: React.ReactNode;\n justify?: Justify;\n align?: Align;\n direction?: FlexDirection;\n style?: ViewStyle;\n};\n\nexport const justifyMap: Record<Justify, ViewStyle['justifyContent']> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n} as const;\n\nexport const alignMap: Record<Align, ViewStyle['alignItems']> = {\n start: 'flex-start',\n end: 'flex-end',\n center: 'center',\n stretch: 'stretch',\n baseline: 'baseline',\n} as const;\n","import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { Align, alignMap, Justify, justifyMap } from '../../../types/common';\n\ntype ColumnProps = {\n children: React.ReactNode;\n justify?: Justify;\n align?: Align;\n reverse?: boolean;\n flex?: number;\n style?: ViewProps['style'];\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A primitive Column component that extends Layout with vertical direction.\n * Provides a cleaner API for creating vertically aligned layouts.\n * @param reverse - When true, reverses the direction of the column (column-reverse)\n * @param justify - The justify content of the column\n * @param align - The align items of the column\n * @param flex - Optional flex number to control the column's flex behavior\n * @param style - Additional styles to apply to the column\n */\nexport const Column = ({\n children,\n justify = 'start',\n align = 'start',\n reverse = false,\n flex,\n style,\n ...rest\n}: ColumnProps): JSX.Element => {\n const styles = StyleSheet.create({\n container: {\n justifyContent: justifyMap[justify],\n alignItems: alignMap[align],\n flexDirection: reverse ? 'column-reverse' : 'column',\n ...(flex !== undefined && { flex }),\n },\n });\n return (\n <View style={[styles.container, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { View, ViewProps, ViewStyle } from 'react-native';\n\n/**\n * Props for the FullFlex component.\n *\n * @param children - The child components to render inside the flex container.\n * @param style - Optional custom styles to apply to the container.\n */\ntype FullFlexProps = {\n children: React.ReactNode;\n style?: ViewStyle;\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A FullFlex component that provides a flexible container with `flex: 1`.\n *\n * This component is commonly used to create a full-flex container that expands\n * to fill available space in a layout.\n */\nexport const FullFlex = ({\n children,\n style,\n ...rest\n}: FullFlexProps): JSX.Element => {\n return (\n <View style={[{ flex: 1 }, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport {\n Align,\n alignMap,\n FlexDirection,\n Justify,\n justifyMap,\n} from '../../../types/common';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\ntype LayoutProps = {\n children: React.ReactNode;\n direction?: FlexDirection;\n justify?: Justify;\n align?: Align;\n style?: ViewProps['style'];\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A primitive Layout component that provides flexible layout options.\n * @param direction - The direction of the layout (column or row)\n * @param justify - The justify content of the layout\n * @param align - The align items of the layout\n * @param style - Additional styles to apply to the layout\n * @param children - The child components to render inside the layout\n * @returns The rendered Layout component with special paddings\n */\nexport const Layout = ({\n children,\n direction = 'column',\n justify = 'start',\n align = 'start',\n style = {},\n ...rest\n}: LayoutProps): JSX.Element => {\n const { theme } = useWllSdk();\n const { isDesktop, isTablet } = useResponsive();\n const dynamicStyles = StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n paddingBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n justifyContent: justifyMap[justify],\n alignItems: alignMap[align],\n flexDirection: direction,\n },\n });\n return (\n <View style={[dynamicStyles.container, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import * as React from 'react';\nimport { StyleSheet, View, ViewProps } from 'react-native';\nimport { Align, alignMap, Justify, justifyMap } from '../../../types/common';\n\ntype RowProps = {\n children: React.ReactNode;\n justify?: Justify;\n align?: Align;\n reverse?: boolean;\n flex?: number;\n style?: ViewProps['style'];\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A primitive Row component that extends Layout with horizontal direction.\n * Provides a cleaner API for creating horizontally aligned layouts.\n * @param reverse - When true, reverses the direction of the row (row-reverse)\n * @param justify - The justify content of the row\n * @param align - The align items of the row\n * @param flex - Optional flex number to control the row's flex behavior\n * @param style - Additional styles to apply to the row\n */\nexport const Row = ({\n children,\n justify = 'start',\n align = 'center',\n reverse = false,\n flex,\n style,\n ...rest\n}: RowProps): JSX.Element => {\n const styles = StyleSheet.create({\n container: {\n justifyContent: justifyMap[justify],\n alignItems: alignMap[align],\n flexDirection: reverse ? 'row-reverse' : 'row',\n ...(flex !== undefined && { flex }),\n },\n });\n return (\n <View style={[styles.container, style]} {...rest}>\n {children}\n </View>\n );\n};\n","import React from 'react';\nimport { View, ViewProps, ViewStyle } from 'react-native';\n\n/**\n * Props for the Spacer component.\n *\n * @param style - Optional custom styles to apply to the spacer.\n */\ntype SpacerProps = {\n style?: ViewStyle;\n} & Omit<ViewProps, 'style'>;\n\n/**\n * A simple Spacer component that creates flexible space in layouts.\n *\n * The Spacer is commonly used in flexbox layouts to create adjustable empty space\n * between child elements, avoiding the need for explicit margins or padding.\n */\nexport const Spacer = ({ style, ...rest }: SpacerProps): JSX.Element => {\n return <View style={[{ flex: 1 }, style]} {...rest} />;\n};\n","import { ImageStyle, StyleSheet, TextStyle, ViewStyle } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the PointsTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the PointsTile component\n */\n\nexport const usePointsTileStyles = (\n isFullSize?: boolean\n): {\n container: ViewStyle;\n contentContainer: ViewStyle;\n suffix: TextStyle;\n pointsWithSuffix: ViewStyle;\n imageContainer: ViewStyle;\n image: ImageStyle;\n} => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n container: {\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n width: '100%',\n flexDirection: isFullSize ? 'row' : 'row-reverse',\n alignItems: isFullSize ? 'flex-start' : 'center',\n justifyContent: 'space-between',\n },\n contentContainer: {\n width: isFullSize ? '100%' : 'auto',\n },\n suffix: {\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n color: theme.primary,\n },\n pointsWithSuffix: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n imageContainer: {\n width: isFullSize ? '100%' : 57,\n height: isFullSize ? '50%' : 57,\n marginBottom: isFullSize\n ? useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n )\n : 0,\n backgroundColor: isFullSize\n ? theme.alphaDerivedPrimary[20]\n : theme.surface,\n justifyContent: 'center',\n alignItems: 'center',\n overflow: 'hidden',\n } as ViewStyle,\n image: {\n width: '100%',\n height: '100%',\n position: 'absolute',\n resizeMode: 'contain',\n } as ImageStyle,\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { PointsTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { applyMultiplier } from '../../../utils/pointsHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { Row } from '../../atoms/Primatives';\nimport { usePointsTileStyles } from './styles';\n\n/**\n * Renders formatted points value for a Points Tile.\n *\n * @returns JSX.Element or null if points are undefined or zero\n */\n\nexport const PointsTileFormattedPoints = (): JSX.Element | null => {\n const styles = usePointsTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const {\n pointsMultiplier = 1,\n pointsPrefix = '',\n pointsSuffix = 'pts',\n points = 0,\n } = tileContext.configuration as PointsTileConfig;\n\n if (points === undefined || points === 0) return null;\n\n const calculatedPoints = applyMultiplier(points, pointsMultiplier);\n const fullPointsText =\n `${pointsPrefix}${calculatedPoints} ${pointsSuffix}`.trim();\n\n return (\n <View\n testID=\"points-tile-points\"\n accessibilityRole=\"text\"\n accessibilityLabel={`Points value: ${fullPointsText}`}\n >\n <Row align=\"center\" justify=\"start\">\n {pointsPrefix ? (\n <Text variant=\"caption\" testID=\"points-tile-prefix\">\n {pointsPrefix}\n </Text>\n ) : null}\n <Text variant=\"caption\" testID=\"points-tile-value\">\n {calculatedPoints}\n </Text>\n {pointsSuffix ? (\n <Text\n variant=\"caption\"\n style={styles.suffix}\n testID=\"points-tile-suffix\"\n >\n {pointsSuffix}\n </Text>\n ) : null}\n </Row>\n </View>\n );\n};\n","import React from 'react';\nimport { Image, View } from 'react-native';\n\nimport { PointsTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { usePointsTileStyles } from './styles';\n\ntype PointsTileMediaProps = {\n isFullSize: boolean;\n};\n\n/**\n * Renders the media of a Points Tile.\n *\n * @returns JSX.Element or null if media is not present\n */\n\nexport const PointsTileMedia = ({\n isFullSize,\n}: PointsTileMediaProps): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl, title = 'Points' } =\n tileContext.configuration as PointsTileConfig;\n const styles = usePointsTileStyles(isFullSize);\n\n if (!artworkUrl) return null;\n\n return (\n <View\n testID=\"points-tile-media\"\n style={styles.imageContainer}\n accessibilityRole=\"image\"\n accessibilityLabel={`Points tile image for ${title}`}\n >\n <Image\n source={{ uri: artworkUrl }}\n style={styles.image}\n resizeMode={isFullSize ? 'cover' : 'contain'}\n />\n </View>\n );\n};\n","import React from 'react';\nimport { PointsTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the title of a Points Tile.\n *\n * @returns JSX.Element or null if no title is present\n */\n\nexport const PointsTileTitle = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { title } = tileContext.configuration as PointsTileConfig;\n\n if (!title) return null;\n\n return (\n <Text\n variant=\"eyebrow\"\n testID=\"points-tile-title\"\n accessibilityRole=\"header\"\n accessibilityLabel={title}\n >\n {title}\n </Text>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { PointsTileConfig, Tile } from '../../../types/tile';\nimport { BaseTile, Column } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { PointsTileFormattedPoints } from './points-tile-formatted-points';\nimport { PointsTileMedia } from './points-tile-media';\nimport { PointsTileTitle } from './points-tile-title';\nimport { usePointsTileStyles } from './styles';\n\ntype PointsTileProps = {\n tile: Tile;\n};\n\n/**\n * The PointsTile component renders a tile with media, title, and formatted points.\n *\n * @param props - Component props\n * @returns JSX.Element or null if tile is inactive or missing required props\n */\n\nconst PointsTileRoot = ({ tile }: PointsTileProps): JSX.Element | null => {\n if (!tile || !tile.active || !tile.configuration) return null;\n\n const config = tile.configuration as PointsTileConfig;\n if (!config) return null;\n\n const { isFullSize } = useTileSize(tile);\n const styles = usePointsTileStyles(isFullSize);\n\n return (\n <BaseTile tile={tile}>\n {isFullSize && <PointsTile.Media isFullSize />}\n <View style={styles.container}>\n {!isFullSize && <PointsTile.Media isFullSize={false} />}\n <Column style={styles.contentContainer}>\n <PointsTile.Title />\n <PointsTile.Points />\n </Column>\n </View>\n </BaseTile>\n );\n};\n\n/**\n * The PointsTile component with subcomponents attached.\n */\n\nexport const PointsTile = Object.assign(PointsTileRoot, {\n Title: PointsTileTitle,\n Points: PointsTileFormattedPoints,\n Media: PointsTileMedia,\n});\n\nexport default withTileFetching(PointsTile);\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the RewardCategory component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the RewardCategory component\n */\n\nexport const useRewardCategoryTileStyles = (): ReturnType<\n typeof StyleSheet.create\n> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n header: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n zIndex: 10,\n height: 35,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.primary,\n },\n headerText: {\n fontSize: useResponsiveValue(\n theme.sizes.lg,\n theme.sizes.sm,\n isDesktop,\n isTablet\n ),\n paddingHorizontal: useResponsiveValue(\n theme.sizes.xxxxl,\n 20,\n isDesktop,\n isTablet\n ),\n color: theme.primaryText,\n },\n background: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n },\n });\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { RewardCategoryTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardCategoryTileStyles } from './styles';\n\n/**\n * Renders the header for a Reward Category Tile.\n *\n * @returns JSX.Element or null if showName is false or name is not present\n */\n\nexport const RewardCategoryHeader = (): JSX.Element | null => {\n const styles = useRewardCategoryTileStyles();\n const { theme } = useWllSdk();\n\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { showName = true, name = '' } =\n tileContext.configuration as RewardCategoryTileConfig;\n\n if (!showName || !name) return null;\n\n return (\n <View\n style={[styles.header, { backgroundColor: theme.primary }]}\n testID=\"reward-category-header\"\n accessibilityRole=\"header\"\n accessibilityLabel={`Reward category: ${name}`}\n >\n <Text\n style={[styles.headerText, { color: theme.primaryText }]}\n ellipsizeMode=\"tail\"\n numberOfLines={1}\n >\n {name}\n </Text>\n </View>\n );\n};\n","import React from 'react';\nimport { RewardCategoryTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardCategoryTileStyles } from './styles';\n\n/**\n * Renders the background media for a Reward Category Tile.\n *\n * @returns JSX.Element or null if no artwork URL is present\n */\n\nexport const RewardCategoryMedia = (): JSX.Element | null => {\n const styles = useRewardCategoryTileStyles();\n\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { artworkUrl, name = 'Reward' } =\n tileContext.configuration as RewardCategoryTileConfig;\n\n if (!artworkUrl) return null;\n\n return (\n <ProgressiveImage\n testID=\"reward-category-media\"\n source={{ uri: artworkUrl }}\n style={styles.background}\n alt={`Reward category image for ${name}`}\n accessibilityRole=\"image\"\n />\n );\n};\n","import React from 'react';\nimport { Tile } from '../../../types/tile';\nimport { BaseTile } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\nimport { RewardCategoryHeader } from './reward-category-header';\nimport { RewardCategoryMedia } from './reward-category-media';\n\ntype RewardCategoryTileProps = {\n tile: Tile;\n};\n\n/**\n * The RewardCategoryTile component renders a tile with a header and media.\n *\n * @param {RewardCategoryTileProps} props - The component props\n * @param {Tile} props.tile - The tile data to render\n * @returns {JSX.Element|null} Rendered component or null if tile is inactive or missing configuration\n */\n\nconst RewardCategoryTileRoot = ({\n tile,\n}: RewardCategoryTileProps): JSX.Element | null => {\n if (!tile || !tile.active || !tile.configuration) return null;\n\n return (\n <BaseTile tile={tile}>\n <RewardCategoryTile.Header />\n <RewardCategoryTile.Media />\n </BaseTile>\n );\n};\n\n/**\n * The RewardCategoryTile component with subcomponents attached.\n */\nexport const RewardCategoryTile = Object.assign(RewardCategoryTileRoot, {\n Header: RewardCategoryHeader,\n Media: RewardCategoryMedia,\n});\n\nexport default withTileFetching(RewardCategoryTile);\n","import React from 'react';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { Icon } from '../../atoms';\n\n/**\n * Renders a chevron icon for a Reward Tile.\n *\n * @returns JSX.Element\n */\n\nexport const RewardTileChevron = (): JSX.Element => {\n const { theme } = useWllSdk();\n\n return (\n <Icon\n name=\"ChevronRight\"\n color={theme?.derivedSurfaceText?.[20] || '#000000'}\n accessibilityRole=\"image\"\n accessibilityLabel=\"View reward details\"\n />\n );\n};\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\n/**\n * Custom hook that returns the styles for the RewardTile component.\n * Applies responsive styling based on the current device.\n *\n * @returns StyleSheet styles for the RewardTile component\n */\n\nexport const useRewardTileStyles = (): ReturnType<typeof StyleSheet.create> => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n\n return StyleSheet.create({\n imageContainer: {\n width: '100%',\n marginBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n image: {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n },\n content: {\n paddingHorizontal: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n flex: 1,\n },\n footer: {\n marginTop: 8,\n },\n pointsContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n suffix: {\n color: theme.primary,\n fontSize: useResponsiveValue(\n theme.sizes.xl,\n theme.sizes.md,\n isDesktop,\n isTablet\n ),\n },\n header: {\n width: '100%',\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n },\n });\n};\n","import React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { ProgressiveImage } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardTileStyles } from './styles';\n\ntype RewardTileMediaProps = {\n isArtworkOnly: boolean;\n};\n\n// We are using percentage values for flexBasis, which is valid in\n// React Native but TypeScript expects a number.\n\ntype ResponsiveViewStyle = StyleProp<ViewStyle> & {\n flexBasis?: string | number;\n};\n\n/**\n * Renders the media for a Reward Tile.\n *\n * @param props {RewardTileMediaProps} - Component props\n * @param props.isArtworkOnly {boolean} - Whether the media should be rendered as an artwork only component\n * @returns JSX.Element or null if no artwork URL is present or artwork should not be shown\n */\n\nexport const RewardTileMedia = ({\n isArtworkOnly,\n}: RewardTileMediaProps): JSX.Element | null => {\n const styles = useRewardTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const {\n artworkUrl,\n showArtwork = true,\n name = 'Reward',\n } = tileContext.configuration as RewardTileConfig;\n\n if (!artworkUrl || !showArtwork) return null;\n\n const containerStyle: ResponsiveViewStyle = {\n flexBasis: isArtworkOnly ? '100%' : '50%',\n };\n\n return (\n <View\n style={[styles.imageContainer, containerStyle]}\n testID=\"reward-tile-media\"\n accessibilityRole=\"image\"\n accessibilityLabel={`Reward image for ${name}`}\n >\n <ProgressiveImage\n source={{ uri: artworkUrl }}\n style={styles.image}\n alt={`Reward image for ${name}`}\n />\n </View>\n );\n};\n","import React from 'react';\nimport { View } from 'react-native';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { applyMultiplier, getPointsLabel } from '../../../utils/pointsHelpers';\nimport { Row, Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\nimport { useRewardTileStyles } from './styles';\n\n/**\n * Renders the points value of a Reward Tile.\n *\n * @returns JSX.Element or null if price should not be shown or is zero/undefined\n */\n\nexport const RewardTilePoints = (): JSX.Element | null => {\n const styles = useRewardTileStyles();\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const {\n showPrice = true,\n price = 0,\n pointsMultiplier = 1,\n pointsPrefix = '',\n pointsSuffix = 'pts',\n } = tileContext.configuration as RewardTileConfig;\n\n if (!showPrice || price === undefined || price === 0) return null;\n\n const calculatedPoints = applyMultiplier(price, pointsMultiplier);\n\n const accessibilityLabel = getPointsLabel(\n 'Reward points:',\n calculatedPoints,\n pointsPrefix,\n pointsSuffix\n );\n\n return (\n <View\n testID=\"reward-tile-points\"\n accessibilityRole=\"text\"\n accessibilityLabel={accessibilityLabel}\n >\n <Row align=\"center\" justify=\"start\" style={{ marginTop: 8 }}>\n {pointsPrefix ? <Text variant=\"caption\">{pointsPrefix}</Text> : null}\n <Text variant=\"caption\" testID=\"reward-tile-points-value\">\n {calculatedPoints}\n </Text>\n {pointsSuffix ? (\n <Text variant=\"caption\" style={styles.suffix}>\n {pointsSuffix}\n </Text>\n ) : null}\n </Row>\n </View>\n );\n};\n","import React from 'react';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the summary of a Reward Tile.\n *\n * @returns JSX.Element or null if no summary is present\n */\n\nexport const RewardTileSummary = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { summary } = tileContext.configuration as RewardTileConfig;\n\n if (!summary) return null;\n\n return (\n <Text\n variant=\"body\"\n accessibilityRole=\"text\"\n accessibilityLabel={summary}\n testID=\"reward-tile-summary\"\n >\n {summary}\n </Text>\n );\n};\n","import React from 'react';\nimport { RewardTileConfig } from '../../../types/tile';\nimport { isContextValid } from '../../../utils/contextHelpers';\nimport { Text } from '../../atoms';\nimport { useTileContext } from '../../atoms/BaseTile';\n\n/**\n * Renders the title of a Reward Tile.\n *\n * @returns JSX.Element or null if no name is present\n */\n\nexport const RewardTileTitle = (): JSX.Element | null => {\n const tileContext = useTileContext();\n\n if (!isContextValid(tileContext)) return null;\n\n const { name } = tileContext.configuration as RewardTileConfig;\n\n if (!name) return null;\n\n return (\n <Text\n variant=\"title\"\n ellipsizeMode=\"tail\"\n numberOfLines={1}\n accessibilityRole=\"header\"\n accessibilityLabel={`Reward title: ${name}`}\n testID=\"reward-tile-title\"\n >\n {name}\n </Text>\n );\n};\n","import React from 'react';\nimport { RewardTileConfig, Tile, TileHeight } from '../../../types/tile';\nimport { BaseTile, Layout, Row } from '../../atoms';\nimport { withTileFetching } from '../../hoc/withTileFetching';\n\nimport { RewardTileChevron } from './reward-tile-chevron';\nimport { RewardTileMedia } from './reward-tile-media';\nimport { RewardTilePoints } from './reward-tile-points';\nimport { RewardTileSummary } from './reward-tile-summary';\nimport { RewardTileTitle } from './reward-tile-title';\nimport { useRewardTileStyles } from './styles';\n\ntype RewardTileProps = {\n tile: Tile;\n};\n\n/**\n * Helper function to determine if the tile should display artwork only.\n *\n * @param configuration - The configuration object of the tile.\n * @returns `true` if the tile should display artwork only.\n */\n\nconst isArtworkOnly = (configuration?: RewardTileConfig): boolean => {\n if (!configuration) return false;\n return !configuration.showDetails;\n};\n\n/**\n * The RewardTile component renders a tile with media, title, summary, points, and a chevron.\n *\n * @param {RewardTileProps} props - Component props\n * @param {Tile} props.tile - The tile data to render\n * @returns JSX.Element or null if tile is inactive or not a full-height tile\n */\n\nconst RewardTileRoot = ({ tile }: RewardTileProps): JSX.Element | null => {\n const styles = useRewardTileStyles();\n\n if (\n !tile ||\n tile.tileHeight !== TileHeight.Full ||\n !tile.active ||\n !tile.configuration\n )\n return null;\n\n const configuration = tile.configuration as RewardTileConfig;\n\n return (\n <BaseTile tile={tile}>\n <RewardTile.Media isArtworkOnly={isArtworkOnly(configuration)} />\n <Layout>\n <Row justify=\"between\" align=\"center\" style={styles.header}>\n <RewardTile.Title />\n <RewardTile.Chevron />\n </Row>\n <RewardTile.Summary />\n <RewardTile.Points />\n </Layout>\n </BaseTile>\n );\n};\n\n/**\n * The RewardTile component with subcomponents attached.\n */\n\nexport const RewardTile = Object.assign(RewardTileRoot, {\n Media: RewardTileMedia,\n Title: RewardTileTitle,\n Summary: RewardTileSummary,\n Points: RewardTilePoints,\n Chevron: RewardTileChevron,\n});\n\nexport default withTileFetching(RewardTile);\n","import { StyleSheet } from 'react-native';\nimport { useWllSdk } from '../../../context/WllSdkContext';\nimport { useResponsive } from '../../../hooks/useResponsive';\nimport { useResponsiveValue } from '../../../utils/responsiveHelper';\n\nexport const useTierTileStyles = () => {\n const { isDesktop, isTablet } = useResponsive();\n const { theme } = useWllSdk();\n return StyleSheet.create({\n header: {\n flexBasis: '50%',\n width: '100%',\n overflow: 'hidden',\n marginBottom: useResponsiveValue(\n theme.sizes.sm,\n theme.sizes.xxs,\n isDesktop,\n isTablet\n ),\n },\n title: {\n marginBottom: useResponsiveValue(\n theme.sizes.xxs,\n theme.sizes.xxxs,\n isDesktop,\n isTablet\n ),\n },\n smallImageContainer: {\n width: 48,\n height: 48,\n position: 'relative',\n },\n smallImage: {\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n image: {\n width: '100%',\n height: '100%',\n resizeMode: 'cover',\n },\n name: {\n marginBottom: 0,\n numberOfLines: 1,\n ellipsizeMode: 'tail',\n },\n });\n};\n","import * as React from 'react';\nimport { Image, View } from 'react-native';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { TierTileConfig, Tile } from '../../../types/tile';\nimport {\n BaseTile,\n FullFlex,\n Layout,\n ProgressiveImage,\n Text,\n} from '../../atoms';\nimport { useTierTileStyles } from './styles';\n\ntype TierTileProps = {\n tile: Tile;\n};\n\ntype TierTileComponent = React.FC<TierTileProps> & {\n Full: typeof TierTileFull;\n Half: typeof TierTileHalf;\n Empty: typeof TierTileEmpty;\n};\n\nconst TierTileInner: React.FC<TierTileProps> = ({ tile }) => {\n if (!tile) return null;\n\n const { configuration } = tile as { configuration: TierTileConfig };\n const { tier } = configuration;\n const { isHalfSize } = useTileSize(tile);\n\n if (!tier || Array.isArray(tier)) {\n return <TierTile.Empty tile={tile} />;\n }\n\n return isHalfSize ? (\n <TierTile.Half tile={tile} />\n ) : (\n <TierTile.Full tile={tile} />\n );\n};\n\nconst TierTileFull: React.FC<TierTileProps> = ({ tile }) => {\n const styles = useTierTileStyles();\n\n const { configuration } = tile as { configuration: TierTileConfig };\n const { tier, title } = configuration;\n const { artworkUrl, name, description } = tier ?? {};\n\n return (\n <BaseTile tile={tile}>\n {artworkUrl && (\n <View style={styles.header}>\n <ProgressiveImage\n source={{ uri: artworkUrl }}\n style={styles.image}\n resizeMode=\"center\"\n />\n </View>\n )}\n <Layout align=\"stretch\" justify={artworkUrl ? 'start' : 'center'}>\n <View>\n {title && (\n <Text variant=\"eyebrow\" style={styles.title}>\n {title}\n </Text>\n )}\n {name && (\n <Text variant=\"title\" style={styles.title}>\n {name}\n </Text>\n )}\n {description && <Text variant=\"body\">{description}</Text>}\n </View>\n </Layout>\n </BaseTile>\n );\n};\n\nconst TierTileHalf: React.FC<TierTileProps> = ({ tile }) => {\n const styles = useTierTileStyles();\n\n const { configuration } = tile as { configuration: TierTileConfig };\n const { tier, title } = configuration as TierTileConfig;\n const { artworkUrl, name } = tier || {};\n\n return (\n <BaseTile tile={tile}>\n <Layout\n align=\"center\"\n justify=\"between\"\n direction=\"row\"\n style={{ paddingTop: 16 }}\n >\n <View style={{ flex: 1, flexShrink: 1 }}>\n {title && (\n <Text variant=\"eyebrow\" style={styles.title}>\n {title}\n </Text>\n )}\n {name && (\n <Text variant=\"title\" style={styles.name} numberOfLines={2}>\n {name}\n </Text>\n )}\n </View>\n {artworkUrl && (\n <View style={styles.smallImageContainer}>\n <Image\n source={{ uri: artworkUrl }}\n style={styles.smallImage}\n resizeMode=\"contain\"\n />\n </View>\n )}\n </Layout>\n </BaseTile>\n );\n};\n\n// Empty state tile\nconst TierTileEmpty: React.FC<TierTileProps> = ({ tile }) => {\n const styles = useTierTileStyles();\n const { configuration } = tile as { configuration: TierTileConfig };\n const { title, emptyDescription, emptyArtworkUrl } = configuration;\n const { isHalfSize } = useTileSize(tile);\n\n if (isHalfSize) {\n return (\n <BaseTile tile={tile}>\n <Layout\n align=\"center\"\n justify=\"between\"\n direction=\"row\"\n style={{ paddingTop: 16 }}\n >\n <FullFlex>\n {title && (\n <Text variant=\"title\" style={styles.title}>\n {title}\n </Text>\n )}\n {emptyDescription && <Text variant=\"body\">{emptyDescription}</Text>}\n </FullFlex>\n {emptyArtworkUrl && (\n <View style={styles.smallImageContainer}>\n <Image\n source={{ uri: emptyArtworkUrl }}\n style={styles.smallImage}\n resizeMode=\"contain\"\n />\n </View>\n )}\n </Layout>\n </BaseTile>\n );\n }\n\n return (\n <BaseTile tile={tile}>\n {emptyArtworkUrl && (\n <View style={styles.header}>\n <ProgressiveImage\n source={{ uri: emptyArtworkUrl }}\n style={styles.image}\n resizeMode=\"center\"\n />\n </View>\n )}\n <Layout align=\"stretch\" justify=\"center\">\n <Layout>\n {title && (\n <Text variant=\"title\" style={styles.title}>\n {title}\n </Text>\n )}\n {emptyDescription && <Text variant=\"body\">{emptyDescription}</Text>}\n </Layout>\n </Layout>\n </BaseTile>\n );\n};\n\nexport const TierTile = TierTileInner as TierTileComponent;\n\nTierTile.Full = TierTileFull;\nTierTile.Half = TierTileHalf;\nTierTile.Empty = TierTileEmpty;\n\nexport default TierTile;\n","/* istanbul ignore file */\nimport React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { GRID_GAP } from '../../../constants/grid';\nimport { useTileSize } from '../../../hooks/useTileSize';\nimport { Tile, TileType } from '../../../types/tile';\nimport {\n BadgeTile,\n BannerTile,\n ContentTile,\n PointsTile,\n RewardCategoryTile,\n RewardTile,\n TierTileUpdated,\n} from '../../organisms';\n\ntype TileContainerProps = {\n tiles: Tile[];\n};\n\nconst TILE_COMPONENTS: Record<TileType, React.ComponentType<{ tile: Tile }>> = {\n [TileType.Content]: ContentTile,\n [TileType.Badge]: BadgeTile,\n [TileType.Tier]: TierTileUpdated,\n [TileType.Points]: PointsTile,\n [TileType.Reward]: RewardTile,\n [TileType.RewardCategory]: RewardCategoryTile,\n [TileType.Banner]: BannerTile,\n};\n\n/**\n * TileContainer component to render a list of tiles with proper layout and spacing.\n */\nconst TileContainer = ({ tiles }: TileContainerProps): JSX.Element => {\n return (\n <View style={styles.container} testID=\"tile-container\">\n {tiles.map((tile, index) => {\n const TileComponent = TILE_COMPONENTS[tile.type!];\n const { isHalfSize } = useTileSize(tile);\n\n return (\n <View\n key={tile.id}\n style={[\n styles.tileContainer,\n isHalfSize && styles.halfTileContainer,\n index > 0 && { marginTop: GRID_GAP },\n ]}\n >\n {TileComponent ? <TileComponent tile={tile} /> : null}\n </View>\n );\n })}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'column',\n flex: 1,\n aspectRatio: 1,\n },\n tileContainer: {\n flex: 1,\n aspectRatio: 1,\n },\n halfTileContainer: {\n flex: 0.5,\n aspectRatio: 1,\n },\n});\n\nexport default TileContainer;\n","export type Badge = {\n id: string;\n name: string;\n description: string;\n artworkUrl: string;\n createdAt: string;\n updatedAt: string;\n};\n\nexport class Reward {\n id?: string;\n createdAt?: string;\n updatedAt?: string;\n name?: string;\n pictureUrl?: string;\n description?: string;\n price?: number;\n value?: number;\n priority?: number;\n availability?: Availability;\n purchasable?: boolean;\n tier?: string;\n summary?: string;\n redemptionMessage?: string;\n visibilityCriteria?: string;\n}\n\nexport type RewardCategory = {\n name: string;\n priority: number;\n type: string;\n id: string;\n createdAt: string;\n updatedAt: string;\n description: string | null;\n metadata: any | null;\n pictureUrl: string;\n};\n\nexport type Availability = {\n start: string;\n end: string;\n};\n\ntype Effectivity = {\n start: string;\n end: string;\n};\n\nexport type TierType = {\n id: string;\n name: string;\n description?: string | null;\n artworkUrl?: string | null;\n priority: number;\n pointsRequirement?: number;\n calculation?: string;\n accumulationPeriod?: string;\n effectivity?: Effectivity;\n createdAt?: string;\n updatedAt?: string;\n earnedPoints?: number;\n attained?: boolean;\n};\n"],"names":["require$$0","React","jsxRuntimeModule","require$$1","useCallback","StyleSheet","Platform","useResponsive","Dimensions","useState","useEffect","createContext","useMemo","_jsx","useContext","Pressable","Text","LucideIcons","View","styles","ActivityIndicator","Animated","_a","useRef","_jsxs","RNText","CTALinkTarget","TierTileType","ProgressType","TileType","TileHeight","BadgeTileType","_Fragment","isArtworkOnly","SectionType","useWindowDimensions","ScrollView","BannerTile","Image","ContentTile","BadgeTile","TierTileUpdated","PointsTile","RewardTile","RewardCategoryTile"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|